生成 AI App Builder は、Dialogflow CX 上に構築されたエージェントを提供します。この機能を使用すると、ウェブサイトのリンクまたはドキュメント(データストア)を指定して、Google がコンテンツを解析し、大規模言語モデルを搭載した仮想エージェントを作成します。これは、データストア ハンドラと呼ばれる特別な状態ハンドラで実現されます。 これらのデータストア ハンドラを使用して、エージェントはエンドユーザーとコンテンツに関する会話を行うことができます。
ドメイン名を指定することも、任意の数のドキュメントをアップロードすることもできます。Google はそれらのドキュメントをインデックスに登録します。 この情報は、エージェントがリアルタイムでアクセスできるようになります。これにより、Dialogflow の自然な会話機能を使用して、一般公開データや限定公開のデータに対して実行される Google 検索アルゴリズムのパワーと精度が統合されます。
このタイプのエージェントと新しいエージェントの作成方法については、生成 AI エージェントの概要をご覧ください。
このドキュメントの残りの部分では、データストア ハンドラを既存の Dialogflow CX エージェントに追加する方法について説明します。
ハイブリッド エージェントについて
既存の Dialogflow CX エージェントがある場合は、このエージェントをハイブリッド エージェントにアップグレードできます。これは、正確な会話制御(フロー、パラメータ、インテント、条件、移行など)の機能をデータストア ハンドラの生成機能と組み合わせたものです。
このアップグレードの一環として、エージェントからの特定の会話シナリオでインテント ルートを削除または一時的に無効にできます(データストア ハンドラのテスト中に)。これは、データストア ハンドが、これらのシナリオをよりシンプルに処理できるためです。
データストア ハンドラには、次のようなシナリオが推奨されます。
- 組織のドキュメントまたはウェブサイトで回答できる質問。
- データベース検索を必要としないよくある質問。
次のシナリオは、データストア ハンドラでは推奨されません。
- 対象の質問に対する回答がないコンテンツ。
- データベース検索またはサーバー リクエストを必要とする質問。
- データの除去が必要なシナリオ。
- 確定的なエージェント レスポンスが必要なシナリオ。
入力の評価順序
Dialogflow は、ハイブリッド エージェントについて、次の順序でエンドユーザー入力を評価します。
- フォーム入力時のパラメータ入力。
- インテントがスコープ内のルートを照合する。
- よくある質問のデータストアのコンテンツを含むデータストア ハンドラ。
- 非構造化データストア コンテンツを含むデータストア ハンドラ。
既存のエージェントのデータストア ハンドラを追加または編集する
データストア ハンドラは、Dialogflow の特別なタイプの状態ハンドラです。 つまり、フローやページに適用でき、同じスコープルールを使用して評価されます。
データストア ハンドラを追加または編集するには:
- Dialogflow CX コンソールに移動
- Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- データストア ハンドラに関連付けられたフローを選択します。 通常これは、デフォルトの開始フローです。
- データストア ハンドラに関連付けられているページを選択します。 通常これは、スタートページです。
- ページデータの [状態ハンドラを追加] をクリックして、[データストア] を選択します。
- データストアを作成する必要がある場合は、Generative AI App Builder ユーザー インターフェースに移動します。 選択方法については、データストア情報をご覧ください。
- すでにデータストアがある場合は、[データストアを編集] をクリックします。
- 必要に応じて更新を行い、完了したら保存します。 データストア固有の設定については、以下をご覧ください。
エージェント レスポンス
[エージェント レスポンス] セクションで、生成する回答を参照するカスタム レスポンスを指定できます。
[エージェント セイ] セクションで $request.knowledge.questions[0]
を使用して、生成する回答を提供します。
データストアのレスポンス オプション
[リンクの最大数] フィールドを更新して、生成する回答によって提供される補足リンクの最大数を指定できます。
会話のダイジェストを処理する
エンドユーザーは、会話中に明確な質問をする場合があります。たとえば、クレジット カード情報の収集中に、CVV が何かを明確にする必要があります。この場合、エージェントは質問に回答し、必要なクレジット カード情報の収集に戻る必要があります。これを行うには、質問に答えるデータストアを使用してデータストア ハンドラを作成し、そのハンドラをクレジット カード情報の収集を処理するフローのフロースタートページに適用して、このハンドラが「現在のページ」に戻るためのトランジション ターゲットを設定します。
望ましくないインテントの一致を処理する
エージェントがデータストア ハンドラを使うべきなのにインテントと一致している場合、これを修正するために以下を試すことができます。
- あいまいなトレーニング フレーズを削除または変更します。これにより、すべてのトレーニング フレーズが目的のインテントを正確に処理し、データストアのコンテンツと競合しなくなります。
- ネガティブ サンプルを使用してインテント不一致を回避します。
データストアのフィルタリング
セッション パラメータ値によっては、クエリで使用可能な特定のデータストアのみが必要になる場合があります。たとえば、商品カテゴリごとに一意のデータストアがあるとします。商品カテゴリでデータストアのフィルタリングを行うには:
- セッション パラメータを商品カテゴリに設定します。
- セッション パラメータの値を確認し、目的のデータストア ハンドラを持つ特定のページに移行する条件ルートを作成します。
- データストア ハンドラが呼び出しページに戻り、会話を続行できます。
Codelab
生成 AI エージェントと生成ツールの Codelab もご覧ください。