すべてのプロダクト
Search
ドキュメントセンター

Vector Retrieval Service for Milvus:Milvus と Dify を使用した RAG システムの構築

最終更新日:Jun 05, 2026

Vector Retrieval Service for Milvus (Milvus) と Dify プラットフォームを使用して、検索拡張生成 (RAG) システムを構築します。

背景情報

RAG の原則

大規模言語モデル (LLM) は、内部知識が限られている場合、誤った情報を生成する「ハルシネーション」を起こす可能性があります。検索拡張生成 (RAG) は、モデルを外部のナレッジベースに接続することで、この問題に対処します。効率的な RAG システムには、強力なベクトルデータベースが必要です。

本トピックでは、Milvus と Dify を統合してエンタープライズグレードの RAG アプリケーションを構築する方法を説明し、AI における「ラストマイル」問題の解決におけるベクトルデータベースの価値を実証します。

Dify

Dify は、ローコードのワークフローを備えたオープンソースの AI アプリケーション開発プラットフォームです。Backend as a Service (BaaS) と LLMOps を統合することで、AI アプリケーションの構築プロセスを簡素化します。

Dify はバックエンドインフラストラクチャ (API サービス、データ管理) を提供するため、開発者はゼロから構築する必要がありません。視覚的なプロンプトオーケストレーションインターフェイスにより、プロンプトエンジニアリングが簡素化されます。組み込みの RAG エンジンは、企業のドキュメントやデータベースなどのプライベートナレッジベースに接続し、LLM がドメイン固有の正確で追跡可能な回答を生成できるようになり、ハルシネーションを低減します。

前提条件

操作手順

ステップ1:Dify のインストール

  1. オープンソースの Dify プロジェクトを GitHub からローカルマシンにクローンします。

    git clone https://github.com/langgenius/dify.git
  2. デプロイメントディレクトリに移動し、.env 設定ファイルをバックアップします。

    cd dify/docker/
    cp .env.example .env
  3. .env ファイルで以下の設定を変更します。

    # ベクトルストレージエンジンの設定
    VECTOR_STORE=milvus  # Milvus をベクトルストレージエンジンとして指定
    # Milvus 接続情報
    MILVUS_URI=http://YOUR_ALIYUN_MILVUS_ENDPOINT:19530
    MILVUS_USER=YOUR_ALIYUN_MILVUS_USER
    MILVUS_PASSWORD=YOUR_ALIYUN_MILVUS_PASSWORD

    プレースホルダーの値を実際の情報に置き換えます。

    パラメーター

    説明

    MILVUS_URI

    Milvus インスタンスのエンドポイント。形式は http://<パブリック IP アドレス>:<ポート> です。

    • <パブリック IP アドレス>:Milvus インスタンスの Details ページで確認できます。

    • <ポート>:Milvus インスタンスの Details ページで確認できます。デフォルトは 19530 です。

    MILVUS_USER

    Milvus インスタンスの作成時に設定したユーザー名。

    MILVUS_PASSWORD

    Milvus インスタンスの作成時に設定したユーザーのパスワード。

  4. Dify を起動します。

    docker compose up -d --build
    [root@xxx /docker]# docker compose up -d --build
    [+] Running 15/15
    ✔ Network docker_default              Created
    ✔ Network docker_milvus               Created
    ✔ Network docker_ssrf_proxy_network    Created
    ✔ Container docker-db-1               Healthy
    ✔ Container docker-redis-1            Started
    ✔ Container docker-sandbox-1          Started
    ✔ Container milvus-etcd               Started
    ✔ Container milvus-minio              Started
    ✔ Container docker-ssrf_proxy-1       Started
    ✔ Container docker-web-1              Started
    ✔ Container docker-plugin_daemon-1    Started
    ✔ Container docker-worker-1           Started
    ✔ Container docker-api-1              Started
    ✔ Container milvus-standalone         Started
    ✔ Container docker-nginx-1            Started
  5. ブラウザで http://127.0.0.1/ を開き、Dify にアクセスします。管理者アカウントとパスワードを設定し、ログインします。

    説明

    Dify がリモートサーバー (ECS インスタンスまたは仮想マシン) 上で実行されている場合は、127.0.0.1 をサーバーのパブリック IP アドレスまたはドメイン名に置き換えてください。サーバーがパブリックにアクセス可能であることを確認してください。

    [Email][Username][Password] (8 文字以上で、英字と数字の両方を含む) を入力し、[Set up] をクリックします。

ステップ2:モデルの設定

  1. 右上のプロフィール写真をクリックし、[Settings] を選択します。

  2. 左側のナビゲーションペインで [Model Provider] を選択します。Qwen を探し、[Install] をクリックします。

  3. モデルがインストールされたら、それを選択し、Alibaba Cloud Model Studio から取得した API キーを入力します。

  4. [System Model Settings] パネルで、[System Inference Model][Embedding Model][Rerank Model][speech-to-text model][text-to-speech model] を設定し、[Save] をクリックします。

ステップ3:ナレッジベースの作成

  1. ページの上部にある [Knowledge] をクリックし、次に [Create Knowledge] をクリックします。

  2. [Data source][Import Existing Text] を選択します。サンプルデータ (README.md) をダウンロードしてアップロードします。

  3. 必要に応じてパラメーターを変更し、[Save & Process] をクリックします。

    主要なパラメーターにはデフォルト値を使用します:インデックス作成方式は [High quality]、検索設定は [vector retrieval]、リランクモデルで [gte-rerank] を有効にし、Top K は 3、スコアのしきい値は 0.5 です。

    この例では、次のパラメーターを変更します:

    • [最大チャンク長]:1024 に設定します。

    • [埋め込みモデル] text-embedding-v1 を選択します。

    処理が完了すると、ナレッジベースが作成されます。

    概要では、チャンキングモードが [Custom]、テキストの前処理で連続するスペース/改行/タブを置換、インデックス作成方式が [High quality]、検索設定が [vector retrieval] であることが確認できます。[Go to Documentation] をクリックして詳細を表示します。

ステップ4:ベクトル検索の検証

Vector Retrieval Service for Milvus コンソールにログインします。Milvus インスタンスを選択し、右上の [Attu マネージャ] をクリックします。Attu ページで、対応するコレクションが作成されていることを確認します。詳細については、「Attu ツールの管理」をご参照ください。

ステップ5:RAG パフォーマンスの検証

  1. ページ上部の [Studio] をクリックし、[Create from Template] を選択します。

  2. [Knowledge Retrieval + Chatbot] テンプレートを検索して選択します。

  3. ダイアログボックスで [Create] をクリックします。

  4. [Knowledge Retrieval] ノードを選択し、前のステップで作成したナレッジベースを設定します。

    ワークフローは、START → [KNOWLEDGE RETRIEVAL][LLM] (qwen-max) → [ANSWER] の順でノードを接続します。クエリ変数は sys.query です。

  5. [LLM] ノードを選択し、モデルを qwen-max に設定します。

  6. 右上の [Publish] をクリックし、次に [Publish Update] をクリックします。

  7. [Run] をクリックしてテストページを開きます。ナレッジベースの内容に関連する質問を入力して、回答を検証します。