モデル別実行レシピ
最終更新
小型モデルで英語文書を検索する UIBK-Embedding-v1
英語チェックポイントなので英語文書の検索実験に使います。
UIBK-Embedding-v1は179Mの英語埋め込みモデルです。denseとトークン1単位のlate interactionを組み合わせるため、文書規模と索引容量を一緒に評価します。
英語文書の検索候補を作るモデル
UIBK-Embedding-v1は英語の質問と文書を検索表現にする179Mモデルです。denseベクトルとトークン単位のlate-interactionスコアをPLAID検索で組み合わせます。モデルカードの検索経路に沿って評価します。
製品サポート文書500件で「battery health report」に答えるページを探す例では、質問と正解ページを固定し、索引を100・500・2,000件へ増やします。検索成功率とトークン単位の容量変化を確認できます。

PLAID経路と言語を合わせます
この例はPyLate ColBERTとPLAIDを接続する公開の検索経路です。dense単独のablationは含みません。独立した./uibk-plaid-demo folderとsupport-demo index名を使い、既存索引を変更しません。
文書4件を登録し質問1件を送ると、PLAID検索のIDとscoreを表示します。この小さな例はAPI2経路の確認用です。Recall@10比較には正解文書を付けた大きな英語質問セットを用意します。
from pylate import indexes, models, retrieve
model = models.ColBERT("DataScience-UIBK/uibk-embedding-v1", trust_remote_code=True)
document_ids = ["refund", "delivery", "battery", "warranty"]
documents = [
"Refund requests are processed within five business days after cancellation.",
"Delivery addresses can be changed before an order is prepared.",
"The battery health report is available in Settings under Power.",
"The limited warranty lasts for two years from the purchase date.",
]
index = indexes.PLAID(index_folder="./uibk-plaid-demo", index_name="support-demo", override=False)
doc_vectors = model.encode(documents, is_query=False, prompt_name="document")
index.add_documents(documents_ids=document_ids, documents_embeddings=doc_vectors)
search = retrieve.ColBERT(index=index)
query_vectors = model.encode(
["Where can I see the battery health report?"],
is_query=True,
prompt_name="query",
)
for result in search.retrieve(queries_embeddings=query_vectors, k=3)[0]:
print(result)python -m venv .venv
source .venv/bin/activate
python -m pip install -U pylate 'transformers>=5.3' 'sentence-transformers>=5.3'
ベクトル容量と索引全体を分けます
文書数を増やしながら埋め込み時間・検索遅延・Recall@10・PLAID索引フォルダーの実容量を記録します。late interactionはトークン表現を保持するため、pool済みベクトルのバイト数だけでは全容量を表しません。
200件の質問で正解文書が上位10件に入る割合を記録します。メモリ不足時はbatchサイズか索引設定を1つずつ変更します。品質と遅延が手元の機器に合えば採用できます。
英語以外の文書を扱うなら、このモデルを基準にしないでください。英語でも検索指標が目標に届かない場合は、文の分割方法とチャンクサイズから変えてみてください。

用語の注釈
よくある質問
- この記事で最初に確認すべきことは何ですか?
- UIBK-Embedding-v1は179Mの英語埋め込みモデルです。denseとトークン単位のlate interactionを組み合わせるため、文書規模と索引容量を一緒に評価します。
- 必要なメモリはどのくらいですか?
- 200件の質問で正解文書が上位10件に入る割合を記録します。メモリ不足時はbatchサイズか索引設定を1つずつ変更します。品質と遅延が手元の機器に合えば採用できます。
