25
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dify: OCI Generative AIでRAGチャットボットを10分で作成してみる

Last updated at Posted at 2025-06-12

はじめに

Difyは、コード不要でAIチャットボットやアプリが作れる、オープンソースの生成AIアプリ構築プラットフォームです。
この記事では、10分でDifyを使ってLLMの設定、参考ドキュメントの登録を行い、登録ドキュメント参照するRAGチャットボットを作成してみました!

■ 前提条件

  • Difyのアカウント作成済みで、サインアップしている状態

※今回私は、コミュニティ版でOCI上に環境を用意しました。
セットアップ方法は、以下のを参考にさせて頂きました。
参考:Qiita - Oracle(OCI)ずくめでDifyしよう!
記事内のVCN作成Difyのインストールまで完了したところからのスタートです。
なお、以下LLMの設定などは、コミュニティ版の利用を前提とした手順になっています。

Dify環境のセットアップ
Difyを利用するには、大きく2つの形態があります。
■ ウェブブラウザからアカウント作成ですぐに利用可能なクラウド版
■ 自社サーバーなどに無料でインストールして利用可能なコミュニティ版(セルフホスト版・OSS版)

  • クラウド版: 参考: https://docs.dify.ai/ja-jp/getting-started/cloud
    • 基本的には無料でアカウント作成するだけですぐに利用可能です(プラン名:Sandbox)。
    • さらに、利用規模や目的に応じて有料プランも用意されています。
  • コミュニティ版: 参考: https://docs.dify.ai/ja-jp/getting-started/install-self-hosted/README
    • オープンソースでGitHub上でソースコードが公開されているので、自分で環境をセットアップすることで、ソフトウェア自体を無料で利用することができます。

アプリの作成

「アプリを作成する」から「最初から作成」をクリックします。

チャットボットを作成するので「チャットボット」を選択します。
image.png

LLMの設定

LLMの設定をしていなかったので、OCIのGenerative AIを利用できるように設定をします。「設定に移動」をクリックします。
image.png

モデルプロバイダーから「OCIGenerativeAI」を選択してインストールします。
スクリーンショット 2025-06-12 101547.png

OCI上で発行したAPIキーの秘密鍵をインスタンスにコピーします。

さらにインスタンス上に以下のスクリプトを作成します。

code.sh
#!/bin/bash

#以下の4つを書き換える
user="ocid1.user.oc1..XXXX"
fingerprint="xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
tenancy="ocid1.tenancy.oc1..XXXXX"
pem_file_path="XXXXXX.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キーの情報に基づいてを書き換えます。

image.png

スクリプトを実行します。

sh code.sh

[Dify: oci api key config file's content]と[Dify: oci api key file's content]がそれぞれ出力されます。
image.png

Difyの画面に戻って、API Keyセットアップを押して、2つの枠に入力して保存します。

スクリーンショット 2025-06-12 103755.png

ナレッジベースの設定

「ナレッジ」から「ナレッジベースを作成」をクリックします。
image.png

任意のファイルをアップロードします。

チャンク設定や、埋め込みモデル、検索設定を任意の値で設定して、「保存して処理」をクリックします。

チャットボットの設定

「スタジオ」から先程作成したチャットボットのアプリへ戻ります。

「コンテキスト」で先程ナレッジベースとして登録したドキュメントを選択します。

プロンプトは「自動」から指示を加えて作成してもらいました!

image.png

10分程度ですぐRAGチャットボットが作成できました!

image.png

「アプリを実行」をクリックすると、作成したチャット形式で質問できるページにアクセスすることができます。
回答に登録したドキュメント(ナレッジベース)を利用していることが分かります(CITATIONS)。
正しく動作することが確認できます!

image.png

25
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?