2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Cloud(OCI)でDifyをResource Managerからデプロイして、RAG・エージェントを試してみた。

Posted at

はじめに

この記事では、以下GitHubで公開されているTerraformスタックを利用し、ADB-SelectAI-SidecarのDify環境を自動デプロイします。

その後、Dify上での簡単な生成AIモデルの実行と、RAGの実装までの手順を記載します。

今回は、OCI 生成AIサービスを利用可能な大阪リージョンで環境構築します。

参考情報

今回の記事執筆に当たり、以下の記事を参考にさせていただきました。
この場を借りて、感謝いたします。

事前準備

VCNの作成

  • ネットワーキングから仮想クラウド・ネットワークを選択します。

image.png

  • アクションからVCNウィザードの起動を選択します。

image.png

  • 接続タイプとしてインターネット接続性を持つVCNの作成を選択し、VCNウィザードを起動します。

image.png

以下を入力して、次を選択します。

  • VCN名
  • コンパートメント
  • VCNのCIDRブロック
  • パブリック・サブネットのCIDRブロック
  • プライベート・サブネットのCIDRブロック

image.png

  • 作成を選択します。

image.png

作成したVCNのパブリックサブネットのセキュリティ・リストを以下の通り追加します。

  • ソース:0.0.0.0/0
  • IPプロトコル:TCP
  • ソース・ポート:All
  • 宛先ポート:8080

image.png

DifyのResource Manager(Terraformスタック)によるデプロイ

  • 以下URLにアクセスし、Deploy to Oracle Cloudを選択します。

image.png

以下エラーが発生する場合は、パッケージURLに直接アクセスし、.zipをダウンロードして利用します。

Authorization failed or requested resource not found. リクエストID: csidf4984e4347fcaed8937f0f6491b2/69697e3d9713470d85939c2029a08ea8/5D34E08B0D3D9DCAC6795FBB7A90A066。タイムスタンプ: 2025年11月7日(金) 6:00:53 UTC。エンドポイント: https://cloud.oracle.com/stacks/create。エラー・コード: NotAuthorizedOrNotFound(404)。

https://github.com/engchina/No.1-ADB-SelectAI-Sidecar/releases/download/v1.8.1/v1.8.1.zip
  • .zipをダウンロードして利用する場合は、開発サービスからスタックを選択します。

image.png

  • スタックの作成を選択します。

image.png

  • マイ構成、.Zipファイルを選択し、ダウンロードした.zipをドラッグ&ドロップして、Nextを選択します。

image.png

以下の通り設定します。

  • Availability domain:ADを指定
  • ADB Name:任意の文字列
  • Enable MySQL Database:チェックを外す
  • Enable PostgreSQL Database:チェック外す
  • Database password:任意の文字列

image.png

続けて、以下の通り設定します。

  • Choose the shape for compute instance:今回はVM.Standard.E5.Flexを指定
  • SSHキー・ファイルの選択:公開鍵のドラッグ&ドロップ
  • Region for Object Storage:今回は大阪リージョンを指定
  • Object Storage Bucket Name:任意の文字列を指定

以下は作成したVCNを指定します。

  • VCN
  • Private Subnet
  • Public Subnet

image.png

以下は、右上のプロファイルのアカウントから、それぞれコピーします。

  • OCI Access Key:顧客秘密キーのアクセス・キー
  • OCI Secret Key:顧客秘密キーの秘密キー

image.png

image.png

image.png

image.png

  • 上記をすべて入力したら、Nextを選択します。

image.png

  • 適用の実行をチェックして、作成を選択します。

image.png

  • 進行中のステータスが成功に変わったら、Dify環境がOCI上にデプロイできました。

image.png

image.png

Difyへのログインとアカウント登録

ここまできたら、OCI環境上にDifyがデプロイされています。
DifyのURLにアクセスして、アカウントを登録していきましょう。

  • スタックのログに出力されたDifyのURLにアクセスします。

image.png

管理者アカウントを作成します。

  • メールアドレス
  • ユーザー名
  • パスワード

image.png

DifyへのOCI Generative AIモデル設定

続いて、DifyにOCI Generative AIモデルを設定していきます。

