バージョンと環境

エージェント フローの複数のバージョンを作成し、それらを別々のサービス環境にデプロイできます。

フローを編集する場合は、下書きフローを編集することになります。下書きフローは、いつでもフロー バージョンとして保存できます。フロー バージョンは、フローデータと、インテント、エンティティ、webhook、ページ、ルートグループなどの関連付けられたエージェント データの不変のスナップショットです。

下書きフローを保存すると、デフォルト環境にデプロイされます。特定のフロー バージョンを作成する場合、カスタム環境にデプロイできます。以下の目的で、幅広いカスタム環境を作成できます。

  • テスト
  • 開発
  • 本番環境
  • 指します

さらに、環境特有の Webhook を作成して、本番環境を開発環境とテスト環境から分離できます。

本番環境のトラフィックのベスト プラクティス

本番環境のトラフィックに常にフロー バージョンを使用する

下書きフローは、チームのデベロッパーが変更を加えるたびに更新されます。特に複数のユーザーがエージェントへの書き込み権限を持っている場合は、下書きフローを意図せずに中断してしまうことがよくあります。また、最近編集された下書きフローはトレーニング済みモデルと矛盾する可能性があります。これは、トレーニングが遅れたり、手動による実行が必要とされるためです。

本番環境のトラフィックには、必ずフローのバージョンを使用してください。下書きフローは本番環境に昇格する前にテストしてください。問題が見つかった場合は以前のバージョンにロールバックできます。

常に環境特有の Webhook を使用する

エージェントを更新する際は、たいてい Webhook コードに相互に依存する更新になります。これらの変更の開発とテストの間には、次のことが必要になります。

  • エージェントの更新を Webhook コードの更新に対してテストする。
  • テストが完了するまで Webhook コードを本番環境にデプロイしないようにする。

環境特有の Webhook を使用すると、この両方の目標を達成できます。

バージョンの変更中に発生する可能性のあるエージェント エラーを考慮する

セッションがアクティブなときに本番環境でフロー バージョンを変更すると、一部のアクティブなセッションでエージェント エラーが発生する可能性があります。これらのエラーは、以前のバージョンと新しいバージョンで整合性がなく、セッションを中断させるような場合に発生することがあります。そのため、ダウンタイム中やオフピーク時にバージョンを変更する必要があります。

フロー バージョンを下書きに読み込む

いつでも、フロー バージョンを下書きに読み込んで、デフォルトの環境で編集して使用できます。

フロー バージョンを下書きに読み込むと、インテントやエンティティなどのエージェント レベルのリソースを含むエージェント内の複数のリソースを更新できます。コンソールまたは API でバージョンを下書きに読み込むときに、エージェント レベルのリソースを上書きするかどうかを選択できます。

フロー バージョンを管理する

フロー バージョンを管理するには、以下の手順を行います。

コンソール

フローの現在のバージョンを一覧表示するには:

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [管理] タブをクリックします。
  5. [バージョン] をクリックします。
  6. エージェントのフローが一覧表示されます。1 つ選択してください。
  7. 選択したフロー バージョンが一覧表示されます。

フローごとに次の情報が表示されます。

  • model-display-name: バージョンの表示名。
  • Version ID: バージョンの ID。
  • NLU Type: フローのバージョンの NLU タイプ
  • Creation timestamp: バージョンが作成された日時。
  • Status: トレーニングのステータス。ステータスが Ready になるまでフロー バージョンは使用できません。

新しいフロー バージョンを作成するには、[作成] ボタンをクリックし、バージョンの表示名説明を指定します。

特定のフロー バージョンを下書きフローとして読み込むには:

  1. バージョンの行の上にポインタを置きます。
  2. オプション ボタンをクリックします。
  3. [Load to draft] オプションをクリックします。
  4. 読み込み時にエージェント レベルのデータを上書きするオプションが用意されています。

特定のフロー バージョンを削除するには:

  1. バージョンの行の上にポインタを置きます。
  2. オプション ボタンをクリックします。
  3. [バージョンを削除] オプションをクリックします。

API

Version 型に対するメソッドをご覧ください。

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

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

フロー バージョンを比較する

フロー バージョンを作成したら、バージョンの比較ツールを使用して、フロー バージョンまたは下書きバージョンの比較を表示できます。バージョンを比較するには:

コンソール

  1. バージョンの行の上にポインタを置きます。
  2. オプション ボタンをクリックします。
  3. [バージョンの比較] オプションをクリックします。
  4. 比較する別のフロー バージョンまたは下書きフローを選択します。
  5. 並べて比較したものが表示されます。

API

Version 型の compareVersions メソッドをご覧ください。

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

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

環境の管理

エージェント環境を管理するには、次の手順を行います。

コンソール

エージェントの現在の環境を一覧表示するには:

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [管理] タブをクリックします。
  5. [Environments] をクリックします。
  6. エージェント環境が一覧表示されます。

新しい環境を作成するには、[Create] ボタンをクリックして情報を指定します。

フロー バージョンを選択して環境を構成するには、環境をクリックして情報を指定します。

環境の編集履歴を表示するには、リスト内の環境の右側にある履歴 ボタンをクリックします。

環境 ID を含む環境リソース名をコピーするには、リスト内の環境の右側にある コピーボタン をクリックします。

環境を削除するには、リスト内の環境の右側にある削除ボタン をクリックします。

API

Environment 型に対するメソッドをご覧ください。

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

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

セッション呼び出しの環境を指定する

コンソール シミュレータまたは API のどちらかを使用して、ランタイム セッション呼び出しを行うときに環境を指定できます。環境が指定されていない場合は、デフォルトの環境が使用されます。

Console

コンソール シミュレータを使用する場合は、[Test agent in environment] オプションを選択し、環境を選択します。

API

detectIntentstreamingDetectIntentmatchIntent、セッション エンティティの REST 呼び出しの環境を指定するには、agentsessions のパスパラメータ間に environments/environment-id を挿入して URL を変更します。

たとえば、次の URL では 6db409d7-57ac-41d7-83bd-89b8768e2745 環境 ID を使用します。

https://dialogflow.googleapis.com/v3/projects/my-project-id/locations/us/agents/my-agent-id/environments/6db409d7-57ac-41d7-83bd-89b8768e2745/sessions/my-session-id:detectIntent

セッション呼び出しのフロー バージョンを指定する

コンソール シミュレータまたは API のどちらかを使用して、ランタイム セッション呼び出しを行うときに一連のフロー バージョンを指定できます。選択したフロー バージョンは、必ずしもなんらかの環境から参照される必要はありません。

コンソール

コンソール シミュレータを使用する場合は、[Test agent with specific flow versions] オプションを選択し、フロー バージョンを選択します。

API

detectIntentstreamingDetectIntentmatchIntent、セッション エンティティの REST 呼び出しのフロー バージョンを指定するには、リクエストの query_parameters.flow_versions フィールドに選択したフロー バージョンを指定します。