리랭킹

리랭킹 (Reranking)

리랭킹은 문서 집합을 쿼리와의 관련성을 기준으로 다시 정렬해 검색 정확도를 높이는 기법이에요. 임베딩 기반 유사도 검색과 달리, 리랭킹 모델은 쿼리와 문서 사이의 관계를 이해하도록 특별히 학습돼서 더 정확한 관련성 점수를 내는 경우가 많죠. RAG(검색 증강 생성) 파이프라인에서 1차 검색 결과를 한 번 더 골라내는 후처리 단계로 주로 쓰입니다. AI SDK는 이를 위한 rerank 함수를 제공해요.

출처: 공식문서

본문

문서 리랭킹

rerank 함수로 문서를 쿼리 관련성에 따라 다시 정렬합니다. 리랭킹 모델(예: cohere.reranking('rerank-v3.5'), bedrock.reranking('cohere.rerank-v3-5:0'))과 함께 씁니다.

import { rerank } from 'ai';
import { cohere } from '@ai-sdk/cohere';

const documents = [
  'sunny day at the beach',
  'rainy afternoon in the city',
  'snowy night in the mountains',
];

const { ranking } = await rerank({
  model: cohere.reranking('rerank-v3.5'),
  documents,
  query: 'talk about rain',
  topN: 2, // Return top 2 most relevant documents
});

console.log(ranking);
// [
//   { originalIndex: 1, score: 0.9, document: 'rainy afternoon in the city' },
//   { originalIndex: 0, score: 0.3, document: 'sunny day at the beach' }
// ]

객체 문서 다루기

리랭킹은 JSON 객체 같은 구조화 문서도 지원해서, 데이터베이스·이메일 등 구조화 콘텐츠 검색에 적합합니다. rerankedDocuments는 관련성 순으로 정렬된 문서 배열(편의 속성)이고, originalDocuments는 원본 배열입니다.

const { ranking, rerankedDocuments } = await rerank({
  model: cohere.reranking('rerank-v3.5'),
  documents, // 배열 of { from, subject, text }
  query: 'Which pricing did we get from Oracle?',
  topN: 1,
});

console.log(rerankedDocuments[0]); // 관련성이 가장 높은 문서 객체

결과 이해하기

ranking 배열의 각 항목은 다음을 포함합니다.

  • originalIndex: 원본 문서 배열에서의 위치
  • score: 관련성 점수 (보통 0~1, 높을수록 관련성 높음)
  • document: 원본 문서

설정

  • topN: 반환할 상위 결과 수를 제한해 가장 관련성 높은 문서만 가져옵니다.
  • Provider Options: providerOptions로 공급자별 파라미터를 설정해요. 예: Cohere의 maxTokensPerDoc: 1000.
  • 재시도: maxRetries(기본 2, 즉 총 3회 시도). 0으로 비활성화 가능.
  • 중단·타임아웃: abortSignal로 중단하거나 타임아웃 설정. 예: AbortSignal.timeout(5000).
  • 커스텀 헤더: headers: Record<string, string>로 요청에 헤더 추가.
  • 응답 정보: response로 공급자의 원시 응답({ id, timestamp, modelId, headers, body })에 접근.

리랭킹 공급자 & 모델

Cohere(rerank-v3.5, rerank-english-v3.0, rerank-multilingual-v3.0), Amazon Bedrock(amazon.rerank-v1:0, cohere.rerank-v3-5:0), Together.ai(Salesforce/Llama-Rank-v1, mixedbread-ai/Mxbai-Rerank-Large-V2)가 리랭킹 모델을 제공합니다.

더 알아보기