Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:Python 2.0 için OSS SDK kullanarak vektörleri sorgulama

Son Güncelleme:Oct 02, 2026

Bu konu, Python 2.0 için OSS SDK'yı kullanarak QueryVectors işlemini nasıl çağıracağınızı ve bir vektör dizininde benzerlik araması yapacağınızı açıklar.

İzinler

Varsayılan olarak bir Alibaba Cloud hesabının tam izinleri bulunurken, bir RAM kullanıcısının veya RAM rolünün herhangi bir izni yoktur. Alibaba Cloud hesap sahibi veya bir yönetici, RAM ilkesi veya paket ilkesi kullanarak izinleri vermelidir.


API


Eylem


Açıklama


QueryVectors


oss:QueryVectors


Vektör verilerini sorgular.

Yöntem tanımı

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

İstek parametreleri


Parametre


Tür


Açıklama


request


QueryVectorsRequest


Sorgu vektörü, filtre koşulu ve döndürülecek sonuç sayısı dahil olmak üzere istek parametrelerini ayarlar. Daha fazla bilgi için bkz. QueryVectorsRequest.

Dönüş değerleri


Tür


Açıklama


QueryVectorsResult


Döndürülen vektörlerin listesini içeren dönüş değeri. Daha fazla bilgi için bkz. QueryVectorsResult.

Yöntemin tam tanımı için bkz. query_vectors.

Örnek kod

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()

    # 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  # To access the service 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)

    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()

Referans

Vektörleri sorgulamaya ilişkin tam örnek kod için bkz. query_vectors.py.