Vous pouvez utiliser des modèles de base dans IBM watsonx.ai à l'aide d'un programme à l'aide de l'API watsonx.ai .
Voir la documentation de référence de l'API .
Vous pouvez utiliser l'API REST pour effectuer les types de tâches suivants. Cliquez sur une tâche pour lire un aperçu de la méthode.
- Obtenir des informations sur foundation model
- Modèles de base d'inférence
- Prompt tuning a foundation model
Vous pouvez également utiliser l'API REST pour effectuer les tâches suivantes :
- Ajoutez un chat génératif à vos applications avec l'API de chat
- Créer des flux de travail de chat pilotés par des agents
- Extraction de texte à partir de documents
- Vectoriser le texte
- Reclasser les passages de documents
- Prévision des valeurs futures
Prérequis
La page d'accès des développeurs permet d'accéder rapidement aux informations suivantes :
- URL base pour les points d'extrémité de l'API et votre
- ID du projet ou de l'espace
Depuis la page d'accueil watsonx.ai du projet ou de l'espace avec lequel vous souhaitez travailler, ouvrez le menu de navigation , puis cliquez sur Accès développeur .
Vous avez également besoin des informations suivantes pour soumettre des demandes d'API REST :
Pour utiliser l'API watsonx.ai , vous avez besoin d'un jeton bearer.
Pour plus d'informations, voir Données d'identification pour l'accès par programmation.
Vous devez spécifier le "
{model_id}
pour le foundation model que vous souhaitez utiliser.Vous pouvez utiliser la méthode Lister les modèles de fondation disponibles pour obtenir l'ID d'un foundation model .
Pour obtenir la liste des ID de modèle pour les modèles de base inclus avec watsonx.ai, voir ID de modèle de base pour les API.
Indiquez la date à laquelle vous avez créé et testé votre code dans le paramètre de version requis avec chaque demande. Par exemple,
version=2024-10-21
.
Certaines tâches exigent que vous fassiez référence à des données mises à disposition en tant que connexion de données. Pour plus d'informations sur la façon d'ajouter un fichier, puis de référencer un fichier à partir de l'API, consultez Référencer des fichiers depuis l'API.
Obtenir une liste des modèles de fondations disponibles
La méthode List the available foundation models de l'API watsonx.ai permet d'obtenir des informations sur les modèles de base déployés par IBM dans watsonx.ai et disponibles immédiatement pour l'inférence.
curl -X GET \
'https://{region}.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-05-01'
Liste des modèles de fondations personnalisées
Pour obtenir une liste des modèles de fondation personnalisés déployés auxquels vous pouvez accéder, utilisez la méthode suivante. Cette méthode nécessite un jeton de porteur.
curl -X GET \
'https://{region}.ml.cloud.ibm.com/ml/v4/deployments?version=2024-12-12&type=custom_foundation_model'
Liste des modèles de déploiement à la demande
Pour obtenir une liste des modèles de fondation disponibles pour le déploiement à la demande, utilisez la méthode suivante :
curl -X GET \
'https://{region}.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-12-10&filters=curated'
Vous devez déployer le modèle de déploiement à la demande dans un espace de déploiement avant de pouvoir inférer le modèle.
Inférence de modèles de base avec l'API REST
La méthode utilisée pour déduire un foundation model diffère selon que le foundation model est associé ou non à un déploiement.
Pour inférer un foundation model déployé par IBM dans watsonx.ai, utilisez la méthode Text generation.
Pour déduire un foundation model adapté, un foundation model personnalisé ou un foundation model déployé à la demande, utilisez la méthode Déploiements>Inférer le texte.
Le
{model_id}
n'est pas requis avec ce type de demande car un seul modèle est pris en charge par le déploiement.
Types d'inférence
Vous pouvez demander un foundation model en utilisant l'une des méthodes de génération de texte suivantes :
- Inférer le texte : Attend de renvoyer la sortie générée par le foundation model en une seule fois.
- Inférer un flux d'événements textuels : Renvoie la sortie telle qu'elle est générée par le foundation model. Cette méthode est utile dans les cas d'utilisation conversationnelle, où vous souhaitez qu'un chatbot ou un assistant virtuel réponde à un utilisateur d'une manière fluide qui imite une conversation réelle.
Pour les cas d'utilisation du chat, utilisez l'API de chat. Pour plus d'informations, voir Chat textuel.
Application des garde-fous de l'IA lors de l'inférence
Lorsque vous demandez un foundation model à l'aide de l'API, vous pouvez utiliser le champ " moderations
pour appliquer des garde-fous AI à l'entrée et à la sortie du foundation model. Pour plus d'informations, voir Suppression du langage nuisible des entrées et sorties du modèle.
Inférence avec un modèle d'invite
Vous pouvez inférer un foundation model avec un texte d'entrée qui suit un modèle défini par un modèle d'invite.
Pour plus d'informations, voir Créer un modèle d'invite.
Pour extraire le texte modèle de l'invite et l'utiliser comme entrée dans la méthode de génération de texte, procédez comme suit :
Utilisez la méthode Recherche de types d'actifs de l'API de données Watson pour obtenir l'identifiant du modèle d'invite.
curl -X POST \ 'https://api.dataplatform.cloud.ibm.com/v2/asset_types/wx_prompt/search?version=2024-07-29&project_id={project_id}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ACCESS_TOKEN' \ --data '{ "query": "asset.name:{template_name}" }'
L'identifiant du modèle d'invite est spécifié dans le champ
metadata.asset_id
.Utilisez la méthode Obtenir la chaîne d'entrée de l'inférence pour une invite donnée pour obtenir le texte du modèle d'invite.
curl -X POST \ 'https://api.dataplatform.cloud.ibm.com/wx/v1/prompts/{prompt-template-id}/input?version=2024-07-29&project_id={project_id}' ...
Pour plus d'informations, voir Obtenir la chaîne d'entrée de l'inférence pour une invite donnée
Vous pouvez soumettre le texte extrait de l'invite comme entrée de la méthode Générer un texte.
Prompt tuning a foundation model
La mise au point rapide d'un foundation model est une tâche complexe. Les exemples de carnets Python simplifient le processus. Vous pouvez utiliser un exemple de bloc-notes comme modèle pour rédiger vos propres blocs-notes afin de procéder à un réglage rapide.
À un niveau élevé, la mise au point rapide d'un foundation model à l'aide de l'API implique les étapes suivantes :
Créez un fichier de données d'entraînement à utiliser pour ajuster le foundation model.
Pour plus d'informations sur les exigences du fichier de données de formation, consultez Formats de données pour le réglage des modèles de base .
Téléchargez votre fichier de données d'entraînement.
Vous pouvez choisir d'ajouter le fichier en créant l'un des types d'actifs suivants :
actif de connexion
Note: Seulement un Cloud Object Storage Le type de connexion est actuellement pris en charge pour la formation au réglage rapide.
Voir Référencer des fichiers depuis l'API.
Vous utiliserez l'ID de connexion et les détails du fichier de données d'entraînement lorsque vous ajouterez le
training_data_references
section à larequest.json
fichier que vous créez à l’étape suivante.Actif de données
Pour créer un actif de données, utilisez l'API Common Core Data and AI pour définir un actif de données .
Vous utiliserez l'ID de l'actif et les détails du fichier de données de formation lorsque vous ajouterez le
training_data_references
section à larequest.json
fichier que vous créez à l’étape suivante.
Pour plus d'informations sur les méthodes prises en charge pour référencer un fichier de données de formation, consultez Références de données .
Utilisez le watsonx.ai API pour créer une expérience de formation.
Voir créer une formation .
Vous pouvez spécifier les paramètres de l'expérience dans le
TrainingResource
charge utile. Pour plus d'informations sur les paramètres disponibles, voir Paramètres de réglage des modèles de fondation.Pour le
task_id
, spécifiez l’une des tâches répertoriées comme étant prises en charge pour le foundation model dans la réponse à la méthode Lister les modèles de fondation disponibles .Enregistrez le modèle optimisé dans le service de référentiel pour générer un
asset_id
cela pointe vers le modèle réglé.Pour enregistrer le modèle réglé, utilisez l'API watsonx.ai Runtime (anciennement Watson Machine Learning ) pour créer un nouveau modèle .
Utilisez le watsonx.ai API pour créer un déploiement pour le modèle optimisé.
Voir créer un déploiement
Pour inférer un modèle optimisé, vous devez utiliser le point de terminaison d'inférence qui inclut l'ID unique du déploiement qui héberge le modèle optimisé. Pour plus d’informations, consultez les méthodes d’inférence dans la section Déploiements .
Python des cahiers
La bibliothèque Python comporte des classes auxiliaires et des exemples de bloc-notes associés qui facilitent l'utilisation des méthodes d'API disponibles dans vos applications d'IA générative. Pour plus d'informations, voir BibliothèquePython.
Rubrique parent: Codage des solutions d'IA générative