事前にOCIのAPI情報とAPI秘密鍵を取得します。
以下を流れでAPIキー取得とDify入力形式への変換をします。

  • OCIコンソールの右上のプロファイルのアカウントから、APIキーのAPIキーの追加を選択します。

image.png

image.png

  • APIキー・ペアの生成を選択し、秘密キーのダウンロードをクリックして秘密鍵をダウンロードし、追加を選択します。

image.png

  • 構成ファイルのプレビューが表示されるので、コピーをクリックしてクリップボードからメモ帳など記録しておきます。ウィンドウは閉じます。

image.png

続いて、Dify側の設定に移ります。

  • Difyコンソールの右上のアイコンから設定を選択します。

image.png

  • モデルプロバイダーからOCI Generative AIをインストールします。

image.png

  • インストールを実行します。

image.png

  • セットアップを選択します。

image.png

APIキー認証設定で、以下の情報を入力し、保存をクリックします。

  • 認証名:任意のも文字列を入力
  • Default Region:メモ帳に記録した情報を入力
  • Conpartment OCID:メモ帳に記録した情報を入力
  • Authentication Method:API Key Authnticationを選択
  • User OCID:メモ帳に記録した情報を入力
  • Tenancy OCID:メモ帳に記録した情報を入力
  • Fingerprint of your public key:メモ帳に記録した情報を入力
  • Key File Content:保存した秘密鍵の文字列を入力

image.png

  • モデルプロバイダーのシステムモデル設定から、埋め込みモデルを日本語対応のマルチリンガル(cohere.embed-multilingual-v3.0)に変更して保存おきます。

image.png

Difyチャットワークフローによる質問回答の実行

DifyのHomeに戻り、アプリを作成します。

  • アプリを作成するの最初から作成を選択します。

image.png

  • チャットフローを選択し、アプリ名を入力して作成するをクリックします。

image.png

  • プレビューボタンから、チャットで質問が可能です。試しにxai.grok-4で以下の質問をしてみます。
OCIについて教えてください。

image.png

デフォルトのままでも回答が生成されました。

  • 次に、以下の質問をしてみます。
AI Data PlatformのFusion Agent Studioとの補完関係を教えてください。

image.png

Web情報などから回答を生成してくれました。

DifyチャットワークフローによるRAG(ナレッジベース)を利用した質問回答の実行

次にナレッジにAD Data PlatformのPDFドキュメントを追加し、ベクトル検索によるRAGを構成して試してみます。

  • 上部のナレッジを選択し、ナレッジベースを作成をクリックします。

image.png

  • テキストファイルからインポートを選択し、PDFドキュメントをドラッグ&ドロップして次へをクリックします。

image.png

チャンクの設定を修正できます。

  • 最大チャンク長:128charactersに変更
  • チャンクのオーバーラップ:20charactersに変更
  • チャンクをプレビューをクリックすると、チャンクのプレビューが表示できます。
  • 埋め込みモデルが日本語対応のマルチリンガル(cohere.embed-multilingual-v3.0)になっていることを確認します。

image.png

  • ハイブリッド検索を指定し、その他はデフォルトのまま保存して処理を選択します。

image.png

  • 埋め込みが完了しました、となったら、ナレッジベースの登録が完了です。

image.png

  • 先ほど作成したチャットアプリを開き、左側のブロックを追加から知識検索を選択して追加します。

image.png

  • 以下のようにチャットフローを繋ぎ直します。

image.png

  • 知識検索を選択し、ナレッジベースの+から先ほど作成したナレッジベースを選択します。

image.png

LLMを選択し、以下の設定を追加します。

  • コンテキストに知識検索のresultを指定します。
  • SYSTEMプロンプトに以下の文字列を追加します。
  • {x}からSYSTEMプロンプトにコンテキストを追加します。
ユーザーの入力に回答するために、コンテキストの内容を検索した結果に忠実に回答を生成してください。
あなたの事前知識で回答はしないでください。//

image.png

  • RAGを追加した状態で、改めて以下の質問をしてみます。
AI Data PlatformのFusion Agent Studioとの補完関係を教えてください。

PDFファイル内の以下の内容を参照し、適切に回答が生成されました。

image.png

image.png

知識検索の実行結果として、出力にチャンク情報があることが確認できます。

image.png

LLMの実行結果として、入力にチャンク情報があることが確認できます。

image.png

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?