L'AI Search Open Platform propose une API d'intégration de texte clairsemé qui convertit le texte en vecteurs clairsemés. Les vecteurs clairsemés consomment moins d'espace de stockage et sont idéaux pour représenter les mots-clés et les fréquences des termes. Vous pouvez également les combiner avec des vecteurs denses pour une récupération hybride, afin d'améliorer les résultats de recherche.
|
Nom du service |
ID du service |
Description |
Limite QPS |
|
Service d'intégration de texte clairsemé OpenSearch-001 |
ops-text-sparse-embedding-001 |
|
50 Remarque
Pour demander une limite QPS d'API plus élevée, envoyez un ticket au support technique. |
Prérequis
-
Obtenir les informations d'authentification
La plateforme ouverte AI Search nécessite une clé API pour l'authentification. Pour obtenir des instructions, consultez la rubrique Obtenir une clé API.
-
Obtenir le point de terminaison du service
Vous pouvez appeler le service via le réseau public ou un VPC. Pour plus de détails, consultez la rubrique Obtenir le point de terminaison du service.
Remarques sur l'utilisation
Le corps de la requête ne doit pas dépasser 8 Mo.
Méthode de requête
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/text-sparse-embedding/{service_id}
Paramètres d'URL
-
host: le point de terminaison du service. Vous pouvez appeler le service API via Internet ou par le biais d'un VPC. Pour plus d'informations, consultez la rubrique Obtenir les points de terminaison des services.Sur la page API Keys de la console, vous pouvez afficher les domaines d'API Internet et VPC dans la section Access Domain Name. Le format du nom de domaine est
http://<instance_id>.opensearch.aliyuncs.com(HTTPS est également pris en charge). Le domaine d'API VPC s'applique aux environnements VPC dans les régions Chine (Shanghai), Chine (Hangzhou), Chine (Shenzhen), Chine (Pékin), Chine (Zhangjiakou) et Chine (Qingdao). workspace_name: le nom de l'espace de travail. Exemple :default.service_id: l'ID du service intégré. Exemple :ops-text-sparse-embedding-001.
Paramètres de requête
Paramètres d'en-tête
Authentification par clé API
|
Paramètre |
Type |
Obligatoire |
Description |
Exemple |
|
Content-Type |
String |
Oui |
Le type de média de la requête. Définissez cette valeur sur |
application/json |
|
Authorization |
String |
Oui |
La clé API pour l'authentification. Le format est |
Bearer OS-d1**2a |
Paramètres de corps
|
Paramètre |
Type |
Obligatoire |
Description |
Exemple |
|
input |
Array/String |
Oui |
Le texte d'entrée à intégrer, fourni sous forme de chaîne ou de tableau de chaînes. Une seule requête peut contenir jusqu'à 32 entrées. La longueur maximale de chaque entrée dépend du modèle. Les chaînes vides ne sont pas prises en charge. |
["Science and technology are the primary productive forces", "OpenSearch product documentation"] |
|
input_type |
String |
Non |
Le type de l'entrée. Valeurs valides :
La valeur par défaut est |
document |
|
return_token |
boolean |
Non |
Indique si le texte tokenisé doit être renvoyé. Valeurs valides :
La valeur par défaut est |
false |
Paramètres de réponse
|
Paramètre |
Type |
Description |
Exemple |
|
request_id |
String |
Un ID unique pour l'appel d'API. |
B4AB89C8-B135-****-A6F8-2BAB801A2CE4 |
|
latency |
Float/Int |
La latence de la requête en millisecondes (ms). |
10 |
|
usage |
Object |
Informations d'utilisation pour l'appel. |
"usage": { "token_count": 11 } |
|
usage.token_count |
Int |
Le nombre de jetons. |
11 |
|
result.sparse_embeddings |
List |
Les résultats d'intégration. Il s'agit d'un tableau d'objets, chaque objet correspondant à un élément du tableau d'entrée. |
[ { "index": 0, "embedding": [{ "tokenId": 6, "weight": 0.10137939453125 }] }, { "index": 1, "embedding": [{ "tokenId": 9803, "weight": 0.1951904296875 }] } ] |
|
result.sparse_embeddings[].index |
Int |
L'indice du texte correspondant dans le tableau d'entrée. |
0 |
|
result.sparse_embeddings[].embedding |
List |
Le résultat de l'intégration clairsemée. |
[ { "token":"test", "token_id": 900, "weight":0.423 }] |
|
result.sparse_embeddings[].embedding[].token |
String |
Le jeton de texte. Ce champ est renvoyé uniquement lorsque |
"xxx" |
|
result.sparse_embeddings[].embedding[].token_id |
Int |
L'ID du jeton. |
123 |
|
result.sparse_embeddings[].embedding[].weight |
Float |
Le poids. |
0.121 |
Exemple cURL
curl -XPOST -H "Content-Type: application/json" \
"http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/text-sparse-embedding/ops-text-sparse-embedding-001" \
-H "Authorization: Bearer " \
-d '{
"input": [
"Science and technology are the primary productive forces",
"OpenSearch product documentation"
],
"input_type": "query",
"return_token": false
}'
Exemples de réponse
Réponse réussie
{
"request_id": "75C50B5B-E79E-4930-****-F48DBB392231",
"latency": 22,
"usage": {
"token_count": 11
},
"result": {
"sparse_embeddings": [
{
"index": 0,
"embedding": [
{
"tokenId": 6,
"weight": 0.10137939453125
},
{
"tokenId": 163040,
"weight": 0.2841796875
},
{
"tokenId": 354,
"weight": 0.1431884765625
},
{
"tokenId": 5998,
"weight": 0.161376953125
},
{
"tokenId": 8550,
"weight": 0.2388916015625
},
{
"tokenId": 2017,
"weight": 0.1614990234375
}
]
},
{
"index": 1,
"embedding": [
{
"tokenId": 9803,
"weight": 0.1951904296875
},
{
"tokenId": 86250,
"weight": 0.317138671875
},
{
"tokenId": 5889,
"weight": 0.17529296875
},
{
"tokenId": 2564,
"weight": 0.11614990234375
},
{
"tokenId": 59529,
"weight": 0.1666259765625
}
]
}
]
}
}
Réponse d'erreur
Si une erreur se produit, la réponse contient les champs code et message qui décrivent l'erreur.
{
"request_id": "45C8C9E5-6BCB-****-80D3-E298F788512B",
"latency": 0,
"code": "InvalidParameter",
"message": "JSON parse error: Unexpected character ..."
}
Codes d'état
Pour plus d'informations, consultez les Codes d'état de l'AI Search Open Platform.