RAG、セマンティック検索、ナレッジベース検索を始めると、多くの人が最初に同じ疑問にぶつかります。埋め込みモデルはたくさんあるけれど、結局どれを選べばいいのか、ということです。
代表的なモデルは大きく二つに分けられます。一つは中国語・英語・多言語タスクを広くカバーする汎用テキスト埋め込みです。もう一つは中国語向けの用途により適していて、中国語検索、中国語 QA、中国語ナレッジベースでの性能を重視したものです。
まず短い結論だけ言うなら、次のように考えると分かりやすいです。
- 手間を減らして API をそのまま使いたいなら:
text-embedding-3-smallまたはtext-embedding-3-large - 中国語検索をやりたくて、かつオープンソースを自前で運用したいなら:
bge-base-zh-v1.5、bge-m3、gte-large-zh - 多言語にも対応したいなら:
multilingual-e5-base、multilingual-e5-large、jina-embeddings-v3 - 中国語用途でコストを抑えたいなら:
bge-small-zh-v1.5、gte-base-zh
1. まずは種類ごとに見る
1. OpenAI 系
text-embedding-3-smalltext-embedding-3-large
この系統の特徴は、呼び出しが簡単で安定していることです。API を直接使って検索、RAG、分類、類似度マッチングを行うのに向いています。強みは「特定の中国語ベンチマークで飛び抜けて高得点」という点ではなく、全体としての使いやすさにあります。導入ハードルが低く、品質が安定していて、エンジニアリングコストも低いです。
チームとしてモデルを自前でホストしたくない、推論サービスの運用もしたくないなら、OpenAI 系はたいてい最も時間を節約しやすい選択です。
2. BGE 系
BAAI/bge-small-zh-v1.5BAAI/bge-base-zh-v1.5bge-m3
BGE は中国語検索で非常によく見かける系統です。bge-small-zh-v1.5 と bge-base-zh-v1.5 は中国語単一言語タスク寄りで、中国語セマンティック検索、ナレッジベース検索、FAQ マッチングに向いています。bge-m3 はより汎用的で、多言語、多粒度、より複雑な検索シナリオもカバーできます。
データの大半が中国語テキストなら、BGE は候補に入れやすいモデル群です。
3. E5 系
intfloat/multilingual-e5-basemultilingual-e5-large
E5 系の特徴は、多言語性能のバランスがよいことです。中国語と英語が混在する環境、クロスリンガル検索、国際向けコンテンツ基盤に向いています。中国語だけを見るモデルではなく、「異なる言語を一つの検索基盤にまとめる」ことを重視した設計です。
コーパスが中国語だけでなく、英語、日本語、あるいはさらに多くの言語を含むなら、中国語専用モデルより E5 の方が安定しやすいです。
4. GTE 系
Alibaba-NLP/gte-base-zhgte-large-zh
GTE も中国語タスクでよく使われます。位置づけは BGE に近く、どちらも中国語検索の実用派です。比較的バランスが良く、導入のハードルも高くありません。中国語ナレッジベース、サイト内検索、社内ドキュメント検索に向いています。
中国語オープンソースモデルを複数比較したいなら、GTE は一緒に評価する価値があります。
5. Jina Embeddings
jina-embeddings-v3
Jina はより汎用的で、現代的な実装シナリオに寄った選択肢です。多言語検索、長文、Web コンテンツ処理などでよく使われます。「一つのモデルでより多くのタスク形態をカバーしたい」という文脈でよく名前が挙がり、embedding 層を統一したいチームに向いています。
Web ページ、文書、多言語テキストなど、データソースが混在しているなら、Jina は試す価値のある候補です。
2. 中国語シナリオでよく使われるモデル
対象を中国語シナリオに絞ると、代表的な候補はほぼ次の通りです。
bge-small-zh-v1.5bge-base-zh-v1.5bge-m3gte-base-zhgte-large-zhmultilingual-e5-basemultilingual-e5-large
ここで大事なのは、「どれが絶対に一番強いか」ではなく、次の三つです。
- データの中心は中国語か
- 多言語対応が必要か
- 品質、コスト、導入しやすさのどれを優先するか
3. これらのモデルを並べて考える
1. 中国語性能だけを見る場合
中国語ナレッジベース、中国語 QA、中国語文書検索であれば、まず BGE と GTE を見るのが一般的です。
bge-small-zh-v1.5: 軽量で、コスト重視の場面に向くbge-base-zh-v1.5: 中国語用途でバランスが良い定番gte-base-zh: 軽量 BGE に近く、まずベースラインを作るのに向くgte-large-zh: 検索品質をより重視する場面に向くbge-m3: 中国語検索に加えて、より複雑な要件も視野に入れたいときに向く
コーパスがほぼ中国語だけなら、E5 も使えますが、最優先になることは多くありません。
2. 多言語が必要な場合
この場合は優先順位がかなり変わります。
multilingual-e5-baseとmultilingual-e5-largeは多言語を統一的に検索するのに向いていますjina-embeddings-v3も多言語と汎用テキスト処理に向いていますbge-m3は従来の中国語専用モデルより、多言語へ拡張しやすいですtext-embedding-3-smallとtext-embedding-3-largeは API ベースで素早く進めたい場合に向いています
中国語、英語、製品ドキュメント、Web コピー、ユーザー問い合わせが同じ基盤に入るなら、多言語モデルの方が後からの改修コストをかなり減らせます。
3. 推論コストと保存コストを抑えたい場合
ここでは軽量モデルが有利です。
bge-small-zh-v1.5gte-base-zhmultilingual-e5-basetext-embedding-3-small
これらは次のようなケースに向いています。
- 文書量が多い
- 更新頻度が高い
- 大量のベクトル化が必要
- レイテンシとコストに敏感
データ規模が大きい場合、embedding の次元数、推論速度、インデックスサイズは総コストに直結します。そのため、まず小さいモデルでベースラインを作るのは堅実なやり方です。
4. まず性能上限を優先したい場合
より大きいモデルは、複雑な検索や高品質な再現率を求める場面に向いています。たとえば次のようなモデルです。
text-embedding-3-largemultilingual-e5-largegte-large-zhbge-base-zh-v1.5bge-m3
ただし、モデルが大きいほど本番体験が必ず良くなるわけではありません。多くのプロジェクトでは、本当のボトルネックはモデルそのものではなく、チャンク分割、取得件数、再ランキング、データクリーニング、評価方法にあります。
4. 各モデルはどんなタスクに向くか
| モデル | 向いている場面 | ざっくりした判断 |
|---|---|---|
text-embedding-3-small |
汎用検索、RAG、素早い導入 | API 利用が簡単でコストにも優しい |
text-embedding-3-large |
品質重視の汎用検索 | 品質優先で実装負担も小さい |
bge-small-zh-v1.5 |
中国語の軽量検索 | 中国語用途の定番入門モデル |
bge-base-zh-v1.5 |
中国語ナレッジベース、FAQ、セマンティック検索 | 中国語シナリオでバランスが良い |
bge-m3 |
中国語中心だが、より複雑な検索にも広げたい場合 | 拡張性が高い |
multilingual-e5-base |
多言語の基本検索 | 国際化プロジェクトでよく使われる |
multilingual-e5-large |
多言語で高品質な再現率が欲しい場合 | より品質重視 |
gte-base-zh |
中国語の軽量検索 | まずベースラインを作るのに向く |
gte-large-zh |
中国語で品質重視の場面 | BGE との比較対象として使いやすい |
jina-embeddings-v3 |
多言語、Web、汎用テキストタスク | embedding 層を統一したいときに試す価値がある |
5. 実際の選定をどう進めるか
論文を書くのではなく、実際にシステムを作るなら、選定手順はもっとシンプルで大丈夫です。
シナリオ 1: 中国語ナレッジベース
まずは次の組み合わせを試します。
bge-base-zh-v1.5gte-large-zhbge-small-zh-v1.5
予算が厳しいなら小さいモデルから始めて、検索品質をより重視するなら大きいモデルへ広げます。
シナリオ 2: 中国語と英語が混在するナレッジベース
まずは次を試します。
multilingual-e5-basemultilingual-e5-largetext-embedding-3-smalltext-embedding-3-large
自前運用を避けたいなら OpenAI がより直接的です。自前でホストしたいなら、E5 の方が一般的です。
シナリオ 3: 今は中国語中心だが、将来的に多言語へ広げる可能性がある
まずは次を試します。
bge-m3multilingual-e5-basejina-embeddings-v3
このタイプの場面で一番怖いのは、最初は中国語だけを前提に設計し、後からベクトル基盤を丸ごと作り直すことです。
6. 最後に大事なのは「ランキング1位」ではない
埋め込みモデル選定で最も陥りやすい失敗は、公開ベンチマークの点数だけを見て、そのまま本番投入してしまうことです。
より確実なのは、だいたい次の手順です。
- まず 2 から 4 個の候補モデルを選ぶ
- 自分たちの実データで embedding を作る
- 一度検索評価を回す
- そのうえでコスト、遅延、導入方法を合わせて最終判断する
実際に結果を決めるのは、モデル名そのものよりも、そのモデルが自分のコーパス、チャンク戦略、クエリ形式に合っているかどうかだからです。
まとめ
実用的な結論だけ覚えるなら、次のように整理できます。
- 中国語優先:
bge-base-zh-v1.5、gte-large-zh - コスト優先:
bge-small-zh-v1.5、gte-base-zh、text-embedding-3-small - 多言語優先:
multilingual-e5-base、multilingual-e5-large、jina-embeddings-v3 - API をそのまま使いたい:
text-embedding-3-small、text-embedding-3-large - 中国語と将来の拡張性を両立したい:
bge-m3
すべてのプロジェクトに合う単一のモデルはありませんが、多くのプロジェクトでは、まずこの数グループから第一候補をかなり素早く絞り込めます。