【生成AI】Difyを利用して、ノーコードでRAGを搭載したアプリケーションを作ってみた
はじめに
こんにちは、Shunです!
最近、生成AIの話題の中でDify(ディファイ)というツールを耳にすることが増えてきました!
そこで、今回はDifyを用いて簡易的にRAGを構築し、アプリケーションを公開するまでの手順をご紹介します!
Dify.AI · The Innovation Engine for Generative AI Applications
Difyとは
Difyとは、オープンソースのLLMアプリ開発プラットフォームです。
LangChainのノーコード版と捉えていただけるとわかりやすいかもしれません。
チャットボット、エージェント、ワークフローなどの機能を利用でき、外部ツールとの連携も可能です。
また、テンプレートとしてある機能をそのまま使うことができたり、ナレッジと呼ばれるRAGも簡単に構築することができます。
料金
200回分のGPTは無料で使用することが可能です。プランが上がると、作成可能なアプリ数やRAGの領域が広くなるなど、様々な機能が追加されます。
やってみた
1. Difyアカウントの登録
以下からアカウント登録を行います。
GoogleもしくはGitHubアカウントと連携させることで、簡単に登録が可能です。
2. ナレッジの作成
今回は、RAG機能を持たせたアプリを作成するため、ナレッジと呼ばれる情報を格納する箱を作成します。
「知識を作成」をクリックします。
今回は、RAGをNotionで作成するため、「Notionから同期」 > 「接続する」へ進みます。
Notionとの同期は、手順に沿って行っていきます。
私は、以下のような自分の簡単なプロフィールを書いたページを作成し、ページ単位で同期をしました。
同期が完了すると、データソースを指定して、「次へ」へ進みます。
今回は、無料利用を想定しているため、以下のように設定を行い、「保存して処理」をクリックします。
チャンク設定: 自動
インデックスモード: 経済的
これでナレッジの作成は、完了です。
3. ワークフローの設定
続いて、ワークフローを作成していきます。
「ワークフロー」 > 「最初から作成」をクリックします。
適当なアプリの名前をつけ、「作成する」をクリックします。
GUIでワークフローを作成するページへと遷移します。
アプリの全体的なワークフローは以下です。
- ユーザーが質問を行う
- 質問に近い内容をナレッジから取得
- ナレッジ取得した内容をLLMに渡し、回答を生成
- ユーザーへ回答
まず、ユーザーが質問を行います。
開始ブロックの、「入力フィールド」へ変数「Input」を定義します。
次に、「Input」からナレッジを探します。
開始ブロックの + から、「知識取得」をクリックします。
知識取得ブロックに、「Input」をクエリ変数として渡し、「知識」へ先ほど作成したナレッジを設定します。
続いて、「LLM」ブロックを作成します。
LLMブロックは、以下のように設定します。
モデル: [GPT3.5のどれか]
コンテキスト: 知識取得のresult
プロンプト:
あなたは、Shunのプロフィールを紹介するBotです。 ユーザーからの<質問>に対し、<コンテキスト>を参照し、回答をしてください。 # /から入力を始めると変数を渡すことができます。 <質問> /input </質問> <コンテキスト> /コンテキスト </コンテキスト>
出力変数: text
最後に、「終了」ブロックを作成します。
終了ブロックの出力変数に、LLMから受け取ったtext
を返すように設定します。
実際に、動かして想定した動きをしているかを確かめてみます。
画面右上の「実行」をクリックし、入力へ「Shunの趣味を教えて」と入れ、「実行を開始」します。
趣味は、バスケと筋トレと出力されます。
正解です。仕事以外の時間は、ほぼこの二つです。
これでワークフローの作成は完了です。
4. アプリケーションの公開
画面右上の「公開する」からアプリケーションを公開することも可能です。
「アプリを実行」をクリックします。
先ほど、作成したアプリのUIが用意されており、ここから実行をすることができます。
URLからアプリへアクセス可能なので、アプリの公開も可能です。
まとめ
今回は、ノーコードでRAGを搭載したアプリケーションを作ってみました!
ノーコードツールは色々とありますが、Difyはトップクラスで直感的に扱えたような気がしました!
余談ですが、Difyの公式サイトには「LangChainよりも本番環境に適しています。」とかなり大胆なことが書いています!
ただ、それほどプロダクトに自信がある表れだとも思えます!
興味がある方は、無料かつ簡単に試すことができるので、ぜひ実施してみてください!
最後まで読んでいただきありがとうございます!
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterGoogle Cloud11冠、2024 AWS All Cert、ビール検定1冠
Recommends
こちらもおすすめ
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16