사용법 (설치·인덱싱·검색)
사용법 (설치·인덱싱·검색)
ColBERT는 파이썬 라이브러리로 바로 쓸 수 있어요. **Python 3.7+**과 PyTorch 1.9+, Hugging Face Transformers가 필요해요. conda 환경 구성을 권장해요.
설치
git clone https://github.com/stanford-futuredata/ColBERT.git
cd ColBERT
# conda 환경에서 설치
conda env create -f conda_env.yml
conda activate colbert
인덱싱
ColBERT는 문서 컬렉션을 미리 인덱싱해야 빠른 검색이 가능해요. 인덱싱은 문서를 행렬로 인코딩해 디스크에 저장하고, 검색용 자료구조를 만드는 과정이에요.
from colbert.infra import Run, RunConfig, ColBERTConfig
from colbert import Indexer
with Run().context(RunConfig(nranks=1, experiment="msmarco")):
config = ColBERTConfig(doc_maxlen=300, nbits=2)
indexer = Indexer(checkpoint="colbert-ir/colbertv2.0", config=config)
indexer.index(name="nbits.2", collection="collection.tsv")
검색
from colbert import Searcher
with Run().context(RunConfig(nranks=1, experiment="msmarco")):
searcher = Searcher(index="nbits.2", checkpoint="colbert-ir/colbertv2.0")
results = searcher.search("ventilator", k=10)
가벼운 서버
공식 저장소는 쿼리 하나에 대해 최대 100개(k) 결과를 JSON 형식으로 내려주는 경량 ColBERTv2 서버 스크립트도 제공해요.