はじめに
Difyは、コード不要でAIチャットボットやアプリが作れる、オープンソースの生成AIアプリ構築プラットフォームです。
この記事では、10分でDifyを使ってLLMの設定、参考ドキュメントの登録を行い、登録ドキュメント参照するRAGチャットボットを作成してみました!
アプリの作成
「アプリを作成する」から「最初から作成」をクリックします。
チャットボットを作成するので「チャットボット」を選択します。
LLMの設定
LLMの設定をしていなかったので、OCIのGenerative AIを利用できるように設定をします。「設定に移動」をクリックします。
モデルプロバイダーから「OCIGenerativeAI」を選択してインストールします。
OCI上で発行したAPIキーの秘密鍵をインスタンスにコピーします。
さらにインスタンス上に以下のスクリプトを作成します。
#!/bin/bash
#以下の4つを書き換える
user="ocid1.user.oc1..hogehoge"
fingerprint="xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
tenancy="ocid1.tenancy.oc1..hogehoge"
pem_file_path="hogehoge.pem"
#以下は修正しない
compartment_ocid=$(oci-metadata |grep compartment | awk '{print $3}')
region="us-chicago-1"
combined_string="$user/$fingerprint/$tenancy/$region/$compartment_ocid"
encoded_combined_string=$(echo -n "$combined_string" | base64 --wrap=0)
echo "[Dify: oci api key config file's content]"
echo "$encoded_combined_string"
if [ ! -f "$pem_file_path" ]; then
echo "PEM file not found: $pem_file_path"
exit 1
fi
encoded_pem_content=$(base64 --wrap=0 "$pem_file_path")
echo
echo "[Dify: oci api key file's content]"
echo "$encoded_pem_content"
スクリプト内のuser、fingerprint、tenancy
、秘密鍵のパスを、APIキーの情報に基づいてを書き換えます。
スクリプトを実行します。
sh code.sh
[Dify: oci api key config file's content]と[Dify: oci api key file's content]がそれぞれ出力されます。
Difyの画面に戻って、API Keyセットアップを押して、2つの枠に入力して保存します。
ナレッジベースの設定
任意のファイルをアップロードします。
チャンク設定や、埋め込みモデル、検索設定を任意の値で設定して、「保存して処理」をクリックします。
チャットボットの設定
「スタジオ」から先程作成したチャットボットのアプリへ戻ります。
「コンテキスト」で先程ナレッジベースとして登録したドキュメントを選択します。
プロンプトは「自動」から指示を加えて作成してもらいました!
10分程度ですぐRAGチャットボットが作成できました!
「アプリを実行」をクリックすると、作成したチャット形式で質問できるページにアクセスすることができます。正しく動作することが確認できます!