DashScope RankerCompatible with Milvus 2.6.x
DashScope Ranker memungkinkan Milvus memanggil model pengurutan ulang DashScope dari Alibaba Cloud untuk menyusun ulang hasil pencarian berdasarkan relevansi semantik.
Persyaratan
Sebelum menggunakan DashScope Ranker, pastikan Anda memiliki:
Sebuah koleksi Milvus dengan bidang "
VARCHAR" yang berisi teks yang akan diurutkan ulang.Kunci API DashScope yang valid.
Akses ke model pengurutan ulang DashScope, seperti
gte-rerank-v2.
Untuk model pengurutan ulang yang tersedia dan titik akhir regional, lihat API Pengurutan Ulang Teks di Alibaba Cloud Model Studio.
Konfigurasikan kredensial
Milvus harus mengetahui kunci API DashScope Anda sebelum dapat meminta pengurutan ulang dari DashScope. Anda dapat mengonfigurasi kunci API di milvus.yaml atau melalui variabel lingkungan.
Opsi 1: Berkas konfigurasi
Simpan kunci API Anda di milvus.yaml dan arahkan penyedia reranking DashScope ke label kredensial.
# milvus.yaml
credential:
dashscope_apikey:
apikey: <YOUR_DASHSCOPE_API_KEY>
function:
rerank:
model:
providers:
ali:
credential: dashscope_apikey
# url: https://dashscope.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank
Opsi 2: Variabel lingkungan
Jika tidak ada kredensial yang cocok yang dikonfigurasi di milvus.yaml, Milvus dapat membaca kunci API DashScope dari variabel lingkungan berikut:
Variabel |
Diperlukan? |
Deskripsi |
|---|---|---|
|
Ya |
Kunci API DashScope yang digunakan oleh layanan Milvus untuk memanggil Alibaba Cloud DashScope. |
Buat fungsi pemeringkat DashScope
Untuk menggunakan DashScope Ranker, buat objek Function yang menentukan model pengurutan ulang DashScope dan teks kueri. Gunakan provider: "ali" untuk pengurutan ulang DashScope.
from pymilvus import Function, FunctionType
dashscope_ranker = Function(
name="dashscope_semantic_ranker",
input_field_names=["document"],
function_type=FunctionType.RERANK,
params={
"reranker": "model",
"provider": "ali",
"model_name": "gte-rerank-v2",
"queries": ["renewable energy developments"],
"max_client_batch_size": 128,
"credential": "dashscope_apikey",
},
)
Parameter khusus penilai peringkat DashScope
Parameter |
Wajib? |
Deskripsi |
Nilai / Contoh |
|---|---|---|---|
|
Ya |
Harus diatur ke |
|
|
Ya |
Penyedia layanan model yang akan digunakan untuk penentuan peringkat ulang. Untuk DashScope, gunakan |
|
|
Ya |
Model penentuan peringkat ulang DashScope yang akan digunakan. |
|
|
Ya |
Daftar string kueri yang digunakan oleh model penentuan peringkat ulang untuk menghitung skor relevansi. Jumlah string kueri harus sesuai dengan jumlah kueri dalam permintaan pencarian. |
|
|
Tidak |
Jumlah maksimum dokumen yang akan dikirim ke layanan model per permintaan. |
|
|
Tidak |
Label kredensial yang didefinisikan di bagian tingkat atas |
|
Untuk parameter umum yang digunakan bersama di semua pemeringkat model, seperti provider dan queries, lihat Membuat pemeringkat model.
Terapkan ke pencarian vektor standar
Untuk menerapkan DashScope Ranker ke pencarian vektor standar, berikan fungsi ranker ke ` search()`.
results = client.search(
collection_name="your_collection",
data=[your_query_vector],
anns_field="dense_vector",
limit=5,
output_fields=["document"],
ranker=dashscope_ranker,
consistency_level="Bounded",
)