フロー

多くの場合、複雑なダイアログでは複数の会話トピックが関与します。たとえば、ピザの配達エージェントの場合、料理の注文、顧客情報、確認という別個のトピックが考えられます。各トピックでは、エージェントがエンドユーザーから関連する情報を取得するため、複数の会話ターンを実行する必要があります。

フローは、これらのトピックと、関連する会話パスを定義するために使用されます。すべてのエージェントには、デフォルトの開始フローと呼ばれるフローが 1 つあります。単純なエージェントであれば、このフローのみで十分でしょう。より複雑なエージェントでは追加のフローが必要になる場合があります。さまざまな開発チームのメンバーに、これらのフローの構築と保守を担当させることができます。たとえば、ピザの配達エージェントのフローは次のようになります。

マルチフロー図の例

Dialogflow CX のフローは、Dialogflow ES メガ エージェントのサブエージェントと同様の目的で機能します。フローを使用すると会話をより適切に制御できます。追加のコストは発生しません。

デフォルトの開始フロー

エージェントを作成すると、デフォルトの開始フローが自動的に作成されます。単純なエージェントの場合は、このフローを唯一のフローとして使用できます。より複雑なエージェントの場合は、フローをさらに追加して、デフォルトの開始フローを会話へのシンプルなエントリ ポイントとして利用できます。

API を使用する場合、次のフロー ID を使用してデフォルトの開始フローを参照できます。

00000000-0000-0000-0000-000000000000

フローのスタートページ

各フローには、コンソールに Start という名前の特別なページがあります。コンソールでフローを選択すると、スタートページがグラフ上のノードとして表示されます。フローが最初にアクティブになると、このページが現在のアクティブなページになります。

スタートページには、通常のページのようなパラメータやレスポンス メッセージがありません。ただし、次のいずれかの方法でメッセージを送信できます。

API リクエストのリファレンス スタートページ

ランタイム API リクエストでフローのスタートページを参照するには、START_PAGE をページ ID として使用します。

設計時に API を使用してスタートページを変更するには、Flow 型の get API メソッドと patch/update API メソッドを使用します。

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

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

フローを作成する

フローを作成するには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Flows] セクションの追加 ボタンをクリックします。
  5. [Create flow] を選択します。
  6. フローの表示名を入力します。
  7. 作成したフローをクリックします。

API

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

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

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

フローデータ

フローのデータにアクセスするには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. エージェント用の Google Cloud プロジェクトを選択します。
  3. リストでエージェントを見つけます。
  4. エージェントの表示名をクリックします。
  5. [Flows] セクションでフローをクリックします。
  6. フローのページが [Pages] セクションに入力されます。ページの編集については、ページガイドをご覧ください。
  7. グラフ上のフローをクリックします。
  8. フロー編集パネルが表示されます。このパネルから、追加のフローデータを閲覧、編集できます。
  9. [保存] をクリックして変更を保存します。

API

フローについては、Flow タイプの getpatch/update をご覧ください。

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

プロトコル V3 V3beta1
REST フローリソース フローリソース
RPC フロー インターフェース フロー インターフェース
C++ FlowsClient 利用できません
C# FlowsClient 利用できません
Go FlowsClient 利用できません
Java FlowsClient FlowsClient
Node.js FlowsClient FlowsClient
PHP 提供なし 利用できません
Python FlowsClient FlowsClient
Ruby 提供なし 利用できません
ページについては、Page タイプの get メソッドと patch/update メソッドをご覧ください。

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

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

次のデータはフローに関連付けられています。

さまざまなレベルでデータがどのように適用されるかについては、データ アプリケーション レベルをご覧ください。

フローの設定

フローには次の設定を使用できます。

  • 表示名: 人が読める形式のフローの名前。
  • 説明: フローの説明。
  • ML 設定 フローの ML 設定は、エージェントの ML 設定にも記載され、説明されています。
  • 言語の自動検出 言語の自動検出では、Dialogflow が自動的に認識して応答するエンドユーザー言語を指定できます。詳しくは、言語の自動検出のドキュメントをご覧ください。
  • 音声の詳細設定: これらの音声設定では、必要に応じて同じエージェントの音声設定をオーバーライドできます。
  • 音声適応の設定: 手動音声適応のより詳細な手順を含むフローレベルの音声適応設定。

さまざまなレベルでデータがどのように適用されるかについては、データ アプリケーション レベルをご覧ください。

フローの設定にアクセスするには:

コンソール

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

API

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

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

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

フローの削除

フローを削除するには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Flows] セクションのフローにカーソルを合わせます。
  5. 設定 ボタンをクリックします。
  6. [削除] を選択します。

API

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

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

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

フローのトレーニング

フローをトレーニングする手順は、次のとおりです。

コンソール

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [エージェント設定] をクリックします。
  5. [ML] タブを開きます。
  6. 単一のフローをトレーニングするには、対応する行の [トレーニング] をクリックします。
  7. 複数のフローをトレーニングするには、チェックボックスをオンにしてそれらのフローを選択し、[Train selected flow NLU model] をクリックします。

API

Flow 型の train メソッドをご覧ください。

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

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

フローをエクスポートする

フローは、次の 2 つの方法でエクスポートできます。

  • データ エクスポート: フローを元データとしてエクスポートするため、任意のエージェントにインポートできます。フローをエクスポートすると、フローによって参照されるリソース(インテント、エンティティ、Webhook)もエクスポートされます。以下の手順に沿って、元データのデータ形式を選択してください。

  • 図のエクスポートプレビュー): フローを視覚化した図としてエクスポートします。エクスポート形式は draw.io XML であるため、図は Lucidchartdiagrams.net など、draw.io 形式をインポートできる図ツールでインポートできます。以下の手順に沿って、XML データ形式を選択してください。

次のオプションを使用してフローをエクスポートできます。

  • 参照フローを含める: ターゲット フローおよびすべてのレベルの参照フローをエクスポートします。参照フローには、後続の参照フローによって参照されるフローに加えて、ターゲット フローが参照するフローが含まれます。最大深度は設定されていません。インポート時に、エクスポートされたすべてのフローがインポートされ、これらのフロー間の遷移は保持されます。

フローをエクスポートするには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Flows] セクションのフローにカーソルを合わせます。
  5. [オプション ] ボタンをクリックします。
  6. [Export flow] を選択します。
  7. 手順に沿って操作して完了します。

API

Flow 型の export メソッドをご覧ください。

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

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

フローをインポートする

ソース エージェントからターゲット エージェントにフローをインポートすると、フロー固有のデータとともに、フローによって参照されるグローバル リソース(インテント、エンティティ、Webhook)がインポートされます。ターゲット エージェントのグローバル リソースの中に、ソース エージェントと同じ表示名を持つものがある場合、Dialogflow はこれらのリソースの概要を示し、これらのリソースの競合を解決するための 3 つのオプションを次のように提示します。

  • 既存のリソースを置き換える: ソース エージェントのリソースがターゲット エージェントのリソースを上書きします。
  • 新しいリソースとしてインポート: ソース エージェント リソースの名前に、明確な接尾辞が追加されます。
  • 元のリソースを保持する: ターゲット エージェントのリソースは変更されません。

フローをインポートするには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Flows] セクションの追加 ボタンをクリックします。
  5. [Import flow] を選択します。
  6. 手順に沿って操作して完了します。

API

Flow 型の import メソッドをご覧ください。

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

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