Aller au contenu principal

Fournisseurs

L'écran Fournisseurs permet de connecter des fournisseurs de modèles (cloud ou locaux) à votre tenant, de tester la connexion, de couper un fournisseur immédiatement et d'importer dans le registre les modèles qu'il sert. Chemin dans le portail : /llm/providers (Gestion des LLM > Fournisseurs). Il est utilisé par les administrateurs de la plateforme IA (tenant_admin, platform_admin, ai_platform_engineer) ; les autres lecteurs LLM voient le catalogue et l'état de chaque fournisseur. L'écran est construit dans portal/src/screens/llm.tsx (Providers, ProviderDrawer, DiscoveryPanel).

Ce que montre l'écran​

L'écran est un catalogue de cartes, pas une table. Les préréglages intégrés au portail sont fusionnés avec le catalogue lu par GET /v1/providers/catalog : OpenAI, Azure OpenAI, AWS Bedrock, Gemini, Google Vertex AI, Anthropic, Qwen (Alibaba), Z.AI, DeepSeek, MiniMax, Ollama, LM Studio, vLLM, OpenAI Codex, Github Copilot, Mistral, Groq, Hugging Face, Cohere, Together AI, Fireworks AI, OpenRouter, Azure AI Foundry, Compatible OpenAI personnalisé et Compatible Anthropic personnalisé, plus toute entrée supplémentaire du catalogue de l'API.

ÉlémentContenu
Champ Rechercher un fournisseurFiltre sur le libellé et l'identifiant du fournisseur.
Filtre HébergementTous les hébergements, Cloud ou Local.
Filtre StatutTous les statuts, Configuré, Non configuré ou Désactivé.
CompteurN fournisseur(s) affiché après les filtres.
Section Fournisseurs configurés (n)Fournisseurs connectés à ce tenant, les actifs d'abord. Aide : le menu ... permet de récupérer leurs modèles, de les désactiver ou de les déconnecter. Vide : « Aucun fournisseur configuré pour l'instant : choisissez-en un ci-dessous et configurez-le. »
Section Fournisseurs disponibles (n)Le reste du catalogue. Aide : configurez un fournisseur pour le connecter ; il passe alors en haut de la page.
CartePastille de deux lettres, libellé, URL de base (ou URL de base requise), badge d'état (Configuré, Non configuré, Non connecté, Désactivé), badge d'hébergement (Cloud ou Local), la mention Saisie manuelle uniquement quand le fournisseur n'a pas d'API de liste des modèles, et « Activez le fournisseur pour récupérer ses modèles. » quand il est désactivé.
PaginationUne pagination par section.

Quand le catalogue est illisible, un panneau d'erreur avec Réessayer s'affiche en haut et toutes les cartes sont listées comme disponibles avec l'état Non connecté.

Configurer ouvre un panneau latéral au nom du fournisseur (« Les champs viennent du catalogue des fournisseurs. Les secrets sont en écriture seule. ») :

  • Jeux d'identifiants acceptés quand le fournisseur accepte plusieurs combinaisons, et les modèles suggérés en badges ;
  • l'interrupteur Activé (coupe-circuit : « la désactivation arrête immédiatement tout appel à ce fournisseur »), seulement une fois le fournisseur configuré ;
  • le formulaire : Nom (a-z, 0-9, -), URL de base quand le catalogue n'a pas de champ d'adresse, puis les champs du fournisseur (par exemple region, access_key_id, secret_access_key, role_arn pour AWS Bedrock ; endpoint, api_version, deployment, api_key pour Azure OpenAI ; project, location, service_account_json pour Vertex AI). Les champs secrets sont en écriture seule ; en modification, « Laisser vide pour conserver la valeur stockée » ;
  • Enregistrer, puis Tester la connexion avec la réponse JSON du test.

Récupérer les modèles ouvre la boîte Modèles de <fournisseur> : modèles lus depuis l'API du fournisseur avec les identifiants enregistrés. Elle contient un champ de recherche, un filtre de catégorie, le résumé N modèle(s) trouvé(s), M déjà enregistré(s), Récupérer à nouveau, et une table avec les colonnes : case de sélection, Modèle du fournisseur (avec l'identifiant de registre proposé dessous), Nom, Contexte, Sortie max, Prix / 1M tokens (entrée / sortie), Catégorie (un sélecteur par ligne) et État (Enregistré ou Nouveau). Un modèle déjà enregistré ne peut pas être sélectionné. Pour un fournisseur sans API de liste, la boîte indique « Ce fournisseur n'expose pas de liste de modèles », donne la raison (Vertex AI ne liste que le catalogue des éditeurs ; un point d'accès Azure AI Foundry sert un seul modèle ; un compte d'abonnement n'a pas de liste publique) et propose Ajouter manuellement.

Actions​

