colbert-ko-en-v2 is a Korean-English bilingual late-interaction (ColBERT) retriever built on
skt/A.X-Encoder-base. It encodes every token into a
128-dimensional vector and scores query–document pairs with MaxSim, keeping the term-level matching
signal that a single pooled vector discards.
At 149M parameters it reaches an average nDCG@10 of 0.7984 across the nine MTEB(kor, v2)
retrieval tasks — the strongest late-interaction model on that suite, and in the same range as
single-vector models many times its size.
Key Characteristics
Late interaction: one 128-d vector per token, scored with MaxSim. No pooling.
Long documents: up to 8,192 tokens, on ModernBERT's RoPE attention.
Compact: 149M parameters.
No instruction prefixes: queries and documents need no task instruction. Query expansion to
64 tokens is handled by the model.
Usage
pip install -U pylate
Indexing documents
python
1from pylate import indexes, models, retrieve
23model = models.ColBERT(model_name_or_path="yjoonjang/colbert-ko-en-v2")45index = indexes.PLAID(6 index_folder="pylate-index",7 index_name="index",8 override=True,9)1011documents_ids =["1","2","3"]12documents =[13"세종대왕은 1443년에 훈민정음을 창제하고 1446년에 이를 반포하였다.",14"김치는 배추나 무를 소금에 절인 뒤 고춧가루와 젓갈을 넣어 발효시킨 음식이다.",15"한라산은 해발 1,947m로 남한에서 가장 높은 산이며 제주도 중앙에 자리한다.",16]1718documents_embeddings = model.encode(19 documents,20 batch_size=32,21 is_query=False,22 show_progress_bar=True,23)2425index.add_documents(26 documents_ids=documents_ids,27 documents_embeddings=documents_embeddings,28)
To reuse an existing index, instantiate it without override:
index = indexes.PLAID(index_folder="pylate-index", index_name="index")
To rerank a first-stage candidate list without building an index:
python
1from pylate import models, rank
23model = models.ColBERT(model_name_or_path="yjoonjang/colbert-ko-en-v2")45queries =[6"전기차 폐배터리는 어떻게 재활용하나요?",7"겨울에 한라산을 오를 때 필요한 장비는?",8]9documents =[10[11"폐배터리에서 리튬과 코발트를 회수하는 습식 제련 공정이 상용화되고 있다.",12"급속 충전기는 30분 내외로 배터리를 80%까지 충전할 수 있다.",13],14[15"겨울 한라산 산행에는 아이젠과 방한 장갑이 필수이며 입산 시간이 제한된다.",16"제주 올레길은 해안을 따라 이어지는 27개 코스로 구성되어 있다.",17"적설기에는 등산화에 스패츠를 착용해 눈이 들어가는 것을 막는 것이 좋다.",18],19]20documents_ids =[[1,2],[1,3,2]]2122queries_embeddings = model.encode(queries, is_query=True)23documents_embeddings = model.encode(documents, is_query=False)2425reranked_documents = rank.rerank(26 documents_ids=documents_ids,27 queries_embeddings=queries_embeddings,28 documents_embeddings=documents_embeddings,29)
Evaluation
nDCG@10 on the nine MTEB(kor, v2) retrieval tasks.
Late-interaction rows were measured with mteb 2.18.16 and PLAID retrieval; single-vector rows are
taken from the official MTEB results repository, except for Belebele using only Korean query, Korean corpus subset.
The original version also includes cross-lingual subsets (Korean query - English corpus, English query - Korean corpus).
1@misc{colbert-ko-en-v2,
2 title = {colbert-ko-en-v2: a Korean-English bilingual late-interaction retriever},
3 author = {Jang, Yongjoon},
4 year = {2026},
5 url = {https://huggingface.co/yjoonjang/colbert-ko-en-v2},
6}
bibtex
1@inproceedings{santhanam-etal-2022-colbertv2,
2 title = {ColBERTv2: Effective and Efficient Retrieval via Lightweight Late Interaction},
3 author = {Santhanam, Keshav and Khattab, Omar and Saad-Falcon, Jon and Potts, Christopher and Zaharia, Matei},
4 booktitle = {Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies},
5 year = {2022},
6 pages = {3715--3734},
7}
bibtex
1@misc{PyLate,
2 title = {PyLate: Flexible Training and Retrieval for Late Interaction Models},
3 author = {Chaffin, Antoine and Sourty, Raphaël},
4 year = {2024},
5 url = {https://github.com/lightonai/pylate},
6}