最適な埋め込みモデル FR
フランス語用途では、BGE-M3が最も堅実な出発点です。多言語に対応し、コンテキストは8,192トークン、ライセンスはMITで、Ollamaでも利用できます。Qwen3-EmbeddingとEmbeddingGemmaは、試す価値のある比較的新しい代替候補です。英語中心のモデル(nomic-embed-text、mxbai-embed-large、all-MiniLM)は、フランス語用途では避けてください。最終的な選択は、ご自身の文書で検証してください。
エンベディングモデルは、各テキストをベクトルに変換します。「CDD」と「有期雇用契約」が近い意味を持つと判断するのは、このモデルです。フランス語については、MTEB-French ベンチマークで BGE-M3 と all-MiniLM-L12-v2 の検索スコアに 22 ポイントの差が測定されています。このページでは、ローカルで使えるオープンモデルを順位付けし、公表された測定結果とその限界を示したうえで、本番運用でコストがかかる項目、つまりプレフィックス、切り詰め、次元数、ストレージ、再インデックス化を取り上げます。
#埋め込みモデルとは何か、フランス語ではなぜ扱いが難しくなるのか
埋め込みモデルとは、テキスト(文、段落、チャンク)を数値のベクトルに変換するニューラルネットワークです。次元数はモデルによって384から4,096まで異なります。意味が近い2つのテキストからは近いベクトルが得られ、その近さは通常、コサイン類似度で測定します。これにより、ユーザーが「CDD」と入力したときに、共通する単語がなくても、RAG は「有期雇用契約」に関する一節を見つけられます。Ollama のドキュメントでも説明されているように、質問とドキュメントは同じモデルでエンコードする必要があります。そのため、モデルを変更した場合は、コーパス全体のインデックスを作成し直す必要があります。選ぶ際には、3つの点を確認すれば十分です。フランス語で学習されているか、コンテキストの長さが使用するチャンクを収められるか、ライセンスが予定する利用を認めているかです。
フランス語には、アクセント記号、母音の脱落(「l'employeur」)、法律分野の略語、文中に混ざる英語由来の技術用語など、特有の難しさがあります。モデル間の差は明確です。MTEB-Frenchベンチマークでは、検索スコアがall-MiniLM-L12-v2の0.43からBGE-M3の0.65まで開き、同じ質問セットで22ポイントの差があります。
#モデルを本当に区別する5つの基準
あなたのドキュメント、あなたのAI:あなたのPDF、メモ、メールを扱う信頼性の高いローカルRAG。何もクラウドに送信しません。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 生涯アップデート
- 訓練言語
- BGE-M3とQwen3-Embeddingは100以上の言語への対応をうたっており、multilingual-e5-largeは94言語への対応をうたっています。Ollamaで多くダウンロードされているnomic-embed-text-v1.5とmxbai-embed-large-v1のモデルカードには、Englishというラベルが付いています。
- 最大コンテキスト長
- 上限は、multilingual-e5-large、Solon、mxbai-embed-largeでは512トークン、EmbeddingGemmaでは2,048トークン、BGE-M3では8,192トークン、Qwen3-EmbeddingとGranite R2では32,000トークンです。それを超える長さのチャンクは拒否されず、切り詰められます。
- 次元数とストレージ
- 384から4,096の次元まであり、各次元および各ベクトルに対してfloat32で4バイトを使用します(詳細な計算は下記参照)。
- ライセンス
- BGE-M3、multilingual-e5-largeおよびSolonについてはMITライセンス、Qwen3-Embedding、Granite R2、nomicおよびmxbaiについてはApache 2.0ライセンス、EmbeddingGemmaについてはGemmaの条件、jina-clip-v2についてはCC BY-NC 4.0(非商用)ライセンスです。
- プレフィックスと指示
- 一部のモデルでは、各テキストの前にプレフィックスが必要です(E5では、フランス語でも「query:」と「passage:」を使います)。付け忘れると、エラーが出ないまま検索品質が低下します。
#2026年のフランス語対応ランキング:9つのモデル比較
このランキングは編集的なものであり、自社テストではありません。フランス語のカバー範囲、公開されたベンチマーク、ローカルでの利用可能性を組み合わせています。モデルがOllamaのライブラリに含まれる場合、その重みはそのライブラリから取得され、含まれない場合はMTEB-Frenchの研究によって推定されたfloat32から取得されます。
| モデル | 次元 / コンテキスト | ライセンス | モデル容量 | フランス語に関するソースの情報 |
|---|---|---|---|---|
| BGE-M3 (BAAI) | 1 024 / 8 192 | MIT | 1.2 GB (Ollama) | MTEB-Frenchの検索スコアは0.65。密ベクトル、疎ベクトル、マルチベクトル。最初に試すモデルとして推奨。 |
| Qwen3-Embedding 0.6B / 4B / 8B | 1 024 / 2 560 / 4 096 ; 32 000 | Apache 2.0 | 639 MB / 2.5 GB / 4.7 GB (Ollama) | 100を超える言語に対応しています。Qwenによる多言語MTEBのスコア:64.33 / 69.45 / 70.58。 |
| EmbeddingGemma 300M (Google) | 768 (512, 256, 128) / 2 048 | Gemma | 622MB (Ollama) | 100を超える言語。Googleによると、MTEB多言語版v2のスコアは61.15です。 |
| multilingual-e5-large | 1 024 / 512 | MIT | 2.24 GB (float32) | Retrieval MTEB-French 0.59。必須プレフィックス。 |
| Solon-embeddings-large-0.1 | 1 024 / 512 | MIT | 2.24 GB (float32) | Ordalie Technologies が公開したフランス語モデル。Retrieval MTEB-French 0.63 |
| Granite Embedding 311M Multilingual R2 (IBM) | 768 / 32 768 | Apache 2.0 | 311Mパラメータ | フランス語は、強化された52言語に含まれます。IBMによると、多言語MTEBの検索評価で65.2。フランス語についての独立した測定結果は参照していません。 |
| nomic-embed-text v1.5 | 768 / 8,192(Ollamaでは2,048) | Apache 2.0 | 274 MB (Ollama)。 | モデルの紹介ページでは英語と記載されています。英語のコーパスに限って使用してください。 |
| mxbai-embed-large-v1 | コンテキスト 512 | Apache 2.0 | 670 MB (Ollama) | モデルの紹介ページでは英語と記載されています。英語のコーパスに限って使用してください。 |
| all-MiniLM-L12-v2 | 384 | Apache 2.0 | 33M パラメータ | MTEB-Frenchの検索スコア:0.43。CPU専用のプロトタイプ。 |
BGE-M3 はまだ最良の選択肢です:そのフランス語のリトリーブ機能が公開されており、8,192トークンのコンテキストにより多くの強制的な切断を回避し、ハイブリッド検索に必要な語彙重みも提供します。GPUが利用可能な場合、Qwen3-Embeddingが候補となります:その8Bバージョンは2025年6月5日にMTEB多言語評価でトップを獲得しました(Qwenによる)、しかし4,096次元の次元数はストレージに負担をかけます。EmbeddingGemmaは低スペックのマシン向けです。
Solon は、法律・行政分野のフランス語に特化したモデルとしてよく紹介されますが、MTEB-French の研究で使われた3つの検索評価用データセットのいずれでも勝っていません。Syntec 労働協約では BGE-M3 と同等ですが、法律条文(BSARD)と学校教育に関する質問(Alloprof)では劣っています。
#フランス語のベンチマークから分かること、分からないこと
公表されている参照ベンチマークはMTEB-French(Cianconeほか、2024年5月)で、18のデータセット、8つのタスクカテゴリ、51のモデルを比較しています。著者らは、文の類似度を用いて事前学習した大規模多言語モデルが非常に優れた性能を示すと結論づけています。以下に、フランス語の法律条文(BSARD)、Syntec労働協約、Alloprofの学校教育に関する質問という3つのデータセットでの検索性能(NDCG@10)を示します。
| モデル | 検索スコアの平均 | 法律(BSARD) | Syntec労働協約 | Alloprof |
|---|---|---|---|---|
| text-embedding-3-large (OpenAI API) | 0,73 | 0,73 | 0,87 | 0,60 |
| mistral-embed (API Mistral) | 0,68 | 0,68 | 0,79 | 0,57 |
| BGE-M3 | 0,65 | 0,60 | 0,85 | 0,49 |
| Solon-embeddings-large-0.1 | 0,63 | 0,58 | 0,85 | 0,47 |
| multilingual-e5-large | 0,59 | 0,59 | 0,81 | 0,38 |
| multilingual-e5-small | 0,52 | 0,52 | 0,76 | 0,27 |
| paraphrase-multilingual-MiniLM-L12-v2 | 0,44 | 0,38 | 0,66 | 0,27 |
| all-MiniLM-L12-v2 | 0,43 | 0,34 | 0,61 | 0,33 |
三つの限界があるため、これを決定版のランキングとすることはできません。この研究は2024年のもので、Qwen3-Embedding(2025年6月)、EmbeddingGemma(2025年9月)、Granite R2は含まれていません。また、このページでは、これらのモデルについて比較可能なフランス語での測定結果を参照していません。コーパス(法律の条文、労働協約、学校の問題)は、ご自身のコーパスと必ずしも似ているとは限りません。さらに、モデルの提供元が公表する多言語スコアは自己申告で、すべての言語の結果が混在しています。
#どのモデルがどの用途に適するか:判断表
| あなたの状況 | 最初にテストすべきモデル | なぜ | 注意点 |
|---|---|---|---|
| フランス語、またはフランス語+英語のコーパスで、マシンの性能はそこそこ | BGE-M3 | フランス語の検索スコアは 0.65 で、この研究で最も優れたオープンモデルと同水準 | Ollama では 1.2 GB で、プレフィックスは一切ありません |
| 法務・事務・人事 | まずBGE-M3を試し、次にSolonと比較 | BGE-M3は、本調査の3つのフランス語データセットにおいて、Solonに匹敵するかそれを上回ります。 | 法務分野の社内テストセットで検証していないモデルを使うのは、依然として賭けです |
| 低スペックのマシンまたはCPUのみ | EmbeddingGemma 300M、または multilingual-e5-small | Ollamaでのサイズは622 MB。GoogleがノートPCやモバイル端末向けに設計 | 2,048トークンのコンテキスト:短いチャンク |
| グラフィックスカードがあり、最高品質を求める場合 | Qwen3-Embedding-4B または 8B | 32,000トークン、調整可能な次元数、100を超える言語に対応 | 2560次元と4096次元:ストレージとインデックスの制限 |
| 長いチャンク、構造化されたドキュメント | BGE-M3、Qwen3-EmbeddingまたはGranite R2 | 8,192から32,768トークンのコンテキスト | 非常に長いチャンクは意味を薄めます |
| 商用利用、ライセンス監査 | BGE-M3、multilingual-e5-large、Solon、Qwen3-Embedding、Granite R2 | MITまたはApache 2.0 | Gemmaの利用条件を再確認する;jina-clip-v2は非商用 |
#企業向けにカスタマイズした埋め込み:オープンモデル、ファインチューニング、またはAPI
「用途に合わせる」とは、最初から独自のモデルを学習させることではありません。時間を無駄にしないための順序は、まず汎用のオープンモデル、丁寧なチャンク分割、ハイブリッド検索、リランカーを用意すること。次に、実際の質問でリコール(再現率)を測定すること。そして、それでも失敗が続き、その原因が業務用語(内部参照、社内独自の略語)にある場合に限って、ファインチューニングを行うことです。
Philipp Schmid は 2024 年 6 月、金融文書から抽出した 6,300 組の質問-パッセージペアを用いて bge-base-en-v1.5 モデルをファインチューニングしました。テストセットでの検索スコアは約 7.4% 向上し、トレーニング時間は一般消費者向けグラフィックカードで 3 分でした。これは英語のケースであり、単一のコーパス、LLM によって生成されたペアに基づくものです。したがって、これは目安であり、保証ではありません。BAAI はまた、BGE-M3 のファインチューニングについても文書化しています。
| オプション | 選ぶべき場面 | 制限 |
|---|---|---|
| ローカルで動かす汎用オープンモデル(BGE-M3、Qwen3-Embedding) | まず試す標準的な選択肢。テキストはご自身のネットワーク内にとどまります。ライセンスはMITまたはApache。 | 業務用語は未学習。手元の文書で評価する必要あり |
| オープンモデルのファインチューニング | ハイブリッド検索とリランカーを使っても再現率が頭打ちで、質問とパッセージのペアが数千組ある場合 | コーパスの再エンコード;モデルをソフトウェアのようにバージョン管理;過適合のリスク |
| 埋め込みAPI (Mistral, OpenAI) | GPUなし、処理量は中程度。2024年のMTEB-French研究では、text-embedding-3-largeとmistral-embedが上位に位置しています。 | テキストはお客様のネットワークを離れ、モデルは提供元側で変更される可能性があります。継続的なコストが発生します。 |
#マルチモーダル埋め込み:画像やドキュメントページ内での検索
マルチモーダル埋め込みモデルは、テキストと画像を同じベクトル空間に配置します。これにより、文章をもとに写真を検索したり、OCRを使わずにスキャンされたPDFのページを検索したりできます。このページのために確認したOllamaライブラリのモデル(BGE-M3、Qwen3-Embedding、EmbeddingGemma、nomic-embed-text、mxbai-embed-large)は、テキストのみを受け付けます。以下のマルチモーダルモデルは、Hugging Face(Sentence-TransformersまたはTransformers)を通じて使用します。
| モデル | 入力 | ライセンス | 知っておくべきこと |
|---|---|---|---|
| Qwen3-VL-Embedding 2B / 8B | テキスト、画像、スクリーンショット、動画 | Apache 2.0 | 32,000トークン;2,048および4,096次元;調整可能な次元 |
| jina-clip-v2 | テキストと画像;94言語 | CC BY-NC 4.0 | 非商用:提供元の許可がない限り、有料の製品やサービスには使用しないこと |
| ColPali v1.3 | 画像化された文書ページ、マルチベクトル | MIT(参照ページ) | 英語でラベル付けされた参照;各ページに複数のベクトルが存在する場合、ストレージ方式が変更されます |
マルチモーダルモデルは、純粋なテキストでは優れているわけではありません。Qwenが公開した表では、Qwen3-VL-Embedding-2BはMTEB多言語で63.87を獲得していますが、3倍以上小さいテキストモデルであるQwen3-Embedding-0.6Bは64.33です。有用なコンテンツがテキストであるPDFについては、クリーンなテキストに変換し(DoclingまたはOCR)、テキスト埋め込みを使用してください。マルチモーダルは、図面、平面図、スクリーンショット、スライドなどの視覚コーパスに限定してください。
#エンベディングの管理:プレフィックス、切り詰め、保存、再インデックス化
RAGの性能は、モデルの選択よりも、こうした細部によって低下することがよくあります。まず、モデルのファミリーごとに、質問と文書それぞれに求められる入力形式が異なります。
| モデル | 質問の前に付けるもの | 文書の先頭に付けるもの |
|---|---|---|
| BGE-M3 | なし | なし |
| multilingual-e5-large | query: | passage:(フランス語の場合でも必須) |
| Solon-embeddings-large-0.1 | query : | なし |
| nomic-embed-text v1.5 | search_query: | search_document: |
| mxbai-embed-large-v1 | 関連する文書を検索するためのこの文の表現: | なし |
| Qwen3-Embedding | Instruct: {タスクを一文で}、改行、Query: {質問} | なし |
| EmbeddingGemma | task: 検索結果 | クエリ: {question} | title: {titre ou none} | text: {contenu} |
Ollamaでは、mxbai-embed-largeの公式例は送信するテキストにプレフィックスを直接含めています。自分のコードでプレフィックスを追加してください。Qwenは、通常、指示を加えることで性能が1〜5%向上すると説明し、多言語コーパスの場合でも指示を英語で書くことを推奨しています。
#Ollama の落とし穴:通知なしの切り詰め
Ollamaの/api/embedエンドポイントにはtruncateパラメータがあり、デフォルト値はtrueです。モデルのコンテキストウィンドウを超える入力は、エラーを出さずに切り詰められます。mxbai-embed-large(Ollamaでは512トークン)の場合、700トークンのチャンクは末尾が欠けたままインデックス化され、誰もそれに気づきません。Ollamaでのコンテキスト長は、元のモデルの仕様と異なる場合もあります。nomic-embed-textでは2Kで、Nomicが公表する8,192トークンとは異なります。テスト中はtruncateをfalseに設定してください。テキストが切り詰められるより、エラーが出るほうがよいからです。
#次元、ストレージ、インデックスの制限
ストレージ容量は単純に計算できます:チャンク数 × 次元数 × float32 の 4 バイト(インデックスを除く)。100 万チャンクの場合、ベクトルのみで占める容量は以下の通りです:
| 次元数 | モデルの例 | ストレージ |
|---|---|---|
| 256 | 次元数を削減したEmbeddingGemmaまたはQwen3(Matryoshka) | 1.0 GB |
| 384 | all-MiniLM-L12-v2 | 1.5 GB |
| 768 | EmbeddingGemma、Granite R2、nomic | 3.1GB |
| 1 024 | BGE-M3、multilingual-e5-large、Qwen3-0.6B | 4.1GB |
| 2 560 | Qwen3-Embedding-4B | 10.2 GB |
| 4 096 | Qwen3-Embedding-8B | 16.4 GB |
データベースにも上限があります。pgvector のインデックスで扱えるベクトルは最大 2,000 次元、半精度(halfvec)では 4,000 次元です。Qwen3-Embedding-8B の 4,096 次元は、この上限さえ超えています。対策は、ベクトルの次元を切り詰めてから再正規化することです。Matryoshka 方式で学習したモデル(Qwen3-Embedding、EmbeddingGemma、nomic v1.5)なら切り詰めが可能で、Google も EmbeddingGemma について再正規化を行うよう明記しています。Ollama の /api/embed API は dimensions パラメータを受け付けますが、使用はこれらのモデルに限定してください。
#バージョン管理と再インデックス
- 保存すべきメタデータ
- モデルの正確な名前、リビジョン、次元数、プレフィックスのテンプレート、チャンク分割のパラメータ、インデックス作成日。これらがなければ、検索結果がなぜ変わったのか誰にも分かりません。
- モデルの変更
- コーパス全体を新しいコレクションに再エンコードし、評価してから切り替えてください。2つのモデルを同じコレクションに混ぜることは絶対に避けてください。
- 正規化
- OllamaはL2正規化されたベクトルを返します。どこでも同じ類似度指標(コサイン類似度または内積)を使用してください。
#モデルを実際に使い、自分の文書でテストする
2つのスコアの順序だけ覚えておいてください。最初のスコアは2番目のスコアを明確に上回っている必要があります。2つか3つの候補を真剣に比較するには、以下の手順が公開されているすべてのランキングに代わります。
- 01実際のテストデータセットを構築する実際のユーザーから寄せられた質問(サポートへの問い合わせ、チケット、よくある質問)を50〜100件集め、それぞれについて回答が含まれるチャンクを記録してください。LLMが作り出した質問を使うと、評価結果が実際より良く見えてしまいます。
- 02各候補モデルでエンコードしますプレフィックスの一覧表に従って、まずチャンクを、次に質問をエンコードしてください。すべての候補で、チャンクの長さと保存するベクトルの次元数を同じにしてください。
- 03recall@5を測定する各質問について、正しいチャンクが上位5件の結果に含まれているか確認してください。以下のスクリプトはこの計算を行います。
- 04コスト基準で判断するrecall@5 が最良の結果から1〜2ポイント以内の最も軽量なモデルを選択してください。8倍大きいモデルは、再インデックス作成のたびにストレージと時間のコストがかかります。
- Sentence Transformers:ローカルでの埋め込み(Embeddings)
- チャンク分割の戦略:チャンクサイズとモデルのコンテキストの関係
- BM25とベクトル検索を組み合わせたハイブリッド検索
- ファインチューニング前に reranker を追加する
- pgvector : 次元の制限とインデックス
- Ragas:RAGを数値で評価する
- 出典:BGE-M3の公式モデルカード(BAAI)
- ソース:Ciancone 他、2024年のMTEB-French研究
- ソース:Ollama のエンベディングドキュメント
- 出典:Qwen3-Embeddingのモデルカード
- 出典:EmbeddingGemma(Google)のモデルカード
フランス語に最適なエンベッディングモデルはどれですか?+
nomic-embed-textまたはmxbai-embed-largeをフランス語で使用できますか?+
bge-m4 モデルは存在しますか?+
エンベディングモデルを変更した場合、再インデックスが必要ですか?+
マルチモーダル埋め込みモデルはテキストモデルを置き換えることができますか?+
企業向けにカスタマイズした埋め込みモデルは必要ですか?+
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。