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

クロスエンコーダ

MilvusはCrossEncoderRerankFunction クラスを通してクロスエンコーダをサポートしています。この機能により、クエリとドキュメントのペアの関連性を効果的にスコアリングすることができます。

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

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

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

from pymilvus.model.reranker import CrossEncoderRerankFunction

# Define the rerank function
ce_rf = CrossEncoderRerankFunction(
    model_name="cross-encoder/ms-marco-MiniLM-L-6-v2",  # Specify the model name.
    device="cpu" # Specify the device to use, e.g., 'cpu' or 'cuda:0'
)

パラメータを指定します:

  • model_name (文字列)

    使用するモデルの名前。使用可能な Cross-Encoder モデル名のいずれかを指定できます。たとえば、cross-encoder/ms-marco-TinyBERT-L-2-v2cross-encoder/ms-marco-MiniLM-L-2-v2 などです。このパラメータを未指定のままにすると、空の文字列が使用されます。利用可能なモデルのリストについては、「Pretrained Cross-Encoders」を参照してください。

  • device (文字列)

    モデルの実行に使用するデバイス。CPU にはcpu を、n 番目の GPU デバイスにはcuda:n を指定できます。

次に、以下のコードを使用して、クエリに基づいて文書を再ランクします:

query = "What event in 1956 marked the official birth of artificial intelligence as a discipline?"

documents = [
    "In 1950, Alan Turing published his seminal paper, 'Computing Machinery and Intelligence,' proposing the Turing Test as a criterion of intelligence, a foundational concept in the philosophy and development of artificial intelligence.",
    "The Dartmouth Conference in 1956 is considered the birthplace of artificial intelligence as a field; here, John McCarthy and others coined the term 'artificial intelligence' and laid out its basic goals.",
    "In 1951, British mathematician and computer scientist Alan Turing also developed the first program designed to play chess, demonstrating an early example of AI in game strategy.",
    "The invention of the Logic Theorist by Allen Newell, Herbert A. Simon, and Cliff Shaw in 1955 marked the creation of the first true AI program, which was capable of solving logic problems, akin to proving mathematical theorems."
]

results = ce_rf(
    query=query,
    documents=documents,
    top_k=3,
)

for result in results:
    print(f"Index: {result.index}")
    print(f"Score: {result.score:.6f}")
    print(f"Text: {result.text}\n")

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

Index: 1
Score: 6.250533
Text: The Dartmouth Conference in 1956 is considered the birthplace of artificial intelligence as a field; here, John McCarthy and others coined the term 'artificial intelligence' and laid out its basic goals.

Index: 0
Score: -2.954602
Text: In 1950, Alan Turing published his seminal paper, 'Computing Machinery and Intelligence,' proposing the Turing Test as a criterion of intelligence, a foundational concept in the philosophy and development of artificial intelligence.

Index: 3
Score: -4.771512
Text: The invention of the Logic Theorist by Allen Newell, Herbert A. Simon, and Cliff Shaw in 1955 marked the creation of the first true AI program, which was capable of solving logic problems, akin to proving mathematical theorems.

翻訳DeepL

Try Managed Milvus for Free

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

Get Started
フィードバック

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