점수 계산 사용법
점수 계산 사용법 (Scoring Usages)
Scoring(점수 계산)은 두 입력 사이의 관련성이나 유사도를 숫자로 매기는 pooling 태스크예요. 주로 reranker(재순위화), cross-encoder, bi-encoder, late-interaction 모델에서 쓰이죠. RAG 시스템에서 검색 결과를 다시 정렬할 때 아주 유용해요. 이 페이지에서는 vLLM에서 scoring 모델을 쓰는 방법을 살펴볼게요.
지원되는 모델 (Supported Models)
멀티모달 모델 (Multimodal Models)
C 표시가 붙은 모델은 --convert embed로 자동으로 임베딩 모델로 변환돼요. 변환된 모델의 기능 지원 범위는 원래 모델과 동일해요.
텍스트 전용 모델 (Text-only Models)
텍스트만 처리하는 scoring 모델을 지원해요. ssmits/Qwen2-7B-Instruct-embed-base 모델은 Sentence Transformers config가 제대로 정의돼 있지 않아서, --pooler-config '{"pooling_type": "MEAN"}'로 mean pooling을 직접 설정해줘야 해요.
BAAI/bge-m3 모델은 sparse 임베딩과 colbert 임베딩용 추가 가중치를 갖고 있어요. 자세한 내용은 이 페이지를 참고하세요.
멀티모달 모델 (Multimodal Models)
| 아키텍처 | 모델 | 입력 | 예시 HF 모델 | LoRA | PP |
|---|---|---|---|---|---|
Phi3VForCausalLMC |
Phi-3-Vision 기반 | T + I | TIGER-Lab/VLM2Vec-Full | ✅ |
C 표시가 붙은 모델은 모델 변환에 따라 자동으로 임베딩 모델로 변환되며, 기능 지원 범위는 원래 모델과 동일해요.
온라인 서빙 (Online Serving)
Score API
Score API를 쓰면 쿼리와 문서 쌍 사이의 점수를 계산할 수 있어요.
예제 (Examples)
멀티모달 입력 (Multi-modal inputs)
요청에서 이미지 같은 멀티모달 입력 리스트를 담은 content를 넘기면 scoring 모델에도 멀티모달 입력을 전달할 수 있어요. 예를 들어 JinaVL-Reranker 모델을 서빙할 때는 jinaai/jina-reranker-m0 모델과 queries, documents 필드를 사용해요.
"jinaai/jina-reranker-m0",
"queries": "slm markdown",
"documents": [
{
"content": [...]
}
]
Cohere Rerank API
/rerank, /v1/rerank, /v2/rerank API는 Jina AI의 rerank API 인터페이스 및 Cohere의 rerank API 인터페이스와 호환돼서, 널리 쓰이는 오픈소스 도구들과 잘 맞아요.
파라미터 (Parameters)
request_id 관련 파라미터가 지원돼요. 호출자가 설정하지 않으면 랜덤 UUID가 자동 생성돼요.
지원 기능 (Supported Features)
Score 템플릿 (Score Template)
쿼리와 문서 내용에 접근하려면 Jinja의 selectattr 필터를 사용해요.
- 쿼리:
{{ (messages | selectattr("role", "eq", "query") | first).content }} - 문서:
{{ (messages | selectattr("role", "eq", "document") | first).content }}