Você pode chamar a operação GetVectors por meio do 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 possuem todas as permissões por padrão. Usuários RAM ou funções RAM não possuem nenhuma permissão por padrão. Uma conta Alibaba Cloud ou um administrador deve conceder permissões por meio de uma RAM policy ou de uma bucket policy.
|
API |
Action |
Descrição |
|
GetVectors |
|
Obtém dados vetoriais. |
Definição do método
get_vectors(request: GetVectorsRequest, **kwargs) → GetVectorsResult
Parâmetros da requisição
|
Parâmetro |
Tipo |
Descrição |
|
request |
GetVectorsRequest |
Defina os parâmetros da requisição, como nome do bucket, nome do índice e lista de chaves de vetor. Para obter mais informações, consulte GetVectorsRequest. |
Valores de retorno
|
Tipo |
Descrição |
|
GetVectorsResult |
Valor de retorno contendo os dados vetoriais consultados. Para obter 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 acessar o código de exemplo completo sobre recuperação de dados vetoriais, consulte get_vectors.py.