ページ

Dialogflow CX の会話(セッション)は、ステートマシンとして記述し、可視化できます。CX セッションの状態はページで表されます。

フローごとに多数のページを定義します。結合されたページでは、フローが設計されたトピックに関する完全な会話を処理できます。どの時点でも、正確に 1 つのページが現在のページであり、現在のページがアクティブとみなされ、そのページに関連付けられたフローがアクティブであるとみなされます。すべてのフローには特別なスタートページがあります。フローが最初にアクティブになると、スタートページが現在のページになります。会話の各ターンでは、現在のページがそのまま表示されるか、別のページに遷移します。

各ページを、そのページが表す会話の状態に関連するエンドユーザーから情報を収集するように構成します。たとえば、次の図にピザ宅配業者の Food Order フローのページ(青で表示)作成します。図の Start ノードは Food Order フローの開始ページを表します。フローが完了すると、Confirmation フローに移行します。

マルチフロー図の例

ページのライフサイクル

ページがアクティブになると、エージェントはいくつかの手順を遂行します。これには、エントリのフルフィルメント、フォームへの事前入力、状態ハンドラの評価、フォーム パラメータのプロンプト、エンドユーザーへのレスポンス メッセージの送信、ページの変更またはループの繰り返しなどが含まれます。

ページのライフサイクルの図

このプロセスの詳細は次のとおりです。

  1. ページにエントリのフルフィルメントが存在する場合は、そのフルフィルメントが呼び出されます。フルフィルメントによって提供される静的レスポンスはすべて、レスポンス キューに追加されます。

    部分レスポンスが有効になっている場合、Dialogflow によってレスポンス キューがフラッシュされ、キュー内のすべてのメッセージが部分レスポンスとしてストリーミング API 呼び出し元に送信されます。

    フルフィルメントに Webhook がある場合、Webhook が呼び出され、それによりキューに追加レスポンスが加えられます。これらの追加レスポンスで、レスポンス キューの即時フラッシュはトリガーされません。

  2. ページにフォーム パラメータがある場合は次のように事前入力されます。

  3. いずれかの状態ハンドラがスコープ内にある場合は、ハンドラの評価順序ルールに従って評価されます。 評価には、前のループのイテレーションで呼び出されたルート、イベント ハンドラ、または転送ハンドラが含まれます。状態ハンドラのいずれかが呼び出された場合は、次の一方または両方が発生する可能性があります。

    • 状態ハンドラに対してフルフィルメントが存在する場合、そのフルフィルメントは呼び出されます。フルフィルメントによって提供される静的レスポンスはすべて、レスポンス キューに追加されます。部分レスポンスと Webhook も、有効になっている場合は、実行されます。
    • ハンドラのターゲット フローまたはページが存在する場合、セッションはターゲットに遷移され、ページは無効になります。
  4. 次のすべてが該当する場合は、フォーム パラメータのプロンプトがレスポンス キューに追加されます。

    • ページにはフォームがあります。
    • 値の入力が必要なフォーム パラメータが他にもあります。
    • 手順 3 で担当者ハンドラが履行されなかった。
    • 部分レスポンスと Webhook も、有効になっている場合、実行されます。
  5. 残りのレスポンス キューのメッセージがエンドユーザーに送信され、エージェントはエンドユーザーの入力を待ちます。

  6. エンドユーザーの入力でフォーム パラメータへのプロンプトが表示された場合、パラメータを入力します。手順 3 に進みます。

ページを作成する

ページを作成するには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. GCP プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Flows] セクションでページのフローを選択します。
  5. [Pages] セクションで追加ボタンをクリックします。
  6. ページの表示名を入力します。
  7. ページ表示名の横にある設定ボタンをクリックします。
  8. [Edit] を選択します。
  9. 表示されたページ編集パネルのフィールドに入力します。
  10. [保存] をクリックします。

API

Page 型の create メソッドをご覧ください。

ページ リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST ページリソース ページリソース
RPC ページ インターフェース ページ インターフェース
C# 提供なし 利用できません
Go 提供なし 利用できません
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP 提供なし 利用できません
Python PagesClient PagesClient
Ruby 提供なし 利用できません

ページデータ

ページのデータにアクセスするには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. エージェントの GCP プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Flows] セクションでフローをクリックします。
  5. フローのページが [Pages] セクションに入力されます。
  6. ページ表示名の横にある設定ボタンをクリックします。
  7. [Edit] を選択します。
  8. 表示されたページ編集パネルのフィールドに入力します。
  9. [保存] をクリックして変更を保存します。

API

Page 型の get メソッドと patch/update メソッドをご覧ください。

ページ リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST ページリソース ページリソース
RPC ページ インターフェース ページ インターフェース
C# 提供なし 利用できません
Go 提供なし 利用できません
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP 提供なし 利用できません
Python PagesClient PagesClient
Ruby 提供なし 利用できません

ページには、次のデータが関連付けられています。

  • 表示名: 人が読める形式のページ名。
  • エントリ フルフィルメント(通称エントリ ダイアログ): これは、ページが最初にアクティブになったときに呼び出されるフルフィルメントです。
  • パラメータ: エンドユーザーから構造化された入力を取得するページフォーム内のパラメータ値です。
  • ルート: ページが有効になったときに、これらの状態ハンドラが呼び出される場合があります。詳細については、ページレベルのハンドラのルートをご覧ください。
  • ルートグループ: ページが有効なときに、これらのグループ内のルートが呼び出される場合があります。詳細については、ルートグループをご覧ください。
  • イベント ハンドラ: ページが有効なときに、これらのイベント ハンドラが呼び出される場合があります。詳細については、ページレベルのイベント ハンドラをご覧ください。

ページ設定

ページには以下の設定を使用できます。

ページ設定にアクセスするには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. GCP プロジェクトを選択します。
  3. エージェントを選択します。
  4. [ページ] セクションでページにカーソルを合わせます。
  5. [オプション ] ボタンをクリックします。
  6. [ページ設定] を選択します。
  7. 設定をブラウジングまたは編集します。
  8. [保存] をクリックして変更を保存します。

API

Page 型の get メソッドと patch/update メソッドをご覧ください。

ページ リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST ページリソース ページリソース
RPC ページ インターフェース ページ インターフェース
C# 提供なし 利用できません
Go 提供なし 利用できません
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP 提供なし 利用できません
Python PagesClient PagesClient
Ruby 提供なし 利用できません

ページの削除

ページを削除するには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. GCP プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Flows] セクションでページのフローを選択します。
  5. [Pages] セクションで、ページ表示名の横にある設定ボタン をクリックします。
  6. [削除] を選択します。

API

Page 型の delete メソッドをご覧ください。

ページ リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST ページリソース ページリソース
RPC ページ インターフェース ページ インターフェース
C# 提供なし 利用できません
Go 提供なし 利用できません
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP 提供なし 利用できません
Python PagesClient PagesClient
Ruby 提供なし 利用できません