Bouton ou actionCe qu'il faitAppel d'APIRôles
Configurer (carte)Ouvre le panneau de configuration du fournisseur.aucun (catalogue déjà chargé)tous ceux qui voient l'écran ; l'enregistrement demande un rôle d'administration
Enregistrer (panneau, nouveau fournisseur)Crée le fournisseur : les secrets vont dans credentials, les autres champs dans config. Notification Enregistré.POST /v1/providerstenant_admin, platform_admin, ai_platform_engineer
Enregistrer (panneau, fournisseur configuré)Met à jour la configuration ; un champ secret vide conserve la valeur stockée.PATCH /v1/providers/{pid}tenant_admin, platform_admin, ai_platform_engineer
Interrupteur Activé (panneau)Coupe-circuit : désactivé, il bloque tout appel au fournisseur ; activé, il le rétablit.POST /v1/providers/{pid}/disable ou POST /v1/providers/{pid}/enabledésactiver : les trois rôles d'administration et security_officer ; activer : les trois rôles d'administration
Tester la connexion (panneau)Teste la configuration enregistrée et affiche la réponse JSON. Grisé tant que la configuration n'est pas enregistrée.POST /v1/providers/{pid}/testtenant_admin, platform_admin, ai_platform_engineer
Récupérer les modèles (menu ..., fournisseur configuré)Ouvre la boîte des modèles et liste ceux que sert le fournisseur, avec les catégories du tenant.POST /v1/providers/{pid}/models/discover, GET /v1/llm/categoriestenant_admin, platform_admin, ai_platform_engineer
Désactiver (menu ..., fournisseur configuré)Demande une confirmation (enregistrée dans le journal d'audit), puis désactive le fournisseur.POST /v1/providers/{pid}/disablemenu affiché à tenant_admin, platform_admin, ai_platform_engineer
Activer (menu ..., fournisseur désactivé)Réactive le fournisseur.POST /v1/providers/{pid}/enabletenant_admin, platform_admin, ai_platform_engineer
Déconnecter (menu ...)Après confirmation, supprime la configuration et les identifiants. Les modèles déjà importés restent dans le registre, sans fournisseur configuré.DELETE /v1/providers/{pid}tenant_admin, platform_admin, ai_platform_engineer
Récupérer à nouveau (boîte des modèles)Relit la liste des modèles du fournisseur.POST /v1/providers/{pid}/models/discovertenant_admin, platform_admin, ai_platform_engineer
Importer la sélection (n) (boîte des modèles)Enregistre les nouveaux modèles sélectionnés avec la catégorie choisie. Notification N modèle(s) importé(s), M déjà enregistré(s).POST /v1/models/importtenant_admin, platform_admin, ai_platform_engineer
Ajouter manuellement (fournisseur sans liste)Ouvre le Registre des modèles pour saisir le modèle.aucuntenant_admin, platform_admin, ai_platform_engineer
Réessayer (panneau d'erreur)Relit le catalogue.GET /v1/providers/cataloglecteurs LLM

Rôles​

  • Lecture (GET /v1/providers/catalog, GET /v1/providers, GET /v1/providers/{pid}) : les rôles READ de services/control-plane/src/eai/domains/llm/__init__.py, qui sont les llmReaders de portal/src/lib/kit.ts : tenant_admin, platform_admin, security_officer, finops, developer, auditor, viewer, agent, ai_platform_engineer, ai_governance_officer, support_engineer.
  • Administration (création, mise à jour, test, activation, découverte, import, suppression) : les rôles ADMIN tenant_admin, platform_admin, ai_platform_engineer (ROLES.llmAdmins). Le menu ... d'une carte n'est affiché qu'à ces rôles.
  • Désactivation : ADMIN plus security_officer côté serveur (ROLES.llmDisablers). Un responsable sécurité utilise l'interrupteur Activé du panneau, car le menu de la carte est réservé aux administrateurs.
  • platform_admin passe tous les contrôles de rôle du Control Plane. Seul un administrateur de la plateforme modifie un fournisseur défini au niveau plateforme.

Tâches courantes​

Connecter un fournisseur cloud​

  1. Trouver le fournisseur. Saisissez son nom dans Rechercher un fournisseur ou réglez Hébergement sur Cloud, pour travailler sur la bonne carte. Résultat attendu : la carte affiche Non configuré. En cas d'échec : si toutes les cartes affichent Non connecté, le catalogue est illisible ; cliquez sur Réessayer.
  2. Remplir la configuration. Cliquez sur Configurer, gardez ou changez Nom, puis saisissez les identifiants (pour OpenAI, api_key). Les secrets sont rangés dans le coffre de secrets et ne sont plus jamais affichés. Résultat attendu : le formulaire accepte les valeurs. En cas d'échec : un champ obligatoire est marqué Obligatoire.
  3. Enregistrer. Cliquez sur Enregistrer pour créer le fournisseur. Résultat attendu : notification Enregistré, la carte passe dans Fournisseurs configurés avec le badge Configuré. En cas d'échec : lisez le message dans le panneau et consultez la section Dépannage ci-dessous.
  4. Tester la connexion. Cliquez sur Tester la connexion, pour savoir que les identifiants fonctionnent avant d'utiliser les modèles. Résultat attendu : une réponse JSON du test du fournisseur. En cas d'échec : corrigez les identifiants, Enregistrer à nouveau, puis testez encore.

Importer les modèles d'un fournisseur​

  1. Ouvrir la liste des modèles. Sur une carte configurée, ouvrez ... > Récupérer les modèles. Le Control Plane lit la liste depuis l'API du fournisseur, il n'en invente jamais. Résultat attendu : la boîte affiche N modèle(s) trouvé(s), M déjà enregistré(s). En cas d'échec : un panneau d'erreur avec Réessayer donne la cause (identifiants refusés, délai dépassé, pas d'adresse).
  2. Choisir les modèles. Cochez les lignes Nouveau voulues, ou la case d'en-tête pour sélectionner tous les nouveaux modèles affichés, et réglez la Catégorie de chaque ligne. Résultat attendu : le pied affiche n sélectionné(s). En cas d'échec : une ligne Enregistré ne se coche pas, le modèle est déjà au registre.
  3. Importer. Cliquez sur Importer la sélection (n). Résultat attendu : notification N modèle(s) importé(s), M déjà enregistré(s) ; les modèles apparaissent dans le Registre des modèles. En cas d'échec : « Certains modèles sélectionnés sont invalides : rien n'a été importé. » liste les problèmes ; corrigez la catégorie et importez à nouveau.

Couper un fournisseur en urgence​

  1. Ouvrir le fournisseur. Cliquez sur Configurer sur la carte configurée. Résultat attendu : le panneau affiche l'interrupteur Activé. En cas d'échec : l'interrupteur n'existe qu'une fois le fournisseur enregistré.
  2. Le couper. Désactivez Activé : tout appel à ce fournisseur s'arrête immédiatement (coupe-circuit). Résultat attendu : notification Enregistré, la carte affiche Désactivé ; la passerelle répond « Ce fournisseur est désactivé (coupe-circuit). ». En cas d'échec : une erreur forbidden signifie que votre rôle ne peut pas désactiver un fournisseur.
  3. Le rétablir. Une fois l'incident clos, réactivez Activé ou utilisez ... > Activer. Résultat attendu : la carte affiche de nouveau Configuré. En cas d'échec : la réactivation demande un rôle d'administration, pas security_officer.

Dépannage​

SymptômeCauseCorrection
Panneau d'erreur en haut, toutes les cartes Non connectéGET /v1/providers/catalog a échoué, par exemple « L'API Control Plane est injoignable. »Vérifiez que le Control Plane tourne et que NEXT_PUBLIC_EAI_API_URL est correct, puis Réessayer.
« Champ obligatoire <champ> manquant pour ce fournisseur. » (missing_credential_field, 422)Un identifiant obligatoire ou un jeu d'identifiants accepté manque.Renseignez le champ cité, ou l'un des Jeux d'identifiants acceptés.
« Le champ <champ> n'est pas accepté par ce fournisseur. » (unknown_credential_field)Le corps contient un champ que le catalogue du fournisseur ne déclare pas.Retirez le champ ; seuls les champs du panneau sont acceptés.
« Les fournisseurs distants doivent être joints en HTTPS. » (tls_required, 422)L'URL de base d'un fournisseur distant n'est pas en https.Utilisez une adresse https://.
« Un fournisseur portant ce nom existe déjà. » (provider_exists, 409)Nom déjà utilisé dans le tenant.Choisissez un autre nom, ou modifiez le fournisseur existant.
« Seul un administrateur de la plateforme peut modifier les entrées de niveau plateforme. » (platform_only, 403)Le fournisseur est défini au niveau plateforme.Demandez à un platform_admin.
Tester la connexion griséLa configuration n'est pas encore enregistrée.Cliquez d'abord sur Enregistrer (« Enregistrez la configuration avant de tester la connexion. »).
« Le fournisseur <hôte> a refusé les identifiants enregistrés (HTTP <statut>). » (discovery_auth_failed, 502)Le fournisseur rejette la clé.Saisissez un secret valide dans le panneau et Enregistrer.
« Le fournisseur <hôte> n'a pas répondu en <n> secondes. » ou « est injoignable » (discovery_timeout, discovery_network_error, 502)Réseau, proxy ou règle de sortie.Vérifiez le chemin réseau et la politique de sortie, puis Récupérer à nouveau.
« Ce fournisseur n'a pas d'adresse de point d'accès : renseignez-la avant de récupérer ses modèles. » (discovery_no_api_base, 422)Aucune URL de base configurée.Renseignez URL de base dans le panneau.
« Ce fournisseur est désactivé (coupe-circuit). » (provider_disabled, 409) sur Récupérer les modèlesLe fournisseur est désactivé.Activez-le d'abord.
« Certains modèles sélectionnés sont invalides : rien n'a été importé. » (import_invalid, 422) ou catégorie inconnue (category_unknown, 422)Une ligne sélectionnée est invalide ou sa catégorie n'existe pas.Choisissez une catégorie existante (voir l'onglet Catégories du Registre des modèles).
forbidden (403)Le rôle de l'utilisateur n'est pas autorisé sur cette route.Demandez à un tenant_admin ou à un ai_platform_engineer.

Pages liées​