Voyage
MilvusはVoyageEmbeddingFunctionクラスを通してVoyageのモデルと統合しています。このクラスはVoyageのモデルを用いてドキュメントやクエリをエンコードし、Milvusのインデックスと互換性のある密なベクトルとしてエンベッディングを返すメソッドを提供します。この機能を利用するには、Voyageのプラットフォームでアカウントを作成し、APIキーを取得してください。
この機能を使用するには、必要な依存関係をインストールします:
pip install --upgrade pymilvus
pip install "pymilvus[model]"
そして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
)
パラメータ
model_name
(string) エンコードに使用する Voyage モデルの名前。例えば、 、 などです。このパラメータを指定しない場合、 が使用されます。利用可能なモデルのリストについては、voyage-3-lite
voyage-finance-2
voyage-3
Voyageの公式ドキュメントを参照してください。api_key
(文字列) Voyage APIにアクセスするためのAPIキー。APIキーの作成方法についてはAPIキーとPythonクライアントを参照してください。
ドキュメントの埋め込みを作成するには、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)
期待される出力は以下のようなものです:
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,)
クエリの埋め込みを作成するには、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)
期待される出力は以下のようなものです:
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,)