最近話題になっているDifyを使用して、Azure AI Searchに接続してRAG検索できるのか試してみました。
Difyとは?
Difyは、アプリを作るためのプラットフォームです。特に、大きな言語モデルを使ったアプリ作成に便利です。
言語モデルとは、文章を理解したり生成できるAIのことです。Difyを使えば、開発者が様々な機能を自由に組み合わせて、自分たちのニーズに合ったアプリを簡単に作ることができます。
例えば、翻訳アプリやチャットボットなどを簡単に作ることが出来ます。
Difyの使用方法
Difyのインストールや使用方法については下記を参考にして下さい。
※Difyで検索すれば、インストール方法などを解説している日本語サイトも多数あります。
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との統合により、より高度な検索機能をアプリケーションに組み込むことが可能となります。