Reranking search results using a cross-encoder model
출처: 문서
본문
크로스 인코더 모델을 사용한 검색 결과 재순위화
2.12에 도입됨 {: .label .label-purple }
크로스 인코더 모델을 사용하여 검색 결과를 재순위화하면 검색 관련성을 개선할 수 있어요. 재순위화를 구현하려면 검색 시간에 실행되는 검색 파이프라인을 구성해야 해요. 검색 파이프라인은 검색 결과를 가로채서 rerank 프로세서를 적용해요. rerank 프로세서는 검색 결과를 평가하고 크로스 인코더 모델이 제공하는 새 점수에 따라 결과를 정렬해요.
전제 조건
재순위화 파이프라인을 구성하기 전에 크로스 인코더 모델을 설정해야 해요. OpenSearch 제공 모델 사용에 대한 자세한 내용은 크로스 인코더 모델을 참조하세요. 사용자 지정 모델 사용에 대한 자세한 내용은 사용자 지정 로컬 모델을 참조하세요.
{: .note}
재순위화를 사용한 검색 실행
재순위화를 사용하여 검색을 실행하려면 다음 단계를 따르세요.
1단계: 검색 파이프라인 구성
다음으로, rerank 프로세서를 사용하여 검색 파이프라인을 구성하고 ml_opensearch 재순위화 유형을 지정하세요. 요청에서 크로스 인코더 모델의 모델 ID와 컨텍스트로 사용할 문서 필드를 제공하세요.
PUT /_search/pipeline/my_pipeline
{
"description": "Pipeline for reranking with a cross-encoder",
"response_processors": [
{
"rerank": {
"ml_opensearch": {
"model_id": "gnDIbI0BfUsSoeNT_jAw"
},
"context": {
"document_fields": [
"passage_text"
]
}
}
}
]
}
{% include copy-curl.html %}
요청 필드에 대한 자세한 내용은 요청 필드를 참조하세요.
2단계: 수집을 위한 인덱스 생성
파이프라인에 정의된 rerank 프로세서를 사용하려면 OpenSearch 인덱스를 생성하고 이전 단계에서 생성한 파이프라인을 기본 파이프라인으로 추가하세요.
PUT /my-index
{
"settings": {
"index.search.default_pipeline" : "my_pipeline"
},
"mappings": {
"properties": {
"passage_text": {
"type": "text"
}
}
}
}
{% include copy-curl.html %}
3단계: 인덱스에 문서 수집
이전 단계에서 생성한 인덱스에 문서를 수집하려면 다음 벌크 요청을 전송하세요.
POST /_bulk
{ "index": { "_index": "my-index" } }
{ "passage_text" : "I said welcome to them and we entered the house" }
{ "index": { "_index": "my-index" } }
{ "passage_text" : "I feel welcomed in their family" }
{ "index": { "_index": "my-index" } }
{ "passage_text" : "Welcoming gifts are great" }
{% include copy-curl.html %}
4단계: 재순위화를 사용한 검색
인덱스에서 재순위화 검색을 수행하려면 OpenSearch 쿼리를 사용하고 추가로 ext.rerank 필드를 제공하세요.
POST /my-index/_search
{
"query": {
"match": {
"passage_text": "how to welcome in family"
}
},
"ext": {
"rerank": {
"query_context": {
"query_text": "how to welcome in family"
}
}
}
}
{% include copy-curl.html %}
또는 컨텍스트가 포함된 필드의 전체 경로를 제공할 수 있어요. 자세한 내용은 Rerank 프로세서 예제를 참조하세요.
다음 단계
rerank프로세서에 대해 자세히 알아보세요.- 외부 호스팅 크로스 인코더 모델을 사용한 필드별 재순위화의 포괄적인 예를 확인하세요.