FlashRank README — 설치, 사용, 배포 패턴

FlashRank README — 설치, 사용, 배포 패턴

FlashRank 는 검색·검색 증강 파이프라인에 리랭킹을 추가하는 아주 가벼운 파이썬 라이브러리예요. 설치하고 몇 줄로 재정렬할 수 있어요.

설치

pip install flashrank          # 경량 pairwise 리랭커(기본)
pip install flashrank[listwise]  # LLM 기반 listwise 리랭커

기본 사용

from flashrank import Ranker, RerankRequest

ranker = Ranker(max_length=128)

query = "How to speedup LLMs?"
passages = [
    {"id": 1, "text": "Introduce *lookahead decoding*..."},
    {"id": 2, "text": "LLM inference efficiency will be..."},
    {"id": 3, "text": "There are many ways to increase LLM..."},
]

rerankrequest = RerankRequest(query=query, passages=passages)
results = ranker.rerank(rerankrequest)
print(results)   # score 내림차순 정렬된 리스트

다른 모델 선택

ranker = Ranker(model_name="ms-marco-MiniLM-L-12-v2")     # 최고 성능
ranker = Ranker(model_name="rank-T5-flan")                 # 최고 zeroshot
ranker = Ranker(model_name="ms-marco-MultiBERT-L-12")      # 다국어
ranker = Ranker(model_name="rank_zephyr_7b_v1_full", max_length=1024)  # LLM

속도 최적화

max_length 를 가장 긴 구절+쿼리 토큰 수에 맞게 잡아요. 지나치게 크게 잡으면 응답이 느려져요.

배포 패턴 (AWS Lambda)

서버리스는 읽기 전용 VM 이므로 커스텀 디렉토리를 만들어 모델 캐시로 쓰세요:

ranker = Ranker(model_name="ms-marco-MiniLM-L-12-v2", cache_dir="/opt")

파이프라인 활용

  • 어휘 검색(역색인) 결과, 시맨틱/벡터 검색(RAG) 결과, 하이브리드 검색 결과 모두에 붙일 수 있어요.

더 알아보기 (Learn more)

출처: FlashRank README