크로스 인코더
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/ms-marco-TinyBERT-L-2-v2
,cross-encoder/ms-marco-MiniLM-L-2-v2
등)을 지정할 수 있습니다. 이 매개변수를 지정하지 않으면 빈 문자열이 사용됩니다. 사용 가능한 모델 목록은 사전 학습된 크로스 인코더를 참조하세요.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.