Aller au contenu principal

SDK de la Navin Platform

Cette rubrique documente les quatre SDK et la ligne de commande qui appellent le Control Plane de la Navin Platform et le Navin Manager. Chaque SDK n'appelle que les routes documentées de l'API v1, renvoie des erreurs typées avec des messages en anglais et en français, reprend les échecs transitoires avec une clé d'idempotence, et valide les documents contre les mêmes contrats v1.

English version: README.md

SDK et CLI​

SDKPaquetInstallationEnvironnementGuideRéférence
Pythonenterprise-ai (import enterprise_ai)Harbor sdk/python, puis pip install de la wheelPython 3.10+SDK Pythonréférence
TypeScript@enterprise-ai/sdkHarbor sdk/typescript, puis npm install de l'archiveNode.js 18+, navigateurs, Deno, BunSDK TypeScriptréférence
Gomodule de sdks/go (paquet eai)Harbor sdk/go, puis une directive replace dans go.modGo 1.26+SDK Goréférence
Javaio.enterpriseai:enterprise-ai-java (starter Spring Boot enterprise-ai-spring)Harbor sdk/java, puis une dépendance Maven ou GradleJava 17+SDK Javaréférence
CLIcommande enterprise-ai (dans le paquet Python)Harbor sdk/python, puis pipx install de la wheelPython 3.10+guide de la CLIréférence de la CLI

Où les SDK sont hébergés​

Les paquets des SDK sont hébergés dans le registre Harbor de l'organisation, dans le projet sdk, sous forme d'artefacts OCI : sdk/python, sdk/typescript, sdk/go et sdk/java. Le tag d'un artefact est la version du SDK (par exemple 1.0.2). Rien n'est téléchargé depuis un registre public ni depuis un dépôt de sources.

Le registre Navinspire est registry.navinspire.ai. L'équipe plateforme fournit un compte robot qui a le droit de lecture (pull) sur le projet sdk. Si votre organisation réplique le projet sdk dans son propre Harbor, remplacez l'adresse par celle du miroir.

oras login registry.navinspire.ai
oras pull registry.navinspire.ai/sdk/python:1.0.2 -o sdk-python

Guides associés :

GuideContenu
SDK et CLI du Navin ManagerLe client du manager de chaque SDK et enterprise-ai manager : hôtes, clusters, services, HA, sauvegardes, restaurations, PRA.
Voix en temps réel@enterprise-ai/realtime et les clients vocaux en direct de Python et de Go.
Contrats v1Les contrats JSON Schema et leur validation, en ligne et hors ligne.

Les références générées listent chaque classe, méthode, paramètre, modèle et champ public de chaque SDK, en anglais et en français ; python3 tools/docs/gen_sdk_reference.py les écrit et --check signale une page périmée.

Comportement commun​

SujetRègle dans chaque SDK
URL de basehttps obligatoire, http seulement pour localhost, 127.0.0.1 et ::1 ; redirections jamais suivies
Authentificationclé API (X-API-Key) ou jeton OIDC (Authorization: Bearer) ; le tenant vient de l'identifiant
Erreursenveloppe {"error": {"code", "message", "message_i18n", "details", "request_id"}} traduite en erreurs typées
Reprisesdélai exponentiel avec aléa, Retry-After respecté ; les appels POST portent une Idempotency-Key
Paginationlimit et cursor, réponse {items, next_cursor}, avec un itérateur sur toutes les pages
Traçagetraceparent W3C sur chaque appel, X-Request-Id exposé sur les erreurs
Secretsclés API et jetons masqués dans les journaux et les représentations texte ; clés details d'allure secrète remplacées par ***

Matrice de choix​

UsageRecommandéPourquoi
Agents, RAG, évaluation, data science, notebooksPythonArborescence complète (boucle d'agent, sous-agents, évaluation, finops), client asynchrone
Applications web, portails, backends Node, edgeTypeScriptClient typé en camelCase, mode OIDC sûr pour le navigateur
Agents vocaux dans le navigateur ou une passerelle NodeTypeScript + @enterprise-ai/realtimeLiveKit et WebRTC avec repli WebSocket
Backends d'entreprise, Spring Boot, systèmes bancaires et d'assuranceJavaClient à builder, starter Spring Boot, réservations en try-with-resources
Gateways, proxys, workers média, agents d'infrastructureGoPaquets gatewaymw (middleware de quotas), worker, usage, realtime
CI/CD, GitOps, exploitation, vérifications rapidesCLIvalidate, test, deploy, finops, audit verify avec sortie json et yaml
Tout langage sans SDKHTTP + contratsOpenAPI sur /openapi.json, JSON Schemas dans contracts/v1

Adoption par un client de client​

Plateforme complète. Le client final reçoit un tenant (POST /v1/tenants par l'opérateur de la plateforme), des projets et des environnements, une fédération OIDC ou des clés API, puis utilise le SDK Python ou TypeScript pour ses agents et la CLI pour ses manifestes GitOps. Quotas, FinOps, audit et quality gates s'appliquent automatiquement à tout ce qui passe par le gateway.

Une seule brique. Chaque brique est accessible seule avec une clé API limitée à ses scopes :

  • FinOps seule : émettre des Usage Events (POST /v1/finops/usage, paquet Go usage) depuis toute pile IA existante et lire /v1/finops/summary.
  • Quotas seuls : envelopper un proxy LLM existant avec gatewaymw en Go (POST /v1/quotas/reserve, confirmation, libération).
  • STT ou vision seuls : POST /v1/media puis POST /v1/multimodal/stt ou POST /v1/multimodal/vision.
  • Audit seul : lire et exporter la chaîne de preuves (/v1/audit/events, /v1/audit/verify, /v1/audit/export).
  • Évaluation seule : enregistrer un endpoint fournisseur et appeler /v1/evaluations/runs et /v1/evaluations/gates/check depuis la CI.