Effectuer une inférence sur un modèle
Grâce à l'inférence, vous pouvez interagir avec des modèles de base et évaluer les réponses générées par l'IA pour vos applications. La fonctionnalité d'inférence fournit une API prête à l'emploi qui vous permet d'intégrer des capacités d'IA conversationnelle dans vos workflows, de tester le comportement des modèles et de développer des applications intelligentes.
Inference résout les difficultés liées au déploiement et à la mise à l'échelle des modèles d'IA en offrant un accès immédiat aux modèles de base via des API familières et conformes aux normes du secteur. Que vous développiez un prototype de chatbot, créiez un assistant IA ou intégriez la compréhension du langage naturel dans votre application, l'inférence élimine la complexité liée à l'hébergement des modèles et vous permet de vous concentrer sur la création de valeur pour vos utilisateurs.
Avant de commencer
-
Créez un compte Pay-As-You-Go ou Abonnement sur IBM Cloud. Les comptes d'essai ne sont pas pris en charge. Pour plus d'informations ou pour passer à un compte supérieur, consultez la section Types de comptes.
-
Assurez-vous de disposer du rôle Writer ou d'un rôle supérieur sur le service Red Hat AI Inference. Pour plus d'informations, consultez la section Gestion des accès IAM.
Effectuer une inférence sur un modèle à l'aide de la console
La console offre un environnement interactif dans lequel vous pouvez tester différents modèles, essayer des invites et affiner vos interactions avec l'IA avant de les intégrer à vos applications.
-
Dans la console, ouvrez le service Red Hat AI Inference et cliquez sur le nom de votre projet pour l'ouvrir.
-
Depuis la page du projet, cliquez sur Playground pour ouvrir l'environnement de test d'inférence.
-
Lancez votre session de chat. Vous pouvez personnaliser votre session de chat à l'aide des options suivantes :
- Sélection du modèle
- Vous pouvez choisir parmi une liste de modèles de base.
- Invite système
- L'invite système indique au modèle comment mener le dialogue.
- Paramètres d'inférence
- Ajustez les limites de hasard, de répétition et de réponse.
- Historique de discussions
- Vous pouvez filtrer l'historique des conversations par modèle ou par plage de dates.
Effectuer une inférence sur un modèle à l'aide de l'API
Grâce à cette API, vous pouvez intégrer par programmation des fonctionnalités d'IA dans vos applications en utilisant des points de terminaison OpenAI-compatible conformes aux normes du secteur. Cette approche est essentielle pour les déploiements en production où vous devez automatiser les interactions avec l'IA, traiter des volumes élevés de requêtes ou intégrer l'IA conversationnelle dans des systèmes existants. L'API offre la flexibilité nécessaire pour personnaliser le comportement des modèles, gérer l'historique des conversations et faire évoluer vos fonctionnalités basées sur l'IA au rythme de votre application.
Actuellement, les API suivantes sont prises en charge :
- Suggestions de chat
/v1/chat/completions - Créer - Documentation OpenAI
- Accéder à la documentation OpenAI
- Liste - Documentation OpenAI
- Supprimer - Documentation OpenAI
- Modèles
/v1/models - Accéder à la documentation OpenAI
- Liste - Documentation OpenAI
Consultez les sections suivantes pour découvrir des exemples illustrant comment effectuer des tâches d'inférence courantes à l'aide de l'API.
Noeud final d'API
Toutes les requêtes API utilisent le format de base suivant : URL:
https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference
Remplacez <project_id> par l'identifiant de votre projet. Pour y accéder, rendez-vous sur Red Hat AI Inference projects et ouvrez votre projet.
Authentification auprès de l'API
Avant de pouvoir effectuer des appels API, vous devez authentifier vos requêtes. Vous pouvez vous authentifier à l'aide d'un jeton bearer ou d'une clé API IBM Cloud.
Authentification à l'aide d'un jeton bearer
Les jetons bearer garantissent un accès sécurisé aux capacités d'inférence de votre projet et sont générés à partir de votre clé API IBM Cloud. Les jetons bearer expirent après une période définie; ils doivent donc être actualisés périodiquement.
L'exemple suivant montre comment récupérer un jeton bearer.
curl -X POST "https://iam.cloud.ibm.com/identity/token" --header "Content-Type: application/x-www-form-urlencoded" --header "Accept: application/json" --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" --data-urlencode "apikey=$<IBM_CLOUD_API_KEY>"
Le jeton porteur est présent dans access_token la réponse. Ces jetons ont une date d'expiration et doivent être renouvelés périodiquement.
{"access_token":"xxxxx","refresh_token":"not_supported","token_type":"Bearer","expires_in":3600,"expiration":1770058324,"scope":"ibm openid"}
Authentification à l'aide d'une clé API
Il existe deux façons de s'authentifier à l'aide d'une clé API : vous pouvez créer un identifiant de service, ce qui constitue la méthode recommandée pour gérer les accès et les contrôles. Si vous créez un identifiant de service, vous devez également créer une clé API d'identifiant de service, que vous utiliserez pour vous authentifier. Le guide de démarrage Red Hat AI Inference explique comment créer un identifiant de service et une clé API pour s'authentifier par programmation.
Vous pouvez également vous authentifier à l'aide d'une clé API utilisateur, plutôt qu'à l'aide d'une clé API d'identification de service. Pour plus d'informations, voir Gestion des clés d'API utilisateur.
Génération d'une suggestion de complétion dans le chat
Les compléments de conversation constituent le cœur de l'inférence. Ils vous permettent d'envoyer des messages à un modèle de base et de recevoir des réponses générées par l'IA. Voici comment créer des expériences conversationnelles, obtenir des réponses à vos questions, générer du contenu ou traiter des entrées en langage naturel. Vous pouvez contrôler le déroulement de la conversation en fournissant des invites système qui définissent le comportement du modèle et en conservant l'historique des messages pour des interactions tenant compte du contexte.
L'exemple suivant montre comment générer une suggestion de complétion dans le chat. Pour obtenir la liste complète des paramètres disponibles, consultez la section Complétion du chat sur OpenAI.
curl https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer <bearer_token>" -d '{
"model": "granite-4-0-h-small",
"messages": [
{
"role": "developer",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Hello! Tell me about yourself"
}
]
}'
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completion = client.chat.completions.create(
model="granite-4-0-h-small",
messages=[
{"role": "developer", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! Tell me about yourself"}
]
)
print(completion.choices[0].message)
Récupérer la fin d'une conversation à partir de son ID
La récupération d'une conversation spécifique à l'aide de son ID est utile pour l'audit, le débogage ou l'analyse des interactions passées.
L'exemple suivant montre comment récupérer une conversation par son ID. Pour obtenir la liste complète des paramètres disponibles, consultez la section Get Chat Completion.
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions/<completion_id>' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completion = client.chat.completions.retrieve(completion_id="<completion_id>")
print(completion)
Liste des suggestions de complétion dans le chat
La liste des complétions de chat offre une vue d'ensemble de toutes vos activités d'inférence, ce qui vous permet de surveiller les habitudes d'utilisation, de suivre les coûts et d'analyser la manière dont votre application interagit avec les modèles de base. Ces informations sont particulièrement utiles pour comprendre le comportement des utilisateurs, identifier les cas d'utilisation courants et optimiser votre stratégie d'intégration de l'IA.
L'exemple suivant montre comment répertorier les suggestions de complétion dans le chat. Pour obtenir la liste complète des paramètres disponibles, consultez la section Liste des compléments de conversation.
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completions = client.chat.completions.list()
print(completions)
Suppression d'une suggestion de chat
La suppression des suggestions de chat vous aide à nettoyer les données de test et à respecter les exigences en matière de confidentialité.
L'exemple suivant montre comment supprimer une suggestion de chat. Pour obtenir la liste complète des paramètres disponibles, consultez la section Supprimer la suggestion de chat.
curl -X DELETE https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions/<completion_id> \
-H "Content-Type: application/json" -H "Authorization: Bearer <bearer_token>"
Affichage de la liste des modèles
Découvrez quels modèles de base sont disponibles dans votre projet et familiarisez-vous avec leurs capacités, afin de pouvoir utiliser le modèle le mieux adapté à votre cas d'utilisation spécifique et d'optimiser des facteurs tels que la qualité de la réponse, la vitesse ou le coût.
L'exemple suivant montre comment répertorier les modèles. Pour obtenir la liste complète des paramètres disponibles, consultez la section Modèles de listes à l'adresse OpenAI.
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/models' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
models = client.models.list()
print(models)
Récupérer un modèle par ID
Consulter les informations détaillées sur un modèle spécifique vous aide à comprendre ses caractéristiques, ses capacités et ses limites avant de l'utiliser dans votre application.
L'exemple suivant montre comment récupérer un modèle à l'aide de son ID. Pour obtenir la liste complète des paramètres disponibles, consultez la section Récupérer un modèle.
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/models/<model>' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
model = client.models.retrieve("<model>") # for example, "granite-4-0-h-small"
print(model)