本連載の最後に、CPaaSのAI機能であるVonage AI Stuidoを使って電話に自動応答する方法について前後編に分けて説明しています。
前編で受付業務のコールフローの全体の流れを作成しました。後編では、Vonage AI StudioにあるOpenAIとの統合機能を使って、応答メールの文面生成などを組み込んでみます。
OpenAIと連携する
Vonage AI Studio
ここではOpenAI Integrationを使って、ナレッジベースの内容をもとにした適切な回答を作成し、請求書に関する質問が来たときに答えられるようにしてみたいと思います。
注意:OpenAI Integrationの機能を利用するためには、OpenAIのSecret Keyが必要です。
OpenAI Integrationの設定
Vonage APIコンソールにログインします。
左側のメニューから統合を選択して、右側に表示されているOpenAIを選択します。

以下の項目を設定します。
- Name欄に
「 VoangeHandson
」と入力します。 - Secret Key created on OpenAI欄に、OpenAI側で発行したシークレットキーを入力します。
そしてopenaiと接続ボタンを押します。

なお、2024年10月現在、OpenAI連携で利用するGPTのバージョンはGPT-3.
になります。
OpenAIのフローを作成する
AI Studioの画面に戻って、既存のフローに組み込んでいきます。
左側のNODESメニューからGenerative AIノードをドラッグ・

Generative AIノードのプロパティウィンドウを開いて、以下のように設定します。
- ウィンドウ上部に
「 回答文を生成
」と入力し、ノードに名前をつけます。 - OpenAI Integrationのプルダウンリストから、先ほど作成した
「 VonageHandson
」を選択します。 - User Input Parameterのプルダウンリストから、生成する元になるパラメータである
「 USER.
」REQUIREMENT を選択します。 - Knowledge base欄でOpenAIに与える指示を記載します。今回は以下の文章を入力します。先頭の
$USER.
は手動で設定する必要があります。REQUIREMENT
なお、$USER.
は必須ではないのですが、付与したほうがより丁寧な回答が得られるようです。
$USER.REQUIREMENT
請求書のルールは以下のとおりです。
・請求書は、毎月月末に計算した金額を、翌月5営業日以内に発行しています。
・請求書は指定されたメールアドレス宛に送信しています。
・送信先メールアドレスが変わった場合は、ホームページから変更が可能です。
・請求書が届かない場合は、迷惑メールフォルダに入ってしまっている可能性がありますので確認してください。
・請求書の金額についてのお問い合わせは、折り返し担当者が連絡しますのでしばらくお待ち下さい。
・2023年10月分からの請求書はインボイス制度に対応しています。

さらにConfigurationsを展開して、Waiting timeを、最大の25秒にセットしておきます。ここまで設定したらSave & Exitボタンを押します。

以上で、GenerativeAIノードの設定は終了です。
ノードの接続を以下のように修正します。
- 請求書に関する問い合わせノードと、受付完了ノードを接続している線を削除します。削除は線を選択して、真ん中あたりに表示される✗アイコンをクリックします。
- 請求書に関する問い合わせノードと、回答文を生成ノードを接続します。
- 回答文を生成ノードの、
$USER.
とREQUIREMENT Conversation Ended
の2つを、受付完了ノードに接続します。 - 回答文を生成ノードの、
Fallback
とFailed
の2つを、メール送信(請求書) ノードに接続します。

次に、生成された文章をユーザーに伝えるため、受付完了ノードを修正します。
受付完了ノードのプロパティウィンドウを開いて、発話内容を、$USER.
に変更し、Save & Exitボタンを押して保存します。

最後に、担当者に送るメールも少し手直しをしましょう。
メール送信
今しがた、以下のお問い合わせがありました。
お客様電話番号:$CALLER_PHONE_NUMBER
---
$USER.REQUIREMENT
---
取り急ぎ、以下のように回答を行っておりますので、必要に応じてご対応をお願いいたします。
---
$USER.GENERATED_SENTENCE

総合テスト
以上でフローはすべて完成です。テストを行い、想像どおりの回答が来ることを確認してみましょう。

パブリッシュ
統合テストがうまく動作したら、いよいよ本番環境にデプロイしましょう。
画面右上のPublishボタンを押して、Are you sure you're ready?
ダイアログが出たら、Publish anywayボタンを押します。

Publish Agentウィンドウが開くので、Description欄に説明を書いて、Publishボタンを押します。

パブリッシュが完了した画面が表示されれば、今回のフローは無事に公開されています。パブリッシュを忘れてしまうと、本番環境へ適用されませんので注意が必要です。
後片付け(電話番号の削除)
今回作成したフローは実行しない限り料金は発生しませんが、電話番号については毎月課金の対象となります。課金を防ぐためにはハンズオンが終了した時点で電話番号の削除をしておくとよいでしょう。
以下の手順で電話番号を削除できます。
- Vonage APIコンソールにログインします。
- 左側の番号メニューからあなたの番号を選択します。
- 一覧表示される番号の中から、削除したい番号の右側にあるゴミ箱アイコンをクリックします。
- Deleteボタンを押すと番号が削除されます。

まとめ
今回は、Vonage AI Studioを使って、受付業務のコールフローを作成してみました。AI Studioはドラッグ・
今回紹介した機能は、AI Studioの一部のみとなりますので、ぜひいろいろな機能をためしてみてください。
CPaaSの連載記事はこれで終了となります。今後、皆さんのアイデアを具現化するにあたり、CPaaSが活用されることを心より祈っています。