Puede llamar a la operación PutVectors mediante el Python SDK V2 para cargar datos vectoriales en un índice de vectores específico.
Permisos
Una cuenta de Alibaba Cloud tiene todos los permisos de forma predeterminada. Sin embargo, los usuarios y roles de Resource Access Management (RAM) no cuentan con ningún permiso de manera predeterminada. El propietario de la cuenta de Alibaba Cloud o un administrador debe otorgar los permisos de operación mediante una RAM policy o una bucket policy.
|
API |
Acción |
Descripción |
|
PutVectors |
|
Escribe datos vectoriales. |
Definición del método
put_vectors(request: PutVectorsRequest, **kwargs) → PutVectorsResult
Parámetros de solicitud
|
Parámetro |
Tipo |
Descripción |
|
request |
PutVectorsRequest |
Los parámetros de la solicitud. Incluyen el nombre del bucket, el nombre del índice y los datos vectoriales. Para obtener más información, consulte PutVectorsRequest. |
Valor de retorno
|
Tipo |
Descripción |
|
PutVectorsResult |
El valor de retorno. Para obtener más información, consulte PutVectorsResult. |
Para consultar la definición completa del método put_vectors, visite put_vectors.
Ejemplos
import argparse
import alibabacloud_oss_v2 as oss
import alibabacloud_oss_v2.vectors as oss_vectors
parser = argparse.ArgumentParser(description="vector put 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 domain names that other services can use to access OSS')
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()
# Loading credentials values from the environment variables
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Using 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 # Set this to False or remove this line to access the service over the public network.
if args.endpoint is not None:
cfg.endpoint = args.endpoint
vector_client = oss_vectors.Client(cfg)
vectors = [
{
"data": {"float32": [0.1] * 128},
"key": "key1",
"metadata": {"metadata1": "value1", "metadata2": "value2"}
},
{
"data": {"float32": [0.2] * 128},
"key": "key2",
"metadata": {"metadata3": "value3", "metadata4": "value4"}
}
]
result = vector_client.put_vectors(oss_vectors.models.PutVectorsRequest(
bucket=args.bucket,
index_name=args.index_name,
vectors=vectors,
))
print(f'status code: {result.status_code},'
f' request id: {result.request_id},'
)
if __name__ == "__main__":
main()
Referencias
Para consultar el código de ejemplo completo sobre cómo cargar datos vectoriales, visite put_vectors.py.