HyperAIHyperAI

Command Palette

Search for a command to run...

OpenPCC : un cadre open-source pour une inférence IA privée et vérifiable

OpenPCC est un cadre open source conçu pour permettre des inférences d’intelligence artificielle (IA) avec une garantie de confidentialité absolue. Inspiré par le système Private Cloud Compute d’Apple, OpenPCC est entièrement open source, auditable et déployable sur vos propres infrastructures. Il permet d’exécuter des modèles d’IA ouverts ou personnalisés sans exposer les requêtes, les réponses ou les journaux d’activité, en assurant la confidentialité grâce à un flux chiffré, à l’attestation matérielle et à des requêtes anonymisées. Conçu pour devenir une norme transparente et gérée par la communauté dans le domaine de la confidentialité des données en IA, OpenPCC s’impose comme une solution fiable pour les utilisateurs soucieux de la protection de leurs données. Pour en savoir plus, le whitepaper est disponible à l’adresse : https://github.com/openpcc/openpcc/blob/main/whitepaper/openpcc.pdf Le dépôt OpenPCC Client contient le code d’un client Go conforme à OpenPCC, ainsi qu’une bibliothèque C servant de base aux clients Python et JavaScript. Il inclut également plusieurs services en mémoire permettant de tester et valider le fonctionnement du client. Pour une utilisation locale, un exemple est fourni dans cmd/test-client/main.go. Pour se connecter à un service de production, voici un extrait de code typique : ```go import ( "context" "fmt" "net/http" "os" "strings" "github.com/openpcc/openpcc" "github.com/openpcc/openpcc/inttest" "github.com/openpcc/openpcc/transparency" ) func makePCCRequest() error { ctx := context.Background() identityPolicy := transparency.IdentityPolicy{ OIDCSubjectRegex: "^https://github.com/confidentsecurity/T/.github/workflows.*", OIDCIssuerRegex: "https://token.actions.githubusercontent.com", } cfg := openpcc.DefaultConfig() cfg.APIURL = "https://app.confident.security" cfg.APIKey = "{Your API Key here}" cfg.TransparencyVerifier = transparency.DefaultVerifierConfig() cfg.TransparencyIdentityPolicy = &identityPolicy client, err := openpcc.NewFromConfig(ctx, cfg) if err != nil { return fmt.Errorf("failed to create openpcc client: %w", err) } // Format de requête d’inférence compatible avec l’API OpenAI body := `{"model":"qwen3:1.7b","prompt":"why is the sky blue?"}` req, err := http.NewRequest("POST", "http://confsec.invalid/v1/completions", strings.NewReader(body)) if err != nil { return err } // Ajout d’une balise pour acheminer la requête vers des nœuds exécutant le modèle spécifié req.Header.Add("X-Confsec-Node-Tags", "qwen3:1.7b") resp, err := client.RoundTrip(req) if err != nil { return err } defer resp.Body.Close() return nil } ``` En développement, les commandes sont exécutées via l’outil mage, disponible via go tool mage [cmd]. Pour une installation plus pratique, on peut l’installer directement avec go install github.com/magefile/mage@latest. L’outil mage affiche la liste des commandes disponibles (les définitions se trouvent dans les fichiers magefiles/*). Pour tester le client, exécutez mage runMemServices pour lancer tous les services en mémoire, puis mage runClient pour envoyer une requête de test à travers le système. Cette approche facilite le développement, le test et l’itération sur les fonctionnalités d’OpenPCC.

Liens associés