Panggil operasi PutVectorIndex menggunakan Python SDK V2 untuk membuat indeks vektor di dalam bucket vektor.
Permissions
Akun Alibaba Cloud memiliki semua izin secara default. Pengguna RAM dan peran tidak memiliki izin secara default, sehingga harus diberikan akses melalui RAM policy atau bucket policy.
|
API |
Action |
Description |
|
PutVectorIndex |
|
Membuat indeks vektor. |
Method definition
put_vector_index(request: PutVectorIndexRequest, **kwargs) → PutVectorIndexResult
Request parameters
|
Parameter |
Type |
Description |
|
request |
PutVectorIndexRequest |
Tetapkan parameter permintaan, seperti nama bucket vektor. Untuk informasi selengkapnya, lihat PutVectorIndexRequest. |
Return values
|
Type |
Description |
|
PutVectorIndexResult |
Nilai kembali. Untuk informasi selengkapnya, lihat PutVectorIndexResult. |
Untuk definisi lengkap metode ini, lihat put_vector_index.
Sample code
import argparse
import alibabacloud_oss_v2 as oss
import alibabacloud_oss_v2.vectors as oss_vectors
parser = argparse.ArgumentParser(description="vector put vector index 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 name 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()
# Muat kredensial dari variabel lingkungan
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Menggunakan konfigurasi default SDK
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 # Untuk mengakses layanan melalui jaringan publik, atur parameter ini ke False atau hapus baris ini.
if args.endpoint is not None:
cfg.endpoint = args.endpoint
vector_client = oss_vectors.Client(cfg)
result = vector_client.put_vector_index(oss_vectors.models.PutVectorIndexRequest(
bucket=args.bucket,
index_name=args.index_name,
dimension=512,
data_type='float32',
distance_metric='euclidean',
metadata={"nonFilterableMetadataKeys": ["key1", "key2"]}
))
print(f'status code: {result.status_code},'
f' request id: {result.request_id},'
)
if __name__ == "__main__":
main()
References
Untuk kode contoh lengkap, lihat put_vector_index.py.