エージェント フローやハンドブック(Vertex AI エージェント)の複数のバージョンを作成し、それらを別々のサービス環境にデプロイできます。
フローまたはハンドブックを編集する場合は、下書きを編集することになります。下書きは、バージョンとしていつでも保存できます。バージョンは、フローまたはハンドブックのデータと、関連付けられたエージェント データの不変のスナップショットです。フローの場合、インテント、エンティティ、Webhook、ページ、ルートグループなどが該当します。ハンドブックの場合は、例のみが含まれます。
下書きを保存すると、デフォルト環境にデプロイされます。特定のバージョンを作成する場合、カスタム環境にデプロイできます。次のようなさまざまなカスタム環境を作成できます。
- テスト
- 開発
- 本番環境
さらに、環境特有の Webhook を作成して、本番環境を開発環境とテスト環境から分離できます。
本番環境のトラフィックのベスト プラクティス
本番環境のトラフィックに常にバージョンを使用する
下書きは、チームのデベロッパーが変更を加えるたびに更新されます。エージェントへの書き込み権限を持つユーザーが複数人いる場合は特に、下書きを意図せず破壊してしまう可能性があります。また、最近編集された下書きはトレーニング済みモデルと矛盾する可能性があります。これは、トレーニングが遅れたり、手動による実行が必要とされるためです。
本番環境のトラフィックには、必ずバージョンを使用してください。下書きリソースは本番環境に昇格する前にテストしてください。問題が見つかった場合は以前のバージョンにロールバックできます。
常に環境特有の Webhook を使用する
エージェントを更新する際は、たいてい Webhook コードに相互に依存する更新になります。これらの変更の開発とテストの間には、次のことが必要になります。
- エージェントの更新を Webhook コードの更新に対してテストする。
- テストが完了するまで Webhook コードを本番環境にデプロイしないようにする。
環境特有の Webhook を使用すると、この両方の目標を達成できます。
バージョンの変更中に発生する可能性のあるエージェント エラーを考慮する
セッションがアクティブなときに本番環境でバージョンを変更すると、一部のアクティブなセッションでエージェント エラーが発生する可能性があります。これらのエラーは、以前のバージョンと新しいバージョンで整合性がなく、セッションを中断させるような場合に発生することがあります。そのため、ダウンタイム中やオフピーク時にバージョンを変更する必要があります。
フロー バージョンを下書きに読み込む
いつでも、フロー バージョンを下書きに読み込んで、デフォルトの環境で編集して使用できます。この機能はハンドブックではまだご利用いただけません。
フロー バージョンを下書きに読み込むと、インテントやエンティティなどのエージェント レベルのリソースを含むエージェント内の複数のリソースを更新できます。コンソールまたは API でバージョンを下書きに読み込むときに、エージェント レベルのリソースを上書きするかどうかを選択できます。
バージョンを管理する
バージョンを管理するには:
コンソール
フローの現在のバージョンを一覧表示するには:
- Dialogflow CX Console を開きます。
- ご自身の Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- [共有リソース] タブをクリックします。
- [バージョン] をクリックします。
- エージェントのフローが一覧表示されます。1 つ選択してください。
- 選択したフロー バージョンが一覧表示されます。
ハンドブックの現在のバージョンを一覧表示するには:
- Dialogflow CX Console を開きます。
- ご自身の Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- ハンドブックを選択します。
- [変更履歴] をクリックします。
- [変更履歴を表示] をクリックします。
- 選択したハンドブックのバージョンが一覧表示されます。
リソースごとに次の情報が表示されます。
- model-display-name: バージョンの表示名。
- Version ID: バージョンの ID。
- NLU Type: フローのバージョンの NLU タイプ。
- Creation timestamp: バージョンが作成された日時。
- Status: トレーニングのステータス。ステータスが Ready になるまでフロー バージョンは使用できません。
新しいバージョンを作成するには、[作成] ボタンをクリックし、バージョンの表示名と説明を指定します。
特定のフロー バージョンを下書きフローとして読み込むには:
- バージョンの行にポインタを合わせます。
- オプション more_vert ボタンをクリックします。
- [Load to draft] オプションをクリックします。
- 読み込み時にエージェント レベルのデータを上書きするオプションが用意されています。
特定のフロー バージョンを削除するには:
- バージョンの行にポインタを合わせます。
- オプション more_vert ボタンをクリックします。
- [バージョンを削除] オプションをクリックします。
API
Version
型に対するメソッドをご覧ください。
バージョン リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | バージョン リソース | バージョン リソース |
RPC | バージョン インターフェース | バージョン インターフェース |
C++ | VersionsClient | 利用できません |
C# | VersionsClient | 利用できません |
Go | VersionsClient | 利用できません |
Java | VersionsClient | VersionsClient |
Node.js | VersionsClient | VersionsClient |
PHP | 利用不可 | 利用できません |
Python | VersionsClient | VersionsClient |
Ruby | 利用不可 | 利用できません |
フロー バージョンを比較する
フロー バージョンを作成したら、バージョンの比較ツールを使用して、フロー バージョンまたは下書きバージョンの比較を表示できます。この機能はハンドブックではご利用いただけません。バージョンを比較するには:
コンソール
- バージョンの行にポインタを合わせます。
- オプション more_vert ボタンをクリックします。
- [バージョンの比較] オプションをクリックします。
- 比較する別のフロー バージョンまたは下書きフローを選択します。
- 並べて比較したものが表示されます。
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 | 利用不可 | 利用できません |
環境の管理
エージェント環境を管理するには、次の手順を行います。
コンソール
エージェントの現在の環境を一覧表示するには:
- Dialogflow CX Console を開きます。
- ご自身の Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- [共有リソース] タブをクリックします。
- [Environments] をクリックします。
- エージェント環境が一覧表示されます。
新しい環境を作成するには、[Create] ボタンをクリックして情報を指定します。
フローとハンドブックのバージョンを選択して環境を構成するには、環境をクリックして情報を指定します。
環境の編集履歴を表示するには、リスト内の環境の右側にある履歴 history ボタンをクリックします。
環境 ID を含む環境リソース名をコピーするには、リスト内の環境の右側にある コピーボタン content_copy をクリックします。
環境を削除するには、リスト内の環境の右側にある削除ボタン delete をクリックします。
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 のどちらかを使用して、ランタイム セッション呼び出しを行うときに環境を指定できます。環境が指定されていない場合は、デフォルトの環境が使用されます。
コンソール
コンソール シミュレータを使用する場合は、[Test agent in environment] オプションを選択し、環境を選択します。
API
detectIntent
、streamingDetectIntent
、matchIntent
、セッション エンティティの REST 呼び出しの環境を指定するには、agent
と sessions
のパスパラメータ間に 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
detectIntent
、streamingDetectIntent
、matchIntent
、セッション エンティティの REST 呼び出しのフロー バージョンを指定するには、リクエストの query_parameters.flow_versions
フィールドに選択したフロー バージョンを指定します。