DifyとAzure AI SearchでRAG検索してみた

最近話題になっているDifyを使用して、Azure AI Searchに接続してRAG検索できるのか試してみました。

Difyとは?

Difyは、アプリを作るためのプラットフォームです。特に、大きな言語モデルを使ったアプリ作成に便利です。

言語モデルとは、文章を理解したり生成できるAIのことです。Difyを使えば、開発者が様々な機能を自由に組み合わせて、自分たちのニーズに合ったアプリを簡単に作ることができます。

例えば、翻訳アプリやチャットボットなどを簡単に作ることが出来ます。

dify.ai

Difyの使用方法

Difyのインストールや使用方法については下記を参考にして下さい。

※Difyで検索すれば、インストール方法などを解説している日本語サイトも多数あります。

github.com

DifyとAzure AI Searchの接続方法

今回は下記のブログで掲載したAzure AI Searchのインデックスと、GPTsの設定を利用します。

OpenAIのGPTsを活用してAzure AI Searchとシームレスに連携する方法 - JBS Tech Blog

Difyのカスタムツールという機能を使用すれば、Azure AI Searchに接続することが出来ます。

GPTsの設定内容です。(この内容をDifyのカスタムツールに設定します)

{
  "openapi": "3.0.0",
  "info": {
    "title": "GPT-Azure WebApps Integration",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://*************.azurewebsites.net/CognitiveSearch"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "operationId": "getCognitiveSearchResults",
        "parameters": [
          {
            "name": "searchtext",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    }
  }
}

Difyのカスタムツールの作り方

カスタムツールを作成する手順は下記です。

Difyのツールを選択する

画面上部にあるツールを選択します。

カスタムツールを作成する

画面左側にある"カスタムツールを作成する"を選択します。

GPTsで設定していた内容を記載する

スキーマの箇所に、GPTsで設定していた内容を記載します。

テストボタンを押して動作確認する

パラメーターに任意の文章を入力してテストボタンを押します。

テスト結果にAzure AI Searchから受信したテキストデータが表示されることを確認します。

Difyでエージェントを作成し、ツールを追加する

任意の名称でエージェントを作成し、画面左下にあるツールの追加ボタンを押します。

ツールを追加する画面が表示されるので、上記で作成したカスタムツールを選択します。

これでカスタムツールの作成と追加作業は完了です。

RAG検索してみる

任意の質問をして動作確認します。

今回はOpenAIのgpt-3.5-turboを使用してテストしました。

Azure AI Searchから取得した内容を使用して回答できることが確認できました。

使用済みのボタンを押すと、Azure AI Searchからどのようなテキストを受信していたのか確認できます。

まとめ

本記事では、最新のプラットフォーム「Dify」と「Azure AI Search」を連携させる方法について詳しく解説しました。

Difyは、大規模な言語モデルを活用してアプリケーション開発を容易にするためのツールであり、このプラットフォームを用いることで、開発者は様々な機能を組み合わせて独自のアプリケーションを効率良く構築できます。

特に、Azure AI Searchとの統合により、より高度な検索機能をアプリケーションに組み込むことが可能となります。

執筆担当者プロフィール
株木 誠

株木 誠

先端技術部の株木です。 Azure OpenAI Service を活用するアプリ開発を担当しています。

担当記事一覧