埋め込みモデルの選択
dify-docs-choose-embedding-model
埋め込みモデルとは

埋め込みモデル(Embedding Model)は、テキストを固定長の数値ベクトル(埋め込みベクトル)に変換するAIモデルです。ベクトル同士の距離(コサイン類似度など)を計算することで、テキスト間の意味的な近さを定量的に比較できます。
埋め込みのイメージ
埋め込みとは、テキストの意味を捉えた高次元(数百〜数千次元)の数値ベクトルです。
例えば、
- 「犬」と「猫」→ どちらもペット・動物なので、ベクトル空間上で近い位置に配置
- 「犬」と「自動車」→ 意味的に関連が薄いため、遠い位置に配置
このベクトル化により、単純なキーワード一致だけでなく、意味的に類似した文書の検索(セマンティック検索)が可能になります。
主な用途
- RAG(検索拡張生成):生成AIが回答するための関連文書検索
- セマンティック検索:表記揺れや同義語に対応した情報検索
- 分類・クラスタリング:文書の自動分類やグルーピング
- レコメンデーション:類似記事や類似商品の提案
代表的な埋め込みモデルの候補
現在主流のモデルは以下の通りです。用途とコストに合わせて選定してください。
1. OpenAI (text-embedding-3 シリーズ)
業界標準として広く利用されています。前世代(ada-002)と比較して性能が向上し、コストが低下しています。
- text-embedding-3-small
- 特徴: 高速かつ非常に低コスト、一般的な用途には十分な性能
- 次元数: 1536
- text-embedding-3-large
- 特徴: 高精度、多言語や複雑なタスクでより良い性能発揮、smallより高価
- 次元数: 3072
2. Cohere (Embed v3 シリーズ)
検索品質(Rerank等との組み合わせ)や多言語対応に強みを持ちます。
- embed-multilingual-v3.0
- 特徴: 100以上の言語対応、日本語の精度高、検索用途に特化した学習
- 次元数: 1024
3. Google (Vertex AI text-embedding シリーズ)
Google Cloud環境を利用している場合に親和性が高いモデルです。
- text-embedding-004 (Gecko系)
- 特徴: 多言語対応(日本語含む)、タスクタイプ(検索クエリ、文書、分類など)を指定して埋め込みを生成できる機能搭載
- 次元数: 768
4. オープンソース / ローカルモデル
Hugging Face等で公開されているモデルを自社サーバーで運用する場合です。
- 代表例: E5 (multilingual-e5)、BGE (BAAI General Embedding) シリーズ
- メリット: データが外部に出ない、ランニングコストが計算リソースのみ
- デメリット: インフラ構築・保守の手間が発生
モデル選定のポイント
1. 言語対応能力
日本語特有の文脈理解が必要な場合、多言語モデル(Multilingual)の性能評価(MTEBリーダーボードの日本語スコアなど)を確認するか、実データで検証することが推奨されます。
2. 精度・速度・コストのバランス
高精度なモデル(次元数が大きいモデル)は、ベクトルDBのストレージ容量と検索計算コストを増加させます。大規模なナレッジベース(数百万件以上)の場合、保存コストとレイテンシへの影響が大きくなるため、smallモデルや量子化技術の検討が必要です。
3. ベクトルDBとの適合性
利用するベクトルデータベースが推奨する次元数や距離関数(コサイン類似度、ドット積など)を確認してください。OpenAIの新しいモデルなどは次元数を短縮(短縮しても性能劣化が少ない)する機能を持つものもあります。
導入・運用上の注意
一度選定したモデルは変更が困難
埋め込みモデルを変更する場合、データベース内の全ドキュメントを新しいモデルで再度ベクトル化(Re-indexing)する必要があります。運用途中での変更はコストと時間がかかるため、初期の選定と小規模なPoC(概念実証)が重要です。
ハイブリッド検索の推奨
ベクトル検索だけでは「品番」や「固有名詞」の完全一致検索に弱い場合があります。実運用では、ベクトル検索(意味)+キーワード検索(語句)を組み合わせたハイブリッド検索の実装を強く推奨します。
設定手順(一般的な流れ)
- モデル選定: 要件(精度・コスト・言語)に基づきモデルを決定
- チャンク化: 文書を適切な長さ(例: 500~1000文字)に分割
- 埋め込み生成: API等を通じてベクトルデータを取得
- DB保存: ベクトルDBにメタデータと共に保存
- 検索テスト: 想定される質問で検索精度を確認し、必要に応じてチャンクサイズや検索パラメータ(TopK, 閾値)を調整
埋め込みモデルの設定
設定手順

- ナレッジベース作成時に埋め込みモデルを選択
- またはドキュメント追加時に選択
注意事項
- 一度設定した埋め込みモデルは後から変更不可
- 変更する場合はナレッジベースの再作成が必要
- 同じアプリ内で異なる埋め込みモデルのナレッジを混在可能
最終更新日 February 20, 2026