Reranker API — 검색 관련성 재정렬

Reranker API — 검색 관련성 재정렬

검색 시스템의 목표는 가장 관련성 높은 결과를 빠르게 찾는 거예요. 전통적으로 BM25나 tf-idf가 키워드 매칭으로 결과를 정렬하고, 최근에는 벡터 DB에서 임베딩 기반 코사인 유사도가 널리 쓰이는데, 이런 방법들은 언어의 미묘함, 특히 문서와 질의 의도 사이의 상호작용을 놓치기 쉬워요. 리랭커는 이 지점에서 빛을 발합니다.

출처: https://jina.ai/reranker/

리랭커는 초기 검색(주로 임베딩/토큰 기반)이 가져온 결과 집합을 다시 평가해서 사용자 의도에 더 가깝게 다시 정렬하는 고급 AI 모델이에요. 표면적인 용어 매칭 너머, 검색 질의와 문서 내용 사이의 더 깊은 상호작용을 봅니다.

동작 흐름

  1. Initial Retrieval: 임베딩/BM25로 질의에 대해 잠재적으로 관련 있는 문서 집합을 넓게 찾는다.
  2. Reranking: 리랭커가 결과를 문서·질의 세그먼트 단위로 더 세밀하게 분석한다.
  3. Improved Results: 더 깊은 분석에 기반해 가장 관련 있다고 판단한 결과를 위로 정렬한다.

리랭커는 문서·질의 이하(sub-document, sub-query) 수준에서 동작하기 때문에 질의 내 단어·구, 그 의미, 서로의 관계까지 봐서 더 정밀하고 맥락에 맞는 결과를 만들어줘요.

API 호출

curl "https://api.jina.ai/v1/rerank" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -d @- <<EOF
{
  "model": null,
  "query": "Organic skincare products for sensitive skin",
  "top_n": 3,
  "documents": [
    "Organic skincare for sensitive skin with aloe vera and chamomile: ...",
    "New makeup trends focus on bold colors and innovative techniques: ..."
  ],
  "return_documents": false
}
EOF

querydocuments 배열, 상위 몇 개를 가져올지 top_n을 지정하면 됩니다.

Jina Reranker v2

Reranker v2(2024년 6월 릴리스)는 Agentic RAG 를 위해 만들어졌어요. 100개 이상 언어의 다국어 리트리벌, 함수 호출(function-calling) 지원, 코드 검색이 핵심입니다. 텍스트 리랭킹 기준으로는 jina-reranker-v3.5가 이를 대체합니다.

  • Multilingual Retrieval: 질의 언어와 무관하게 100개 이상 언어의 문서 검색 지원
  • Function-Calling & Code Search: 자연어 질의로 코드 스니펫·함수 시그니처 랭킹
  • Tabular and Structured Data: 자연어 질의로 관련 테이블 랭킹, SQL 생성 전에 스키마 정렬

더 알아보기

  • 임베딩은 Embeddings API 참고
  • URL 변환은 Reader API 참고
  • 리랭커 레이트 리밋·가격은 Jina AI 문서 참고