多くの場合、複雑なダイアログでは複数の会話トピックが関与します。たとえば、ピザの配達エージェントの場合、料理の注文、顧客情報、確認という別個のトピックが考えられます。各トピックでは、エージェントがエンドユーザーから関連する情報を取得するため、複数の会話ターンを実行する必要があります。
フローは、これらのトピックと、関連する会話パスを定義するために使用されます。すべてのエージェントには、デフォルトの開始フローと呼ばれるフローが 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 | 利用不可 | 利用できません |
フローを作成する
フローを作成するには:
コンソール
- Dialogflow CX コンソールを開きます。
- プロジェクトを選択します。
- リストでエージェントを見つけます。
- [Flows] セクションの追加 add ボタンをクリックします。
- [Create flow] を選択します。
- フローの表示名を入力します。
- 作成したフローをクリックします。
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 | 利用不可 | 利用できません |
フローデータ
フローのデータにアクセスするには:
コンソール
- Dialogflow CX コンソールを開きます。
- プロジェクトを選択します。
- リストでエージェントを見つけます。
- エージェントの表示名をクリックします。
- [Flows] セクションでフローをクリックします。
- フローのページが [Pages] セクションに入力されます。ページを編集する方法については、ページガイドをご覧ください。
- グラフ上のフローをクリックします。
- フロー編集パネルが表示されます。このパネルから、追加のフローデータを閲覧、編集できます。
- [保存] をクリックして変更を保存します。
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 | 利用不可 | 利用できません |
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 が自動的に認識して応答するエンドユーザーの言語を指定できます。詳細については、多言語エージェントをご覧ください。
フローロック: 子リソースへの次の変更を含め、ロックされたフローは編集できません。
- ページは、作成、編集、削除できません。
- バージョンは、作成、編集、削除できません。
- フローレベルのルートグループは、作成、編集、削除できません。
- ロックされたフローまたはロックされたフローのページで参照されているエージェント レベルのルートグループは削除できませんが、編集は可能です。
音声の詳細設定: これらの音声の詳細設定では、必要に応じて同じエージェントの音声設定をオーバーライドできます。
音声適応の設定: フローレベルの音声適応の設定。詳細については、手動音声適応をご覧ください。
入力パラメータ: フローで使用できるタスク ハンドブックのパラメータ。
戻りパラメータ: フローがタスク プレイブックに返すパラメータ。
さまざまなレベルでデータがどのように適用されるかについては、データ アプリケーション レベルをご覧ください。
フローの設定にアクセスするには:
コンソール
- Dialogflow CX コンソールを開きます。
- プロジェクトを選択します。
- リストでエージェントを見つけます。
- [Flows] セクションのフローにポインタを合わせます。
- [オプション more_vert] ボタンをクリックします。
- [Flow settings] を選択します。
- 設定をブラウジングまたは編集します。
- [保存] をクリックして変更を保存します。
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 | 利用不可 | 利用できません |
フローの削除
フローを削除するには:
コンソール
- Dialogflow CX コンソールを開きます。
- プロジェクトを選択します。
- リストでエージェントを見つけます。
- [Flows] セクションのフローにポインタを合わせます。
- 設定 more_vert ボタンをクリックします。
- [削除] を選択します。
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 | 利用不可 | 利用できません |
フローのトレーニング
フローをトレーニングする手順は、次のとおりです。
コンソール
- Dialogflow CX コンソールを開きます。
- プロジェクトを選択します。
- リストでエージェントを見つけます。
- [エージェント設定] をクリックします。
- [ML] タブを開きます。
- 単一のフローをトレーニングするには、対応する行の [トレーニング] をクリックします。
- 複数のフローをトレーニングするには、チェックボックスをオンにしてそれらのフローを選択し、[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 形式の視覚的な図としてエクスポートします。この形式は、Lucidchart や diagrams.net などのツールにインポートできます。以下の手順に沿って操作する際は、[XML] データ形式を選択してください。
次のオプションを使用してフローをエクスポートできます。
- 参照フローを含める: ターゲット フローと、再帰的に参照されるすべてのフローをエクスポートします。最大深度は設定されていません。エクスポートされたすべてのフローとその遷移は、インポート時に保持されます。
フローをエクスポートするには:
コンソール
- Dialogflow CX コンソールを開きます。
- プロジェクトを選択します。
- リストでエージェントを見つけます。
- [Flows] セクションのフローにポインタを合わせます。
- [オプション more_vert] ボタンをクリックします。
- [Export flow] を選択します。
- 手順に沿って操作して完了します。
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 つのオプションを提示します。
- 既存のリソースを置き換える: ソース エージェントのリソースがターゲット エージェントのリソースを上書きします。
- 新しいリソースとしてインポート: ソース エージェント リソースの名前に、明確な接尾辞が追加されます。
- 元のリソースを保持する: ターゲット エージェントのリソースは変更されません。
フローをインポートするには:
コンソール
- Dialogflow CX コンソールを開きます。
- プロジェクトを選択します。
- リストでエージェントを見つけます。
- [Flows] セクションの追加 add ボタンをクリックします。
- [Import flow] を選択します。
- 手順に沿って操作して完了します。
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 | 利用不可 | 利用できません |