交叉編碼器
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-v2
,cross-encoder/ms-marco-MiniLM-L-2-v2
等。如果不指定此参数,将使用空字符串。如需可用模型的清單,請參閱Pretrained Cross-Encoders。device
(字串)用於執行模型的裝置。您可以指定
cpu
為 CPU,cuda:n
為第 n 個 GPU 裝置。
然後,使用下列程式碼根據查詢來重新排序文件:
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.