Chame a operação GetVectors com o Python SDK V2 para recuperar dados vetoriais de chaves específicas. É possível obter tanto os dados do vetor quanto seus metadados.
Permissões
As contas Alibaba Cloud têm todas as permissões por padrão. Usuários ou funções RAM não possuem permissões configuradas inicialmente. Uma conta Alibaba Cloud ou um administrador deve conceder as permissões necessárias usando uma política do RAM ou uma política de bucket.
|
API |
Ação |
Descrição |
|
GetVectors |
|
Recupera dados vetoriais. |
Definição do método
get_vectors(request: GetVectorsRequest, **kwargs) → GetVectorsResult
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Descrição |
|
request |
GetVectorsRequest |
Defina os parâmetros da solicitação, como nome do bucket, nome do índice e lista de chaves de vetores. Para mais informações, consulte GetVectorsRequest. |
Valores de retorno
|
Tipo |
Descrição |
|
GetVectorsResult |
Valor retornado que contém os dados vetoriais consultados. Para mais informações, consulte GetVectorsResult. |
Para ver a definição completa do método get_vectors, consulte get_vectors.
Código de exemplo
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()
Referências
Para obter o código de exemplo completo sobre recuperação de dados vetoriais, consulte get_vectors.py.