Cross-Encoder
Milvus unterstützt Cross-Encoder durch die Klasse CrossEncoderRerankFunction
. Diese Funktionalität ermöglicht es Ihnen, die Relevanz von Abfrage-Dokumenten-Paaren effektiv zu bewerten.
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
pip install --upgrade pymilvus
pip install "pymilvus[model]"
Dann instanziieren Sie die 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'
)
Parameter:
model_name
(string)Der Name des zu verwendenden Modells. Sie können jeden der verfügbaren Cross-Encoder-Modellnamen angeben, z. B.
cross-encoder/ms-marco-TinyBERT-L-2-v2
,cross-encoder/ms-marco-MiniLM-L-2-v2
, usw. Wenn Sie diesen Parameter nicht angeben, wird ein leerer String verwendet. Eine Liste der verfügbaren Modelle finden Sie unter Pretrained Cross-Encoders.device
(Zeichenfolge)Das für die Ausführung des Modells zu verwendende Gerät. Sie können
cpu
für die CPU undcuda:n
für das n-te GPU-Gerät angeben.
Verwenden Sie dann den folgenden Code, um die Dokumente auf der Grundlage der Abfrage neu zu ordnen:
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")
Die erwartete Ausgabe ist ähnlich wie die folgende:
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.