はじめに
新たにリリースされたOracle APEX24.1の新機能、会話型AIダイアログを使用して、簡単にアプリケーションにチャットボットを実装します。
会話型AIダイアログは、アプリに簡単に素早く実装できる会話型インターフェースです。エンド・ユーザーがアプリと自然言語で「会話」できるようにします。生成AIや自然言語処理コンポーネントを最初から構築せずに、アプリケーション内でよりリッチなエクスペリエンスを提供することができます。
本記事では、給与の提案をするAIアシスタントを作成し、アプリケーションに実装したいと思います。
【前提条件】
- Oracle APEXのワークスペースが作成済みであること
(ワークスペースの作成方法はこちらをご参照ください。) - 使用可能なAPIキーが作成済みであること
(OpenAIのAPIキー取得方法はこちらをご参照ください。)
Oracle APEXの生成AIサービスは、2024年8月現在、OpenAI、Cohere、OCI Genarative AIをAIプロバイダーとして使用することが出来ます。OCI Genarative AIは、APEX24.1.2以降でのみ使用可能です。
【所要時間】
20分程
1. 生成AIサービスの作成
APEXアシスタントの機能を使用するため、APEX上で生成AIサービスを作成します。
既にAPEX上で生成AIサービスを作成済みの場合は再度作成いただく必要はありません。2. サンプルアプリケーションの作成へスキップします。
-
以下の通りに記入し、作成をクリックします。
2. サンプルアプリケーションの作成
APEXアシスタントの機能を試すために、アプリケーションとデータセットが必要です。
APEXのワークスペース上に、サンプルデータセットをロードし、新しいアプリケーションを作成します(既にEMP表、DEPT表をダウンロードし、アプリケーションを作成済みの場合は3. 会話型AIダイアログを実装してみるへスキップして下さい。)
-
画面上部の検索をクリックし、検索フィールドにサンプルと入力します。検索結果に表示されるサンプル・データセットをクリックします。
-
アプリケーションの作成に必要なデータをインストールします。本記事では、EMP/DEPTというサンプル・データセットをインストールします。インストールをクリックします。
-
これで、アプリケーションの作成が終わりました。SQLワークショップをクリックし、インポートしたEMP表とDEPT表を確認します。
-
先程インポートしたEMP表とDEPT表が表示されています。それぞれの表にどの様なデータが格納されているか確認します。
EMP表には従業員の氏名や職種、給与等の情報が格納されており、DEPT表には部署のID、名前、所在地が格納されている事が分かりました。また、EMP表のDEPTNOはDEPT表の主キーであるDEPTNOを参照している事が分かりました。
3. 会話型AIダイアログを実装してみる
生成AIサービス、サンプルアプリケーションの用意ができたので、会話型AIダイアログを実装してみましょう。
-
先ずは、チャットボットを実装するページを新規に作成します。ページの作成をクリックし、対話モード・レポートのページを追加します。
-
従業員一覧の対話モード・レポートを作成し、各従業員の給与を編集することの出来るフォーム・ページも作成します。以下の通りに入力します。
-
従業員の名前、職種、給与、部署等の情報を一覧出来る対話モードレポートが作成されました。名前の隣にある編集アイコンをクリックします。
-
従業員の情報を編集することのできる給与編集ページが表示されました。
このページに、従業員の給与を上げる際に相談することが出来るチャットボットを実装します。画面下部のページ8をクリックし、給与編集ページを編集します。
-
作成したボタンを給与の隣に配置します。以下の通りに入力します。
-
以下の通りに入力し、画面上部の保存ボタンをクリックします。
-
SQL問合せの欄に、以下のSQLクエリを記述します。先ほどと同様に、P8_DEPTNOの数字はページナンバーに合わせて変更します。
select dname from dept where deptno = :P8_DEPTNO
-
以下の通りに入力します。
-
以下の通りに入力します。
-
計算
- タイプ - 静的値
- 静的値 - 下記の値を記入(数字は編集しているページのページ番号に合わせて変更してください。ページ8の中にあるアイテムなので、P8としています。)
部署:&P8_DEPARTMENT. 現在の給与:&P8_SAL.
-
計算
-
作成した動的アクションのを編集し、ボタンをクリックすると動的アクションが実行されるように設定します。
-
表示というTrueアクションを編集し、ボタンがクリックされた時の動きを設定します。
-
識別
- アクション - Open AIアシスタント
-
生成AI
-
サービス - OpenAI Demo(作成した生成AIサービスを選択します。)
-
システム・プロンプト - 以下のメッセージを入力(AIに文脈を伝えるために記入します。エンド・ユーザーには表示されません。)
-
ようこそメッセージ - こんにちは、私はHRアシスタントです。昇給の計算をお手伝いします。(チャットボットをユーザーが使う時に最初に表示されるメッセージとなります。)
あなたは従業員の昇給を提案する人事マネージャーです。 部署によって昇給率は異なります。 以下は部署と昇給率の一覧です: - 会計 5% - 業務 7% - 研究開発 10% - セールス 3% 従業員の部門情報と現在の給与を取得します。 これらの情報に基づいて新しい給与を計算します。 計算された給与は、特殊文字や通貨記号を使わずに表示する必要があります。 また、小数点以下は四捨五入してください。計算した給与を含む完全で短い文章で回答してください。 給与に関する質問にのみ回答し、それ以外の質問には回答しないでください。 部署名や現在の基本給など、必要なパラメータが不足している場合は、続行するにはさらに情報が必要であると回答してください。
-
-
識別
-
昇給させたい従業員を選択し、チャットボットにどのくらいの給与にすべきかアドバイスを求めます。
-
編集アイコンをクリックすると、給与編集のフォームが表示されます。
-
ボタンをクリックすると、HRアシスタントというチャットボットが開き、従業員の所属している部署、現在の給与を基に、昇給額の算出を自動で行います。
-
APEX AIアシスタントが提案してくれた額である、1365と給与列を更新します。Salに1365と入力し、変更の適用をクリックします。
本記事は以上です。他にも様々なチャットボットを作成してみて下さい。