みなさん、Difyで使用しているベクトルDBは何を使用していますか?
私はローカルでDifyを使用する場合はweaviateを使用していますが、クラウド上にホスティングする際には使用するサービスが増えるのことを避けたく、PostgreSQLで完結するようにpgvectorを使用しています。
割と簡単に設定できるので今回はそれを解説します。
pgvectorの設定
docker-compose.pgvector.yamlの設定ファイルがありますが、前置きにもありましたが既存のpostgreSQLに設定する方法を解説します。
以下をpostgresのcli内で実行してください。
postgres=> CREATE EXTENSION IF NOT EXISTS vector;
これでpgvectorの拡張機能が有効になりました。
気をつけて欲しいことはdocker-compose.pgvector.yamlで立ち上げた場合は今回の設定はおそらく必要ないと思います。(やっていないのでわからないですが。)
Dify環境変数の設定
続いてDify側での環境変数の設定です。以下をdocker-compose.ymlで実行して下さい。
VECTOR_STORE: pgvector
PGVECTOR_HOST: "ご自身が設定したもの"
PGVECTOR_PORT: 5432 #docker-compose.pgvector.yamlで立ち上げた場合は5433なのは注意です
PGVECTOR_USER: "ご自身が設定したもの"
PGVECTOR_PASSWORD: "ご自身が設定したもの"
PGVECTOR_DATABASE: "ご自身が設定したもの"
これだけでpgvectorをつかるのでぜひやってみてください。
最後に
Xやってるので気になる方はフォローお願いします。
https://x.com/hudebakonosoto