はじめに
こんにちは、クラウド事業部の早房です。
今回は OCI(Oracle Cloud Infrastructure)の生成AIサービス Generative AI Agents を使用したRAGを試してみました。
是非最後までご覧ください!✨
目次
Generative AI Agent とは
OCIが提供している生成AI関連のマネージドサービスです。
ナレッジベースのデータソースとしてPDFなどのファイルを指定することでRAGの実装も可能です。
Generative AI Agentは ナレッジベース, エージェント, エージェントエンドポイント のコンポーネントで構成されています。
それぞれのコンポーネントの役割はざっくりと以下のようなイメージです。
- ナレッジベース
- ユーザーから受け取ったプロンプトをもとに、データソースに指定されているPDFなどのファイルの内容から関連する情報をピックアップする。
- エージェント
- プロンプトとチャンク(ナレッジベースから提供された関連情報)をLLMに渡して根拠のある回答を作成し、ユーザーに返す。
- エージェントエンドポイント
- プロンプトに暴力的な内容があった場合に弾くなどの、ガードレール機能を持つ。FunctionなどのサービスからHTTPSリクエストを受け取る際の受け口的な役割も持っている。
- プロンプトに暴力的な内容があった場合に弾くなどの、ガードレール機能を持つ。FunctionなどのサービスからHTTPSリクエストを受け取る際の受け口的な役割も持っている。
★処理の流れは公式ドキュメントの図が分かりやすいです。
www.oracle.com
★利用可能なリージョンについて
Generative AI Agent は現時点(2025年4月)で ブラジル東部(サンパウロ)、ドイツ中央部(フランクフルト)、Japan Central (Osaka)、英国南部(ロンドン)、米国中西部(シカゴ) の5つのリージョンのみで利用可能となっています。 (東京リージョンのコンソール画面をひたすら漁ってました。。。)
docs.oracle.com
Generative AI Agent を作成する
それでは、早速Generative AI Agentを作成してみましょう!
以下の流れで作成していきます。
1. ナレッジ・ベースのデータソース用Object Storage作成 + PDFアップロード
まずは、ナレッジベースのデータソースとして指定するObject StorageおよびPDFファイルのアップロードを行っていきます。
- 「ストレージ > オブジェクト・ストレージとアーカイブ・ストレージ > バケット」 を選択
- 任意のバケット名を入力して作成します。各項目はデフォルトで進めました。
- 作成したバケットにPDFファイルをアップロードします。
- アップロード完了
★今回使用したサンプルファイルの内容は以下です。(社内規則について質問することを想定してGPTに作ってもらいました。)
sample_work_rules.pdf
社内就業規則・人事制度ガイド(サンプル) 第1章 総則 第1条(目的) この規則は、株式会社○○(以下「会社」という)の就業に関する基本的な事項を定め、従業員の 規律を確保し、円滑な業務運営を図ることを目的とする。 第2条(適用範囲) この規則は、会社に勤務するすべての正社員に適用する。ただし、契約社員、パートタイマー、アルバ イト等については別途定める。 第2章 就業時間・休憩・休日 第5条(所定労働時間) 所定労働時間は、午前9時00分から午後6時00分までとし、休憩時間は午後12時00分から午後1時00分 までの1時間とする。 第6条(休日) 会社の休日は次のとおりとする。 1. 土曜日および日曜日 2. 国民の祝日 3. 年末年始(12月29日から1月3日) 第4章 休暇 第10条(年次有給休暇) 1. 入社日から6か月継続勤務し、全労働日の8割以上出勤した場合、10日の年次有給休暇が付与される。 2. 有給休暇は1年ごとに付与され、繰越は翌年度までとする。 第11条(特別休暇) 以下の場合に特別休暇を付与する。 - 結婚:5日 - 配偶者の出産:2日 - 忌引き:親等に応じて1日~5日 第5章 リモートワーク規定 第12条(リモートワークの適用) 会社は業務内容に応じて、従業員に在宅勤務を許可する場合がある。リモートワークの実施可否は上長 が判断する。 第13条(勤務時間と報告) リモートワーク中も所定労働時間に基づいて勤務を行うものとし、業務開始・終了時にはチャットツー ルでの報告が義務付けられる。 第6章 福利厚生制度 第14条(福利厚生制度) 会社は次のような福利厚生を提供する。 1. 健康診断(年1回) 2. 退職金制度(勤続3年以上対象) 3. 資格取得支援制度(指定資格に限る) 4. 社員交流補助制度(月1回まで、飲食費補助あり) 5. リモートワーク環境整備手当(月3,000円) 第7章 評価制度 第15条(評価制度の目的) 社員の能力と成果に基づいた公平な評価を行い、適切な処遇・育成につなげることを目的とする。 第16条(評価項目) 社員の評価は以下の項目を総合的に判断して行う。 1. 職務遂行能力 2. 業務成果 3. チーム貢献度 4. 行動特性(会社のバリューに基づく) 第17条(評価のタイミング) 年2回(6月・12月)に上長との面談を通じて評価を実施する。 第8章 昇給・昇格制度 第18条(昇給) 原則として年1回(4月)に、評価結果および会社業績を考慮して昇給の有無を決定する。 第19条(昇格) 職位は次のように区分され、昇格は評価と適性により判断される。 - 一般社員 - リーダー - マネージャー - 部長
2. ナレッジ・ベース作成
次にナレッジ・ベースを作成します。
- 「アナリティクスと AI > 生成AIエージェント > ナレッジ・ベース > ナレッジベースの作成」を選択。
- 任意の名前を入力、データ・ストア・タイプはオブジェクト・ストレージを選択、データソースには先程作成したバケットを指定し、作成します。
- ステータスが ACTIVE になればOKです。
3. エージェントとエージェント・エンドポイントの作成
次にエージェントを作成します。
- 「生成AIエージェント > エージェント > エージェントの作成」 を選択
- 任意の名前を入力して進みます。
- ツールの作成では、RAGを選択します。任意の名前とカスタム指示を入力します。
4. エージェント・エンドポイントの設定をします。プロンプトに「暴力的な内容、個人情報」などが含まれる場合の挙動を設定できます。
5. 設定内容を確認の上、作成します。
エージェントとチャットする
- 左メニューから チャット を選択、上段プルダウンで先ほど作成したエージェント、エージェント・エンドポイントを選択します。
- チャットしてみましょう
- 回答を得ることができました!
🔍エージェント・エンドポイントの設定で引用の有効化をしておくと、どのチャンクが参照されたか UI で確認できるので RAG 成功を可視化できます。
まとめ
今回は Generative AI Agents を使った RAG を試してみましたが、GUI 操作だけで「アップロードした PDF を根拠に答えるエージェント」を用意できる手軽さに驚きました。 次回はこのエージェントを チャットボット化 し、フロントエンド(SlackAppなど)とつないで “社内 FAQ ボット” のようなものを作る手順を試してみたいと思います!✨
おわりに
私達クラウド事業部はクラウド技術を活用したSI/SESのご支援をしております。
また、一緒に働いていただける仲間も募集中です! ご興味持っていただけましたらぜひお声がけください。