フロー

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

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

マルチフロー図の例

デフォルトの開始フロー

デフォルトの開始フローは、エージェントを初期化すると自動的に作成されます。これは、シンプルなエージェントの唯一のフローとして、または複数のフローを組み込んだより複雑なエージェントの最初のエントリ ポイントとして機能します。

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

00000000-0000-0000-0000-000000000000

フローのスタートページ

すべてのフローには、フローが選択されたときにコンソール グラフのノードとして表される Start ページが含まれています。このページは、フローの有効化時にアクティブなページになります。

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

API リクエストでスタートページを参照する

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

設計時に 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 コンソールを開きます。
  2. プロジェクトを選択します。
  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 コンソールを開きます。
  2. プロジェクトを選択します。
  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 CX が自動的に認識して応答するエンドユーザーの言語を指定できます。詳細については、多言語エージェントをご覧ください。
  • フローロック: 子リソースへの次の変更を含め、ロックされたフローは編集できません。

    1. ページは、作成、編集、削除できません。
    2. バージョンは、作成、編集、削除できません。
    3. フローレベルのルートグループは、作成、編集、削除できません。
    4. ロックされたフローまたはロックされたフローのページで参照されているエージェント レベルのルートグループは削除できませんが、編集は可能です。
  • 音声の詳細設定: これらの音声の詳細設定では、必要に応じて同じエージェントの音声設定をオーバーライドできます。

  • 音声適応の設定: フローレベルの音声適応の設定。詳細については、手動音声適応をご覧ください。

  • 入力パラメータ: フローで使用できるタスク ハンドブックのパラメータ。

  • 戻りパラメータ: フローがタスク プレイブックに返すパラメータ。

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

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

コンソール

  1. Dialogflow CX コンソールを開きます。
  2. プロジェクトを選択します。
  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 コンソールを開きます。
  2. プロジェクトを選択します。
  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 コンソールを開きます。
  2. プロジェクトを選択します。
  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 などのツールにインポートできます。以下の手順に沿って操作する際は、[XML] データ形式を選択してください。

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

  • 参照フローを含める: ターゲット フローと、再帰的に参照されるすべてのフローをエクスポートします。最大深度は設定されていません。エクスポートされたすべてのフローとその遷移は、インポート時に保持されます。

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

コンソール

  1. Dialogflow CX コンソールを開きます。
  2. プロジェクトを選択します。
  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 CX は概要を表示し、競合を解決するための 3 つのオプションを提示します。

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

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

コンソール

  1. Dialogflow CX コンソールを開きます。
  2. プロジェクトを選択します。
  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 利用不可 利用できません