Appelez l'opération GetVectors avec le SDK Python V2 pour récupérer les données vectorielles associées à des clés spécifiques. Vous pouvez ainsi obtenir les données vectorielles et leurs métadonnées.
Permissions
Les comptes Alibaba Cloud disposent de toutes les permissions 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 permissions nécessaires via une politique RAM ou une politique de bucket.
|
API |
Action |
Description |
|
GetVectors |
|
Récupère les données vectorielles. |
Définition de la méthode
get_vectors(request: GetVectorsRequest, **kwargs) → GetVectorsResult
Paramètres de requête
|
Parameter |
Type |
Description |
|
request |
GetVectorsRequest |
Définit les paramètres de la requête, tels que le nom du bucket, le nom de l'index et la liste des clés de vecteur. Pour plus d'informations, consultez GetVectorsRequest. |
Valeurs de retour
|
Type |
Description |
|
GetVectorsResult |
Valeur de retour contenant les données vectorielles interrogées. Pour plus d'informations, consultez GetVectorsResult. |
Pour la définition complète de la méthode get_vectors, consultez get_vectors.
Exemple de code
import argparse
import alibabacloud_oss_v2 as oss
import alibabacloud_oss_v2.vectors as oss_vectors
parser = argparse.ArgumentParser(description="vector get vectors sample")
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
parser.add_argument('--bucket', help='The name of the bucket.', required=True)
parser.add_argument('--endpoint', help='The OSS endpoint.')
parser.add_argument('--index_name', help='The name of the vector index.', required=True)
parser.add_argument('--account_id', help='The account id.', required=True)
def main():
args = parser.parse_args()
# Load credentials from environment variables
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Use the SDK's default configuration
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
cfg.region = args.region
cfg.account_id = args.account_id
cfg.use_internal_endpoint = True # To access over the public network, set this to False or remove this line.
if args.endpoint is not None:
cfg.endpoint = args.endpoint
vector_client = oss_vectors.Client(cfg)
keys = ['key1', 'key2']
result = vector_client.get_vectors(oss_vectors.models.GetVectorsRequest(
bucket=args.bucket,
index_name=args.index_name,
keys=keys,
return_data=True,
return_metadata=True
))
print(f'status code: {result.status_code},'
f' request id: {result.request_id},'
)
if result.vectors:
for vector in result.vectors:
print(f'vector id: {vector}')
if __name__ == "__main__":
main()
Références
Pour consulter l'exemple de code complet de récupération des données vectorielles, voir get_vectors.py.