milvus-logo
LFAI
フロントページへ
  • モデル

センテンストランスフォーマー

MilvusはSentenceTransformerEmbeddingFunctionクラスを通してSentence Transformerの事前訓練されたモデルと統合します。このクラスは事前に訓練されたSentence Transformerモデルを使って文書やクエリをエンコードし、Milvusインデックスと互換性のある密なベクトルとしてエンベッディングを返すメソッドを提供します。

この機能を使用するには、必要な依存関係をインストールしてください:

pip install --upgrade pymilvus
pip install "pymilvus[model]"

次にSentenceTransformerEmbeddingFunction をインスタンス化します:

from pymilvus import model

sentence_transformer_ef = model.dense.SentenceTransformerEmbeddingFunction(
    model_name='all-MiniLM-L6-v2', # Specify the model name
    device='cpu' # Specify the device to use, e.g., 'cpu' or 'cuda:0'
)

パラメータ

  • model_name(string)

    エンコーディングに使用するSentence Transformerモデルの名前。値のデフォルトはall-MiniLM-L6-v2。Sentence Transformerの事前学習済みモデルのどれでも使用できます。利用可能なモデルのリストについては、Pretrained modelsを参照してください。

  • device(文字列)

    使用するデバイス。CPUはcpu、n番目のGPUデバイスはcuda:n

ドキュメントの埋め込みを作成するには、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 = sentence_transformer_ef.encode_documents(docs)

# Print embeddings
print("Embeddings:", docs_embeddings)
# Print dimension and shape of embeddings
print("Dim:", sentence_transformer_ef.dim, docs_embeddings[0].shape)

期待される出力は以下のようなものです:

Embeddings: [array([-3.09392996e-02, -1.80662833e-02,  1.34775648e-02,  2.77156215e-02,
       -4.86349640e-03, -3.12581174e-02, -3.55921760e-02,  5.76934684e-03,
        2.80773244e-03,  1.35783911e-01,  3.59678417e-02,  6.17732145e-02,
...
       -4.61330153e-02, -4.85207550e-02,  3.13997865e-02,  7.82178566e-02,
       -4.75336798e-02,  5.21207601e-02,  9.04406682e-02, -5.36676683e-02],
      dtype=float32)]
Dim: 384 (384,)

クエリの埋め込みを作成するには、encode_queries()メソッドを使用します:

queries = ["When was artificial intelligence founded", 
           "Where was Alan Turing born?"]

query_embeddings = sentence_transformer_ef.encode_queries(queries)

# Print embeddings
print("Embeddings:", query_embeddings)
# Print dimension and shape of embeddings
print("Dim:", sentence_transformer_ef.dim, query_embeddings[0].shape)

期待される出力は以下のようなものです:

Embeddings: [array([-2.52114702e-02, -5.29330298e-02,  1.14570223e-02,  1.95571519e-02,
       -2.46500354e-02, -2.66519729e-02, -8.48201662e-03,  2.82961670e-02,
       -3.65092754e-02,  7.50745758e-02,  4.28900979e-02,  7.18822703e-02,
...
       -6.76431581e-02, -6.45996556e-02, -4.67132553e-02,  4.78532910e-02,
       -2.31596199e-03,  4.13446948e-02,  1.06935494e-01, -1.08258888e-01],
      dtype=float32)]
Dim: 384 (384,)

翻訳DeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
フィードバック

このページは役に立ちましたか ?