Création d'intégrations
Les représentations vectorielles convertissent le texte en vecteurs numériques qui capturent la signification sémantique, permettant ainsi aux modèles d'IA de comparer et de récupérer des contenus sémantiquement similaires. Pour un tutoriel expliquant comment les représentations vectorielles peuvent améliorer les réponses de complétion de chat en fournissant à un modèle un contexte pertinent issu de votre propre base de connaissances, consultez la page Améliorer les complétions de chat grâce aux représentations vectorielles et à RAG. Pour obtenir la liste complète des paramètres disponibles, consultez OpenAI Créer des intégrations.
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 mettre à niveau votre compte, 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.
-
Obtenez votre point de terminaison API. Toutes les requêtes API utilisent le format de base suivant : URL:
https://us-east.rhai.ibm.com/v1/projects/<project_id>/inferenceRemplacez
<project_id>par l'identifiant de votre projet. Pour y accéder, rendez-vous sur Red Hat AI Inference projects et ouvrez votre projet.
Pour vérifier si un modèle prend en charge les embeddings, répertoriez les modèles ou récupérez un modèle par ID,
puis vérifiez que supports_embeddings est défini sur true.
Formats et limites des données d'entrée
L'API d'embedding prend en charge les formats d'entrée suivants pour le paramètre input:
- Chaîne
- Une seule chaîne de texte à convertir en vecteur d'encodage.
- Tableau de chaînes
- Un ensemble de chaînes de texte, où chaque chaîne est convertie en un vecteur d'intégration distinct.
- Série de chiffres
- Un tableau d'entiers représentant des jetons, qui est converti en un vecteur d'embedding.
- Tableau de tableaux de nombres
- Un tableau de tableaux de tokens, où chaque tableau de tokens est converti en un vecteur d'embedding distinct.
Lorsque vous soumettez des données d'entrée pour les intégrations, les limites et comportements suivants s'appliquent :
- Limites relatives aux jetons d'entrée
- Chaque modèle d'intégration définit sa limite maximale de tokens d'entrée en fonction de la taille de sa fenêtre contextuelle.
- Évaluation des entrées de tableau
- Si vous soumettez un tableau contenant plusieurs entrées, la limite de tokens s'applique à chaque texte individuellement.
- Repousser les limites
- Si une seule entrée de texte du tableau dépasse la limite de tokens du modèle, l’API rejette l’intégralité de la requête et renvoie une erreur
HTTP 400 Bad Request.
Dimensions du résultat
Le résultat d'une requête d'embeddings est un vecteur de haute dimension. Prenez en compte les caractéristiques suivantes des vecteurs de sortie :
- Qualité de la présentation
- Une taille de vecteur de sortie plus importante permet de représenter davantage de détails et de saisir une signification sémantique plus fine. Cependant, les vecteurs plus volumineux nécessitent davantage de mémoire pour le stockage et la recherche, ce qui peut augmenter l'utilisation des ressources.
- Configuration de la taille des vecteurs
- La taille du vecteur de sortie dépend du modèle. Bien que l'API d'embedding prenne en charge un paramètre
dimensionspermettant de configurer la taille du vecteur de sortie, ce paramètre n'est utilisé que si le modèle sélectionné est compatible avec la configuration des tailles de dimension.
Création d'intégrations
Utilisez l'API d'embeddings pour convertir une ou plusieurs entrées textuelles en représentations vectorielles. Les exemples suivants montrent comment créer des intégrations à l'aide de l'API en utilisant cURL ou le client OpenAI Python.
curl https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <bearer_token>" \
-d '{
"model": "granite-embedding-278m-multilingual",
"input": [
"Manage your projects from the IBM Cloud console.",
"Use the API to automate workflows and integrate AI into your applications.",
"IBM Cloud offers a range of AI and machine learning services for enterprise applications."
]
}'
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
response = client.embeddings.create(
model="granite-embedding-278m-multilingual",
input=[
"Manage your projects from the IBM Cloud console.",
"Use the API to automate workflows and integrate AI into your applications.",
"IBM Cloud offers a range of AI and machine learning services for enterprise applications."
]
)
print(response.data[0].embedding)