Voyage
Milvus terintegrasi dengan model-model Voyage melalui kelas VoyageEmbeddingFunction. Kelas ini menyediakan metode untuk mengkodekan dokumen dan kueri menggunakan model Voyage dan mengembalikan sematan sebagai vektor padat yang kompatibel dengan pengindeksan Milvus. Untuk menggunakan fungsi ini, dapatkan kunci API dari Voyage dengan membuat akun di platform mereka.
Untuk menggunakan fitur ini, instal dependensi yang diperlukan:
pip install --upgrade pymilvus
pip install "pymilvus[model]"
Kemudian, instal VoyageEmbeddingFunction
:
from pymilvus.model.dense import VoyageEmbeddingFunction
voyage_ef = VoyageEmbeddingFunction(
model_name="voyage-3", # Defaults to `voyage-3`
api_key=VOYAGE_API_KEY # Provide your Voyage API key
)
Parameter:
model_name
(string) Nama model Voyage yang akan digunakan untuk pengkodean. Anda dapat menentukan salah satu nama model Voyage yang tersedia, misalnya,voyage-3-lite
,voyage-finance-2
, dsb. Jika Anda membiarkan parameter ini tidak ditentukan,voyage-3
akan digunakan. Untuk daftar model yang tersedia, lihat dokumentasi resmi Voyage.api_key
(string) Kunci API untuk mengakses API Voyage. Untuk informasi tentang cara membuat kunci API, lihat Kunci API dan Klien Python.
Untuk membuat penyematan dokumen, gunakan metode encode_documents()
:
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
"Born in Maida Vale, London, Turing was raised in southern England.",
]
docs_embeddings = voyage_ef.encode_documents(docs)
# Print embeddings
print("Embeddings:", docs_embeddings)
# Print dimension and shape of embeddings
print("Dim:", voyage_ef.dim, docs_embeddings[0].shape)
Hasil yang diharapkan serupa dengan yang berikut ini:
Embeddings: [array([ 0.02582654, -0.00907086, -0.04604037, ..., -0.01227521,
0.04420955, -0.00038829]), array([ 0.03844212, -0.01597065, -0.03728884, ..., -0.02118733,
0.03349845, 0.0065346 ]), array([ 0.05143557, -0.01096631, -0.02690451, ..., -0.02416254,
0.07658645, 0.03064499])]
Dim: 1024 (1024,)
Untuk membuat penyematan untuk kueri, gunakan metode encode_queries()
:
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
query_embeddings = voyage_ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print("Dim", voyage_ef.dim, query_embeddings[0].shape)
Hasil yang diharapkan serupa dengan yang berikut ini:
Embeddings: [array([ 0.01733501, -0.0230672 , -0.05208827, ..., -0.00957995,
0.04493361, 0.01485138]), array([ 0.05937521, -0.00729363, -0.02184347, ..., -0.02107683,
0.05706626, 0.0263358 ])]
Dim 1024 (1024,)