Dialogflow CX エージェントは、エンドユーザーとの同時会話を処理する仮想エージェントです。これは、人間の言語のニュアンスを理解する自然言語理解モジュールです。Dialogflow は、会話中のエンドユーザーのテキストまたは音声をアプリやサービスが理解できる構造化データに変換します。Dialogflow エージェントは、システムに必要な種類の会話が処理されるように設計および構築されます。
Dialogflow エージェントは、人間のコールセンター エージェントに似ています。 予想される会話のシナリオに対処するためにトレーニングを行ってください。ただし、トレーニングを過度に行う必要はありません。
エージェントを作成する
エージェントを作成する手順は次のとおりです。
コンソール
- Dialogflow CX Console を開きます。
- Google Cloud プロジェクトを作成または選択します。
- [Create Agent(エージェントを作成)] をクリックします。
- 自動生成を選択してデータストア エージェントを作成するか、[独自に構築] を選択して他の種類のエージェントを作成します。
- 基本的なエージェント設定に関するフォームに入力します。
- [保存] をクリックします。
API
プロジェクトのロケーション設定をまだ構成していない場合は、API を使用してエージェントを作成する前に、コンソールでこれらの設定を行う必要があります。現在、API を使用してロケーションの設定を行うことはできません。
エージェントを作成するには、Agent
型の create
メソッドをご覧ください。
エージェント リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | エージェント リソース | エージェント リソース |
RPC | エージェント インターフェース | エージェント インターフェース |
C++ | AgentsClient | 利用できません |
C# | AgentsClient | 利用できません |
Go | AgentsClient | 利用できません |
Java | AgentsClient | AgentsClient |
Node.js | AgentsClient | AgentsClient |
PHP | 利用不可 | 利用できません |
Python | AgentsClient | AgentsClient |
Ruby | 利用不可 | 利用できません |
エージェントのデータ
Dialogflow エージェントは、仮想エージェントの設定とデータの最上位コンテナとして機能します。
エージェントのデータにアクセスする手順は次のとおりです。
コンソール
- Dialogflow CX Console を開きます。
- エージェント用の Google Cloud プロジェクトを選択します。
- リストでエージェントを見つけます。
- エージェントの表示名をクリックします。
- 他のガイドの説明に従ってフローやページなどを更新します。
API
更新するデータのガイドをご覧ください。
次のデータはエージェントに関連付けられています。
さまざまなレベルでデータがどのように適用されるかについては、データ アプリケーション レベルをご覧ください。
エージェントの設定
エージェントの構成にアクセスするには、以下の手順に従います。
コンソール
- Dialogflow CX Console を開きます。
- ご自身の Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- [エージェント設定] をクリックします。
- 必要に応じて設定を更新します。
- [保存] をクリックします。
API
Agent
型の get
メソッドと patch/update
メソッドをご覧ください。
エージェント リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | エージェント リソース | エージェント リソース |
RPC | エージェント インターフェース | エージェント インターフェース |
C++ | AgentsClient | 利用できません |
C# | AgentsClient | 利用できません |
Go | AgentsClient | 利用できません |
Java | AgentsClient | AgentsClient |
Node.js | AgentsClient | AgentsClient |
PHP | 利用不可 | 利用できません |
Python | AgentsClient | AgentsClient |
Ruby | 利用不可 | 利用できません |
以下では、エージェント設定の各カテゴリについて説明します。
全般設定
エージェントでは次の全般設定を使用できます。
-
人間が読み取れる形式のエージェントの名前。
-
エージェントのデフォルトのタイムゾーン。
-
エージェントがサポートするデフォルトの言語。 エージェントの作成後に、デフォルトの言語を変更することはできません。ただし、次のことはできます。
-
エージェントをロックする
エージェントがロックされているかどうかを示します。ロックされたエージェントは編集できません。
-
Cloud Logging を有効にする
エージェントで Cloud Logging が有効になっているかどうかを示します。
インタラクションのロギングを有効にする
品質向上のために秘匿化済みエンドユーザー クエリを収集して保存するかどうかを指定します。
-
BigQuery エクスポートを有効にする
BigQuery Export が有効になっているかどうかを示します。
BigQuery データセット
BigQuery データセット名。
BigQuery テーブル
BigQuery テーブル名。
-
インテントの候補を有効にできます。
-
このセクションでは、カスタム ペイロード テンプレートの説明とペイロードを作成できます。
ML の設定
Dialogflow は、機械学習(ML)アルゴリズムを使用して、エンドユーザー入力を理解し、インテントと照合して、構造化データを抽出します。Dialogflow は、ユーザーが提供するトレーニング フレーズと、Dialogflow に組み込まれた言語モデルから学習します。このデータに基づいて、エンドユーザー入力と照合するインテントを決定するモデルを構築します。エージェントのフローごとに一意の ML 設定を適用できます。Dialogflow によって作成されたモデルは、フローごとに一意です。
次のエージェント全体の ML 設定が使用できます。
-
これを有効にすると、エンドユーザーの入力にスペルミスや文法ミスがあっても、入力が正しく記述されているものとしてインテントと照合されます。インテント検出レスポンスには、修正済みのエンドユーザー入力が含まれます。たとえば、エンドユーザーが「I want an applle」と入力した場合、「I want an apple」と入力したかのように処理されます。これは、システム エンティティとカスタム エンティティの両方を含むマッチングにも当てはまります。
スペル修正は、英語、フランス語、ドイツ語、スペイン語、イタリア語で利用できます。すべての Dialogflow CX リージョンで利用できます。
警告とおすすめの方法:
次のフロー固有の ML 設定が利用できます。
-
次のいずれかになります。
- 高度な NLU(デフォルト): 高度な NLU 技術。この NLU タイプは、特に大規模なエージェントとフローでは標準より優れています。
- 標準 NLU: 標準的な NLU 技術。今後、品質の改善や新機能は提供されなくなります。
-
有効にすると、フローがコンソールで更新されるたびにトレーニングされます。フローが大きい場合、コンソール UI の遅延の原因となることがあります。その場合はこの設定を無効にし、必要に応じて大規模なフロー用に手動でトレーニングする必要があります。
-
結果から偽陽性を除外した後でも、多様な自然言語入力との一致に基づいてエージェントが応答できるように、機械学習の分類しきい値を調整できます。この設定は、インテントの一致に必要なインテント検出の信頼度を制御します。
インテント一致の信頼スコアがしきい値より小さい場合は、no-match イベントが呼び出されます。
-
フローデータの最新更新以降にフローがトレーニングされたかどうかを示します。
-
フローを手動でトレーニングする場合は、このボタンを使用します。
生成 AI の設定
次の生成 AI 設定が利用できます。
全般
生成エージェント
-
生成機能で使用するモデルを選択します。詳細については、モデルのバージョンをご覧ください。
-
生成フォールバック
-
生成フォールバック: 独自のプロンプトを定義するをご覧ください。
-
データストア
データストア エージェントの設定をご覧ください。
音声と IVR の設定
次の音声設定と IVR 設定を使用できます。
-
-
音声合成に使用する言語と音声を選択できます。
音声選択ドロップボックスからカスタム音声オプションを選択し、対応するフィールドにカスタム音声名を指定することで、エージェントのカスタム音声を有効にできます。カスタム音声名は、
projects/PROJECT_ID/locations/LOCATION/models/MODEL_NAME
のパターンに従う必要があります。- テレフォニー ゲートウェイを使用している場合は、Dialogflow サービス エージェントのサービス アカウント
service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com
にカスタム音声プロジェクトにおける「AutoML Predictor」が付与されていることを確認します。 - 通常の API 呼び出しの場合は、Dialogflow の呼び出しに使用するサービス アカウントに、カスタム音声プロジェクトにおける「AutoML Predictor」ロールが付与されていることを確認します。
- テレフォニー ゲートウェイを使用している場合は、Dialogflow サービス エージェントのサービス アカウント
-
-
-
自動音声適応をご覧ください。
-
このセクションでは、音声機能に関する追加の詳細設定について説明します。この詳細設定は、オンオフを切り替えできます。
これらの設定はエージェント設定で行います(エージェント全体に適用されます)。 フローの設定(フロー全体に適用され、エージェント設定をオーバーライドします)。 ページの設定(ページに適用され、フローとエージェントの設定をオーバーライドします)。 フルフィルメントの設定(フルフィルメントに適用され、ページ、フロー、エージェントの設定をオーバーライドします)。これらの設定のサブセットは、各レベルでの設定の関連性に応じて、各レベルで使用できます。
[カスタマイズ] オプションが下位レベルで選択されている場合、更新されたエージェント レベルの設定は、フローレベル、ページレベル、フルフィルメント レベルに反映されません。[カスタマイズ] オプションが複数の設定を網羅していて、一部の設定だけを更新したい場合、他の設定をエージェント レベル設定と同じにする場合にそれらの設定を更新する必要もあります。
-
音声認識に使用する音声モデルを設定します。この設定は言語固有であるため、言語ごとに異なるモデルを選択できます。[リクエスト レベルの音声モデルをオーバーライドする] をオンにして、ランタイム API 呼び出しで別のモデルが指定されている場合でも、選択したモデルが使用されるように設定することもできます。
Dialogflow CX Phone Gateway については、制限事項をご覧ください。
詳細については、音声モデルをご覧ください。
-
エンドユーザーの音声入力で音声の終わりを認識する感度を制御します。値の範囲は、0(低い感度で、音声を終了する可能性が低い)から 100(高い感度で、音声を終了する可能性が高い)です。
-
この設定が有効になっている場合、[音声終了の感度] の設定値は、相対的な音声無音タイムアウトを確立して音声の終了を判断するためのゲージとして使用されます。
この設定が無効になっている場合(デフォルト)、[音声終了の感度] の設定値を使用して、Google Cloud Speech-to-Text 提供の ML モデルによって音声の終了が判別されます。
一方、[音声終了の感度] 設定のデフォルトで
en-US
言語タグのみがサポートされる場合、[高度なタイムアウト ベースの音声終了感度を有効にする] 設定により、Dialogflow でサポートされているすべての言語と音声モデルに対して音声終了の感度を構成できます。 -
この設定が有効になっている場合、Dialogflow はユーザー入力の一部を分析して音声の終了を判断します。たとえば、ユーザーが「I would like to」と言って一時停止すると、Dialogflow はユーザーがその文を続行するのを待ちます。
これは、数値パラメータを収集する場合に特に便利で、ユーザーは「1234」と言って一時停止してから「5678」と言う場合があります。特定のパラメータにこの設定を適用するには、パラメータのフォームでスマート エンドポイントを設定する必要があります。
これは
en-US
言語タグでのみ使用できます。この設定はデフォルトで無効になっています。
-
Dialogflow がエンドユーザーの音声入力の待機を停止する時間(秒)。デフォルトは 5 秒で、最大値は 60 秒です。このタイムアウトに対して、Dialogflow は no-input イベントを呼び出します。
-
有効にすると、エンドユーザーは Dialogflow レスポンス音声を中断できます。中断されると、Dialogflow は音声の送信を停止し、次のエンドユーザー入力を処理します。
メッセージ キューに複数のメッセージがあり、割り込みが有効なページ、フロー、エージェントに関連付けられたフルフィルメントによりメッセージがキューに登録された場合、キュー内の後続のメッセージすべてに割り込みが有効になります。この場合、統合により割り込みが有効になっているキュー内のすべてのメッセージが再生されなくなります。
-
部分レスポンスが有効になっている場合、この設定により部分レスポンスの再生をキャンセルが可能になります。キャンセルを許可するフルフィルメントによってメッセージ キュー内のメッセージが作成された場合、別のメッセージがキューに追加されると、メッセージの再生がキャンセルされます。これは、最初のメッセージの再生を開始したいが、最初のメッセージの再生が完了する前に動作中の Webhook が別のメッセージを生成した場合、その再生をキャンセルするときに役立ちます。
-
指定した場合、リクエストに関連付けられた音声データが Cloud Storage バケットに保存されます。
保存された音声 該当するリクエスト エンドユーザーの音声入力 DetectIntent, StreamingDetectIntent, AnalyzeContent, StreamingAnalyzeContent レスポンス用に合成されたテキスト読み上げ(TTS)音声 AnalyzeContent, StreamingAnalyzeContent Storage オブジェクト作成者ロールを、プロジェクト内の次のサービス アカウントに付与してください。
形式が「
one-click@df-cx-ALPHANUMERIC_VALUE-ALPHANUMERIC_VALUE.iam.gserviceaccount.com
」のサービス アカウント(パートナー組み込みのテレフォニー統合を使用する場合)。Dialogflow CX Phone Gateway の統合を使用する場合、
service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com
形式のサービス アカウント。IAM でこのサービス アカウントを見つけるには、[Google 提供のロール付与を含める] オプションをオンにします。
DTMF: テレフォニー統合用の DTMF をご覧ください。
-
-
マルチモーダル
コンパニオンの呼び出しをご覧ください。
共有設定
アクセス制御をご覧ください。
言語設定
エージェントに追加の言語サポートを追加します。全言語の一覧については、言語リファレンスをご覧ください。
言語の自動検出
言語の自動検出を構成すると、チャット エージェントはエンドユーザーの言語を自動的に検出し、その言語に切り替えます。詳しくは、言語の自動検出に関するドキュメントをご覧ください。
セキュリティ設定
セキュリティ設定をご覧ください。
詳細設定
現在、詳細設定は感情分析でのみ利用できます。
エージェントのエクスポートと復元
エージェントをファイルにエクスポートすることや、そのファイルを使用してエージェントを復元することができます。
エージェント エクスポートには、以下を除くすべてのエージェント データが含まれます。
エージェントを復元すると、以下を除くすべてのターゲット エージェント データが上書きされます(すべてのフロー バージョンを含む)。
- 環境: ターゲット エージェントでは、すべてのカスタム環境が変更されずに残ります。ターゲット エージェント内のカスタム環境が参照するフロー バージョンは、関連する環境が存在する限り存続します。ただし、これらの古いフロー バージョンは、エージェントに関して表示されず、選択可能なフロー バージョンではありません。
- Vertex AI エージェント アプリ: Vertex AI エージェント アプリへの関連付けは、ターゲット エージェントで変更されません。(つまり、GenAppBuilderSettings の
engine
の値)これは、データストア エージェントを他の既存のデータストア エージェントにのみ復元できることを意味します。結果として得られるエージェントが、Vertex AI Agents アプリに関連付けられている必要があるためです。 Vertex AI Agents データストア: 次のルールに従って、データストアへのすべての参照がターゲット エージェントで上書きされます。
- ターゲット エージェントがアプリに関連付けられていない場合は、データストアを参照しているエージェントを復元できません。これを行おうとすると、エラー メッセージが表示されます。この問題を修正するには、ゼロから新しいデータストア エージェントを作成します。(または、データストアの状態ハンドラを追加することで、既存のエージェントをデータストア エージェントに変えることができます。この場合は、関連付けられているアプリをエージェントに追加する手順が表示されます)。
- ターゲット エージェントがアプリに関連付けられている場合、すべてのデータストア参照は復元時に更新されます。Google Cloud プロジェクト ID と場所は、ターゲット エージェントのアプリと一致するように更新されます。コレクション ID とデータストア ID は変更されません。つまり、復元オペレーションの前に、一致するタイプのすべての ID のデータストアをターゲット エージェントのアプリに追加する必要があります。
例: ソース エージェントが
projects/123/locations/eu-west2/collections/default_collection/dataStores/myDataStore1
というデータストアを参照し、ターゲット エージェントのアプリの名前がprojects/321/locations/us-east1/collections/default_collections/engines/app123
の場合、ターゲット エージェントの結果のデータストア参照はprojects/321/locations/us-east1/collections/default_collection/dataStores/myDataStore1
になります。
エクスポートするときは、エクスポートのファイル形式を選択できます。エージェント データに対してソース管理バージョニングを使用している場合は、JSON 形式でエクスポートする必要があります。エージェントを復元すると、Dialogflow によってファイル形式が自動的に決定されます。
エージェントをエクスポートまたは復元するには、以下の手順に従います。
コンソール
- Dialogflow CX Console を開きます。
- エージェント用の Google Cloud プロジェクトを選択します。
- リスト内のエージェントのオプション メニュー more_vert をクリックします。
- [エクスポート] または [復元] ボタンをクリックします。
- 手順に沿って操作して完了します。
API
Agent
型の export
メソッドと restore
メソッドをご覧ください。
エージェント リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | エージェント リソース | エージェント リソース |
RPC | エージェント インターフェース | エージェント インターフェース |
C++ | AgentsClient | 利用できません |
C# | AgentsClient | 利用できません |
Go | AgentsClient | 利用できません |
Java | AgentsClient | AgentsClient |
Node.js | AgentsClient | AgentsClient |
PHP | 利用不可 | 利用できません |
Python | AgentsClient | AgentsClient |
Ruby | 利用不可 | 利用できません |
エージェントのサイズが上限を超える場合は、エージェントのエクスポートと復元用に Cloud Storage オプションを使用します。
GitHub を使用している場合は、GitHub エクスポート / 復元ガイドもご覧ください。
エージェントを削除する
エージェントを削除するには、完全アクセス権か、編集権限を持つロールが必要です。詳しくは、アクセス制御ガイドをご覧ください。
エージェントを削除するには:
コンソール
- Dialogflow CX Console を開きます。
- エージェント用の Google Cloud プロジェクトを選択します。
- リスト内のエージェントのオプション メニュー more_vert をクリックします。
- [delete削除] ボタンをクリックします。
- ダイアログで削除を確定します。
API
Agent
型の delete
メソッドをご覧ください。
エージェント リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | エージェント リソース | エージェント リソース |
RPC | エージェント インターフェース | エージェント インターフェース |
C++ | AgentsClient | 利用できません |
C# | AgentsClient | 利用できません |
Go | AgentsClient | 利用できません |
Java | AgentsClient | AgentsClient |
Node.js | AgentsClient | AgentsClient |
PHP | 利用不可 | 利用できません |
Python | AgentsClient | AgentsClient |
Ruby | 利用不可 | 利用できません |
プロジェクトを削除する場合、プロジェクトに関連するすべての Dialogflow CX エージェントとデータが直ちに削除されます。