Con el Python SDK V2, llame a la operación GetVectors para recuperar los datos vectoriales de las claves especificadas. Este método le permite obtener tanto los datos del vector como sus metadatos.
Permisos
Las cuentas de Alibaba Cloud tienen todos los permisos de forma predeterminada. Los usuarios y roles de RAM no tienen ningún permiso de manera predeterminada. Para otorgar permisos, una cuenta de Alibaba Cloud o un administrador debe usar una RAM policy o una bucket policy.
|
API |
Acción |
Descripción |
|
GetVectors |
|
Obtiene los datos vectoriales. |
Definición del método
get_vectors(request: GetVectorsRequest, **kwargs) → GetVectorsResult
Parámetros de solicitud
|
Parámetro |
Tipo |
Descripción |
|
request |
GetVectorsRequest |
Establezca los parámetros de la solicitud, como el nombre del bucket, el nombre del índice y la lista de claves de vectores. Para más información, consulte GetVectorsRequest. |
Valores de retorno
|
Tipo |
Descripción |
|
GetVectorsResult |
El valor de retorno que contiene los datos vectoriales consultados. Para más información, consulte GetVectorsResult. |
Para consultar la definición completa del método get_vectors, consulte get_vectors.
Código de ejemplo
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()
Referencias
Para revisar el código de ejemplo completo sobre cómo recuperar datos vectoriales, consulte get_vectors.py.