Configuration de la passerelle modèle par programmation
Enregistrez les détails de configuration des différents fournisseurs de modèles sur IBM Cloud Secrets Manager, puis ajoutez des modèles à l'aide d'une API compatible avec OpenAI.
Avant de commencer
- Générer des identifiants pour s'authentifier auprès des API d' watsonx.ai. Pour plus d'informations, consultez la section « Génération d'un jeton porteur ».
- Procurez-vous les identifiants pour chaque fournisseur de modèles pris en charge que vous prévoyez d'utiliser.
- Obtenir la liste des fournisseurs de modèles disponibles et leurs UUID. Pour plus d'informations, consultez la section « Répertorier les fournisseurs et les modèles ».
Procédure
Définissez et créez un secret dans le coffre-fort IBM Software Hub pour le fournisseur de modèles que vous souhaitez configurer. Si vous utilisez un coffre-fort externe, indiquez les arguments du fournisseur de modèles lors de la création du secret. Pour plus d'informations, consultez la section « Gestion des secrets et des coffres-forts ».
Le tableau suivant présente les exigences de configuration pour chaque fournisseur de modèles pris en charge. Pour plus d'informations, consultez la documentation relative à l'inférence fournie par le fournisseur concerné.
Tableau 1. Clés des fournisseurs de modèles pris en charge, nécessaires à la configuration de leurs secrets Nom du fournisseur Arguments obligatoires Arguments facultatifs Remarques OpenAI • apikey• base_url– IBM watsonx.ai • base_url• apikey
•project_id
•space_id
•auth_url
•api_versionspace_idPrendproject_iden charge l'authentification par requête via les en-têtes (X-IBM-Project-Id,X-IBM-Space-Id)Azure OpenAI • apikey
•resource_name
•api_version• subscription_id
•resource_group_name
•account_nameapi_versionValeur par défaut2024-10-21:; un abonnement, un groupe de ressources ou un compte est requis pour afficher la liste des modèlesAnthropic • apikey– – AWS Bedrock • access_key_id
•secret_access_key
•region• session_token
•base_url– Cerebras • apikey– – Cohere • apikey– – Groq • apikey– – Mistral • apikey– – NVIDIA NIM • apikey– – Ollama • host• keep_alive
•clean_on_closeDéploiement auto-hébergé/local; aucune authentification; utilise le format API personnalisé d'Ollama (et non OpenAI-compatible ); keep_alivedurée par défaut : 5 minutesxAI • apikey– – Google Gemini • apikey– – Vault_URNDéfinissez la variable d'environnement. Vous pouvez copier le secretVault_URNdepuis la page Administration > Configurations et paramètres > Coffres-forts et secrets en cliquant sur l'icône
Copier située à côté du nom de votre secret. Par exemple, considérez la commande suivante :export Vault_URN="<user-id>:<secret-name>"Exécutez la requête API REST suivante pour configurer un fournisseur de modèles :
curl -sS https://cpd-<namespace-name>.apps.<OCP-domain>/ml/gateway/v1/providers/<provider> \ -H "Authorization: Bearer ${TOKEN}" \ -H "Content-Type: application/json" \ -d "$(jq -n \ --arg resource "${Vault_URN}" \ --arg name "<custom-name-for-provider>" \ '{name: $name, data_reference: {resource: $resource}}')"Si le coffre-fort interne est activé, vous pouvez également configurer les identifiants directement en exécutant la commande suivante :
curl --request POST \ --url https://cpd-<namespace-name>.apps.<OCP-domain>/ml/gateway/v1/providers/<provider> \ -H 'Authorization: Bearer ${TOKEN}' \ -H 'Content-Type: application/json' \ --data '{ "data": { "apikey": "<model-provider-api-key>" }, "name": "<custom-name-for-model-provider>" }'Une fois qu'un fournisseur de modèles a été ajouté, vous pouvez ajouter des modèles provenant de ce fournisseur en utilisant l'UUID du fournisseur et l'ID du modèle dans la requête. L'identifiant du modèle doit être un identifiant unique existant reconnu par le fournisseur. Étant donné que certains modèles sont proposés par plusieurs fournisseurs, vous pouvez utiliser des alias de modèles, c'est-à-dire des noms personnalisés qui font référence à ces modèles, plutôt que d'utiliser leurs identifiants. Par exemple, considérez la commande suivante :
curl -X POST "https://cpd-<namespace-name>.apps.<OCP-domain>/ml/gateway/v1/providers/${PROVIDER_UUID}/models" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \ -d '{ "alias": "<custom-name-for-model>", "id": "<model_id>"}'Pour plus d'informations sur chaque fournisseur de modèles pris en charge, consultez la documentation de référence de l'API « watsonx.ai ».
Etape suivante
Vous pouvez désormais envoyer des requêtes aux modèles via la passerelle des modèles. Pour plus d'informations, consultez la section « Inférence des modèles de passerelle ». Vous pouvez également gérer les connexions et les modèles existants, activer l'équilibrage de charge, créer des politiques d'accès et définir des limites de débit.