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

Procédure

  1. 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_version
    space_id Prend project_id en 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_name
    api_version Valeur par défaut 2024-10-21:; un abonnement, un groupe de ressources ou un compte est requis pour afficher la liste des modèles
    Anthropic 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_close
    Déploiement auto-hébergé/local; aucune authentification; utilise le format API personnalisé d'Ollama (et non OpenAI-compatible ); keep_alive durée par défaut : 5 minutes
    xAI apikey
    Google Gemini apikey

    Vault_URNDéfinissez la variable d'environnement. Vous pouvez copier le secret Vault_URN depuis la page Administration > Configurations et paramètres > Coffres-forts et secrets en cliquant sur l'icône Icône de copie Copier située à côté du nom de votre secret. Par exemple, considérez la commande suivante :

    export Vault_URN="<user-id>:<secret-name>"
    
  2. 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>"
      }'
    
  3. 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.