Skip to main content

Helm Chart の値からベクトルデータベース設定を探す

Helm Chart の値を表示

ベクトルデータベース設定の概要

Helm chart の values 内で、vectorDB フィールドを通じてベクトルデータベースを設定します。Dify は 2 つのデプロイ方式をサポートしています:
3.9.x chart のデフォルト値は useExternal: true + externalType: "qdrant" です。 つまり初期状態で「外部 Qdrant に接続」する状態になっています。externalQdrant.endpoint / apiKey を実際の値に置き換える必要があります。設定しない場合は、api / worker Pod はベクトルデータベースに接続できず、起動に失敗します。

1. ビルトインベクトルデータベースの使用

⚠️ 本番環境では使用注意:ビルトインオプションはローカル試用と機能検証のみに適しており、高可用性、バックアップ、容量スケーリングは提供されません。本番環境では第 2 節の外部接続方式をご利用ください。
Helm chart は 2 種類のクラスタ内ベクトルデータベースを提供しています。

ビルトイン Qdrant

vectorDB.useExternalfalse に設定し、qdrant.enabled を有効化することで利用できます。

ビルトイン Weaviate

weaviate は親 chart の values.yaml では enabled スイッチのみが明示的に列挙されていますが、実体は入れ子になった subchart です(chart tarball の dify/charts/weaviate/ に配置、約 947 行の values)。この subchart のすべてのフィールドは、ご自身の values.yamlweaviate.<フィールド> の形式でオーバーライド可能です。よく使う項目は下表の通りです。
💡 完全なフィールドリストを取得したい場合は、chart パッケージをダウンロードして dify/charts/weaviate/values.yaml をご確認ください:
既存の外部 Weaviate クラスタに接続する場合は、後述 WeaviateexternalWeaviate 設定をご利用ください。

2. 外部ベクトルデータベースの使用

外部ベクトルデータベースは2ステップで設定できます。 ステップ 1: vectorDB.useExternaltrue に設定し、externalType を指定します。3.9.x の chart は既にこの状態がデフォルト(externalType: "qdrant")ですので、別タイプに切り替える場合のみ externalType をオーバーライドしてください。
ステップ 2: 選択したタイプに応じて、対応する externalXxx 設定ブロックを記入します。values.yaml には各タイプ用のデフォルト雛形が予め用意されているため、対象タイプのフィールドのみオーバーライドすれば OK です。他タイプのブロックを削除する必要はありません。各タイプのフィールド例は 第 4 節 付録 をご参照ください。

サポートされているタイプ

Dify エンタープライズ版が公式サポートするタイプ

Dify エンタープライズ版は以下のベクトルデータベースを公式サポートしており、ベクトルデータベース接続に関する技術サポートも併せて提供しています(第 3 節をご参照ください)。
  • qdrant(推奨)
  • weaviate(オプション)
  • elasticsearch(オプション)

コミュニティサポートタイプ

Dify コミュニティ版は以下のベクトルデータベースをサポートしています。これらをご利用の場合、Dify エンタープライズ版でも動作しますが、Dify が提供する技術サポートは限定的になります(第 3 節をご参照ください)。
  • milvus
  • relyt
  • pgvector
  • pgvecto-rs
  • tencent
  • analyticdb
  • opensearch
  • lindorm

3. エンタープライズ版技術サポート範囲

Dify エンタープライズ版がクラウド(AWS など)にデプロイされ、外部ベクトルデータベースに接続する場合、システム全体には通常 Dify、ベクトルデータベースベンダー、クラウドベンダー の 3 者が関わります。Dify サポートチームはまず、障害がどの層に属するかを判定します。

責任共有モデル

Dify が直接サポートしない範囲

以下の問題は Dify のエラーメッセージとして表面化することがありますが、根本原因は Dify 側ではなく、データベースベンダー、クラウドベンダー、またはユーザーご自身による対応が必要です。
  • ベクトルデータベース自体の運用:再起動、アップグレード、スケーリング、バックアップ/リストア
  • データベース側のインデックスパラメータチューニング
  • ネットワークと権限層の障害:VPC peering、セキュリティグループの許可、IAM/IRSA、TLS 証明書
  • キャパシティプランニングと負荷テスト:ノードスペック、ストレージ容量、QPS 上限の見積もり(Dify は Dify 側の推奨のみ提供)
  • データベースのバージョン bug やベンダー動作変更による回帰(Dify は追跡しますが、根本修正はベンダー側で行われます)

2 つのサポートレベルの違い

ご利用の Dify エンタープライズ版でサポートされるベクトルデータベースの詳細については、values.yaml をご参照ください: https://helm-watchdog.dify.ai/ 。実際の技術サポート対応範囲は、Dify エンタープライズ版サポートチームが具体的な問題内容に基づき評価のうえ判断します。

4. 付録:各ベクトルデータベースの設定例

Qdrant

externalType: "qdrant"

Weaviate

externalType: "weaviate"

Elasticsearch

externalType: "elasticsearch"

Milvus

externalType: "milvus"

Relyt (pgvectors)

externalType: "relyt"

PgVector

externalType: "pgvector"

PgVecto-RS

externalType: "pgvecto-rs"

Tencent VectorDB

externalType: "tencent"

OpenSearch

externalType: "opensearch"

AnalyticDB

externalType: "analyticdb"

Lindorm

externalType: "lindorm"