2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DifyでInterSystems IRISをベクトルDBとして使ってみる【環境構築編】

Last updated at Posted at 2026-01-23

はじめに

先日、DifyにInterSystems IRISをベクトルDBとして使える機能を追加しました。
Dify 1.11.2でマージされたので、せっかくなので使い方を記事にしていきます。

この記事では、DockerでDify + IRISの環境を構築するところまでを紹介します。

「IRISって何?」という方も、.envをすこし変えるだけで動かせるようになっているので、
気軽に試してみてください。

InterSystems IRISとは

「IRIS?聞いたことないな」という方も多いと思います。

実は医療・金融・官公庁といった、
「絶対に止まっちゃダメ」な業界で長年使われてきたDBです。
電子カルテの裏側で動いていたりします。

そんな堅いイメージのあるDBですが、最近ベクトル検索にも対応して、
RAGやAI系のユースケースでも使えるようになりました。

特徴

ざっくり言うと、

  • SQL・JSON・オブジェクト・ベクトルを1つに詰め込めて、
  • その場でロジックもガンガン動かせて、
  • 他システムとのつなぎ合わせもサクッとこなす、

そんな 「全部入りDB」 がIRISです。

DBの枠を超えて、アプリの処理やバッチを内蔵できるから、別途ミドルウェア立てずに済む手軽さが魅力。外部API連携やメッセージングもビルトインで、システム間の「配線作業」が一気に楽になります。

Community Edition(無料版)について

今回使うのは無料のCommunity Editionです。
以下の制限がありますが、個人開発や学習用途には十分です。

また、GUIが用意されているのでブラウザで簡単にデータの確認や操作ができます。

項目 制限
データ容量 10GB
CPUコア 最大20コア
同時接続 最大8接続
ライセンス期間 13ヶ月

※本番環境で使う場合は製品版ライセンスが必要です

必要なもの

  • Docker / Docker Compose
  • Git
  • 普通のスペックのPCでOK

環境構築

1. Difyのリポジトリをクローン

git clone https://github.com/langgenius/dify.git
cd dify/docker

2. 環境変数ファイルを準備

.env.exampleをコピーして.envを作成します。

cp .env.example .env

3. .envを編集してIRISを有効化

.envファイルを開いて、VECTOR_STOREの設定を変更します。

変更前(デフォルト)

VECTOR_STORE=weaviate

変更後

VECTOR_STORE=iris

これだけです。

IRISの接続情報はデフォルト値が設定されているので、
ローカルで試すだけなら他の設定は変更不要です。

IRISの接続設定を変更したい場合(クリックで展開)

.envファイル内の以下の項目で設定できます。

# InterSystems IRIS configuration, only available when VECTOR_STORE is `iris`
IRIS_HOST=iris
IRIS_SUPER_SERVER_PORT=1972
IRIS_WEB_SERVER_PORT=52773
IRIS_USER=_SYSTEM
IRIS_PASSWORD=Dify@1234
IRIS_DATABASE=USER
IRIS_SCHEMA=dify
IRIS_CONNECTION_URL=
IRIS_MIN_CONNECTION=1
IRIS_MAX_CONNECTION=3
IRIS_TEXT_INDEX=true
IRIS_TEXT_INDEX_LANGUAGE=en
IRIS_TIMEZONE=UTC

初期パスワードは、初回起動時にスクリプトで自動設定をしています(Dify@1234)

4. 起動

docker compose up -d

初回はイメージのダウンロードがあるので、数分かかります。
コーヒーでも飲みながら待ちましょう☕

5. 起動確認

すべてのコンテナが起動したことを確認します。

docker compose ps

irisコンテナがリストに含まれていて、STATUSUpになっていればOKです。

実行例
docker % docker compose ps --format "table {{.Name}}\t{{.Service}}\t{{.Status}}"
NAME                     SERVICE         STATUS
docker-api-1             api             Up 6 hours
docker-db_postgres-1     db_postgres     Up 6 hours (healthy)
docker-nginx-1           nginx           Up 6 hours
docker-plugin_daemon-1   plugin_daemon   Up 6 hours
docker-redis-1           redis           Up 6 hours (healthy)
docker-sandbox-1         sandbox         Up 6 hours (healthy)
docker-ssrf_proxy-1      ssrf_proxy      Up 6 hours
docker-web-1             web             Up 6 hours
docker-worker-1          worker          Up 6 hours
docker-worker_beat-1     worker_beat     Up 6 hours
iris                     iris            Up 6 hours        <-- これ

Difyにアクセス

ブラウザで以下のURLにアクセスします。

http://localhost/

初回は管理者アカウントの作成画面が表示されます。
メールアドレスとパスワードを設定してください。

IRISが使われていることを確認する

ナレッジベースを作成

  1. Difyにログイン
  2. 「ナレッジ」→「ナレッジを作成」
  3. 適当なテキストファイルやPDFをアップロード
  4. インデックス方法は 「高品質」 を選択します

スクリーンショット 2026-01-21 18.11.22.png

インデックス方法に「高品質」を利用するには外部のLLM(OpenAIやローカルLLM(LM Studioとか))の設定も必要なので、Dify公式ドキュメントか他のQiitaの記事で調べてみてください。

処理が完了すれば、IRISにベクトルデータが保存されています🎉

Difyにはベクトル検索の他に全文検索やハイブリッド検索の機能もありますが、少しバグがあって全文検索やハイブリッド検索が正しく機能しません。。。:frowning2:(2026/01/21時点)

すでに修正をPRとして提出したので、そのうちマージされるはず:pray_tone2:

IRIS 管理ポータルで確認(おまけ)

IRISにはWebベースの管理画面があります。
デフォルトの設定では、以下URLでIRISの管理画面にアクセスできます。

http://localhost:52773/csp/sys/UtilHome.csp?$NAMESPACE=USER
  • ユーザー名:_SYSTEM
  • 初期パスワード:Dify@1234

スクリーンショット 2026-01-21 17.19.30.png

ログインしたら、「システムエクスプローラ」→「SQL」をクリックすると、SQLでデータの確認や操作ができる画面が表示されます。

スクリーンショット 2026-01-21 17.23.47.png

スキーマにdifyを指定すると、Difyによって登録されたテーブルが「テーブル」の下に表示されます。

スクリーンショット 2026-01-21 17.27.00a.png

そのテーブルを選択して、「テーブルを開く」をクリックすると、別窓でデータが表示されます。

スクリーンショット 2026-01-21 18.04.42.png

ちゃんとアップロードしたドキュメントのチャンクが保存されていますね。

スクリーンショット 2026-01-21 17.27.34.png

うまく動かないときは

IRISコンテナが起動しない

CPUコア数が多いマシンでは、Community Editionの制限(20コア)に引っかかる場合があります。

docker-compose.ymlのIRISサービスに以下を追加してください。

services:
  iris:
    # 既存の設定...
    cpuset: "0-19"

まとめ

DifyでInterSystems IRISをベクトルDBとして使う環境を構築しました。

今回のポイント

  • .envVECTOR_STORE=irisに変えるだけ
  • Community Editionは無料で使える
  • 管理ポータルでデータを確認できる

次回は、実際にRAGアプリを作ってチャットボットを動かしてみる予定です。

質問や「ここ動かない!」などあれば、コメントで気軽にどうぞ💬

参考リンク


※この記事は個人の見解であり、所属組織の公式見解ではありません。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?