All Products
Search
Document Center

Object Storage Service:Buat indeks vektor (Python SDK V2)

Last Updated:Jun 04, 2026

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

oss: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.