All Products
Search
Document Center

Object Storage Service:Kueri vektor menggunakan OSS SDK untuk Python 2.0

Last Updated:Jun 04, 2026

Topik ini menjelaskan cara menggunakan OSS SDK untuk Python 2.0 guna memanggil operasi QueryVectors dan melakukan pencarian kemiripan dalam indeks vektor.

Izin

Akun Alibaba Cloud memiliki semua izin secara default. Pengguna Resource Access Management (RAM) atau Peran RAM di bawah akun Alibaba Cloud tidak memiliki izin secara default. Akun Alibaba Cloud atau administrator harus memberikan izin untuk operasi tersebut melalui ikhtisar kebijakan RAM atau kebijakan bucket.

API

Action

Description

QueryVectors

oss:QueryVectors

Melakukan kueri terhadap data vektor.

Definisi metode

query_vectors(request: QueryVectorsRequest, **kwargs) → QueryVectorsResult

Parameter permintaan

Parameter

Type

Description

request

QueryVectorsRequest

Menetapkan parameter permintaan, termasuk vektor kueri, kondisi filter, dan jumlah hasil yang akan dikembalikan. Untuk informasi selengkapnya, lihat QueryVectorsRequest.

Nilai kembali

Type

Description

QueryVectorsResult

Nilai kembali, yang berisi daftar vektor yang dikembalikan. Untuk informasi selengkapnya, lihat QueryVectorsResult.

Untuk definisi lengkap metode ini, lihat query_vectors.

Kode contoh

import argparse
import alibabacloud_oss_v2 as oss
import alibabacloud_oss_v2.vectors as oss_vectors

parser = argparse.ArgumentParser(description="vector query 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()

    # Memuat nilai 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 nilai ini ke False atau hapus baris ini.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    vector_client = oss_vectors.Client(cfg)

    query_filter = {
        "$and": [{
            "type": {
                "$nin": ["comedy", "documentary"]
            }
        }]
    }

    query_vector = {"float32": [0.1] * 128}

    result = vector_client.query_vectors(oss_vectors.models.QueryVectorsRequest(
        bucket=args.bucket,
        index_name=args.index_name,
        filter=query_filter,
        query_vector=query_vector,
        return_distance=True,
        return_metadata=True,
        top_k=10
    ))

    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
          )

    if result.vectors:
        for vector in result.vectors:
            print(f'vector: {vector}')


if __name__ == "__main__":
    main()

Referensi

Untuk kode contoh lengkap mengenai kueri vektor, lihat query_vectors.py.