Récupère les données vectorielles spécifiées par leurs clés.
Autorisations
Les comptes Alibaba Cloud disposent de toutes les autorisations par défaut. Les utilisateurs RAM et les rôles RAM n'en ont aucune. Un compte Alibaba Cloud ou un administrateur doit accorder les autorisations via une politique RAM ou une politique de bucket.
|
API |
Action |
Description |
|
GetVectors |
|
Récupère les données vectorielles. |
Syntaxe de la requête
POST /?getVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.oss-vectors.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Content-type: application/json
{
"indexName": "string",
"keys": [string, string, string],
"returnData": boolean,
"returnMetadata": boolean
}
En-têtes de requête
Cette opération utilise uniquement des en-têtes de requête communs. Pour plus d'informations, consultez la section En-têtes HTTP communs.
Paramètres de requête
|
Nom |
Type de données |
Obligatoire |
Exemple |
Description |
|
indexName |
String |
Oui |
vectorindex1 |
Nom de l'index. |
|
keys |
Array of strings |
Oui |
["doc-001", "doc-002"] |
Clés primaires des vecteurs à interroger. Les doublons sont autorisés. Contraintes :
|
|
returnData |
Boolean |
Non |
false |
Indique si les données vectorielles doivent être renvoyées. Valeurs valides :
|
|
returnMetadata |
Boolean |
Non |
false |
Indique si les métadonnées doivent être renvoyées. Valeurs valides :
|
En-têtes de réponse
Cette opération utilise uniquement des en-têtes de réponse communs. Pour plus d'informations, consultez la section En-têtes HTTP communs.
Éléments de réponse
|
Nom |
Type de données |
Exemple |
Description |
|
vectors |
Array of objects |
- |
Vecteurs renvoyés. Si une clé primaire interrogée n'existe pas, aucune erreur n'est signalée et le résultat correspondant est omis. |
|
key |
String |
doc-001 |
Clé primaire du vecteur. Si une clé demandée ne correspond à aucun vecteur existant, aucune erreur n'est signalée et cette clé est omise de la réponse. Nœud parent : vectors |
|
data |
Object |
- |
Données vectorielles. Renvoyées uniquement si returnData est défini sur true. Nœud parent : vectors |
|
metadata |
Object |
- |
Métadonnées. Renvoyées uniquement si returnMetadata est défini sur true. Nœud parent : vectors |
Exemples
Standard Mode
Exemple de requête
POST /?getVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.oss-vectors.aliyuncs.com
Date: Thu, 17 Apr 2025 01:33:47 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218
Content-type: application/json
{
"indexName": "vectorindex1",
"keys": ["doc-001", "doc-002"],
"returnData": true,
"returnMetadata": true
}
Exemple de réponse
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 17 Apr 2025 01:33:47 GMT
Connection: keep-alive
Server: AliyunOSS
Content-type: application/json
{
"vectors": [
{
"data": {
"float32": [0.1, 0.2, 0.3, 0.4, 0.5]
},
"key": "doc-001",
"metadata": {
"category": ["technology", "ai"],
"title": "Introduction to Vector Search"
}
},
{
"data": {
"float32": [0.2, 0.3, 0.4, 0.5, 0.6]
},
"key": "doc-002",
"metadata": {
"category": ["science"],
"title": "Advanced Vector Operations"
}
}
]
}
Fusion Mode
Pour un index en mode Fusion, le champ data utilise les noms de champs vectoriels définis dans le schéma lors de la création de l'index, au lieu du nom de champ vectoriel fixe float32 utilisé en mode Standard, et peut renvoyer plusieurs champs vectoriels.
Exemple de requête
POST /?getVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.oss-vectors.aliyuncs.com
Date: Thu, 17 Apr 2025 01:33:47 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218
Content-type: application/json
{
"indexName": "vectorindex1",
"keys": ["doc-001", "doc-002"],
"returnData": true,
"returnMetadata": true
}
Exemple de réponse
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 17 Apr 2025 01:33:47 GMT
Connection: keep-alive
Server: AliyunOSS
Content-type: application/json
{
"vectors": [
{
"data": {
"vector_field_name_1": [0.1, 0.2, 0.3, 0.4, 0.5]
},
"key": "doc-001",
"metadata": {
"category": ["technology", "ai"],
"title": "Introduction to Vector Search"
}
},
{
"data": {
"vector_field_name_1": [0.1, 0.2, 0.3, 0.4, 0.5],
"vector_field_name_2": [0.2, 0.3, 0.4, 0.5, 0.6]
},
"key": "doc-002",
"metadata": {
"category": ["science"],
"title": "Advanced Vector Operations"
}
}
]
}
SDK
Les SDK suivants prennent en charge l'opération GetVectors :
Interface de ligne de commande ossutil
Pour la commande ossutil correspondant à l'opération GetVectors, consultez la section get-vectors.
Codes d'erreur
|
Code d'erreur |
Code d'état HTTP |
Description |
|
VectorIndexParameterInvalid |
400 |
Le paramètre d'index vectoriel n'est pas valide. |
|
MalformedJson |
400 |
Le code JSON présent dans le corps de la requête est mal formé. |
|
AccessDenied |
403 |
Causes possibles de cette erreur :
|
|
NoSuchVectorIndex |
404 |
L'index vectoriel spécifié n'existe pas. |
|
QpsLimitExceeded |
503 |
La requête a été limitée car la limite de QPS a été dépassée. |