Snapshots(スナップショット)
Snapshot は、以下のリソースを含む、バーチャルエージェントの不変フォームです:
- Flows (学習済みNLUモデルを含む)
- Lexicons
- Connections
- NLU Connectors
- Functions
- Playbooks
- Settings
- Localization
- Tokens
- Extensions
リソースがSnapshotに含まれると、そのSnapshot内のリソースは、FlowエディタやCognigyのRESTful APIなどで変更できなくなります。
Snapshotは次のような場合に使用できます:
- バーチャルエージェントのすべての関連リソースの不変のジャストインタイムコピーを作成し、開発者がバーチャルエージェントの次のバージョンに取り組んでいる間に、この特定のバージョンをEndpointを通してデプロイできるようにします。
- バーチャルエージェントのバックアップを作成し、必要に応じて以前の状態に戻すことができます。
制限
以下のリソースはSnapshotには含まれません:
- Endpoints
- Intent Trainer records
- Analytics data
- Contact Profiles
- Logs
- Members
- Knowledge AI
- その他Snapshots
クォータと制限
- 1 Agentあたりの最大スナップショット数は10です。この上限は専用のソフトウェアをインストールすることで変更可能です。
cognigy-env
のconfig-mapの以下の環境変数で調整できます:MAX_AMOUNT_SNAPSHOTS_IN_AGENT
- パッケージ化された Snapshot の最大サイズは256MB です。この制限に達した場合、新しいSnapshotを作成する前に古いSnapshotを削除する必要があります。専用インストールでは、
cognigy-env
のconfig-map:SNAPSHOT_MAX_FILE_SIZE
環境変数を使用して最大Snapshot数を増やすことができます。 - ダウンロード可能なSnapshotの再作成が必要になるまでの有効期限は1日です。
Snapshotファイル形式
.csnap
(Cognigy Snapshot)ファイルはCognigy.AI Snapshot内でのみ使用できる特殊なタイプです。Cognigy.AIの外部で開いたりアップロードしたりすることはできません。Snapshot は、Cognigy Connectionsの形式で潜在的に機密性の高い情報を含むデータを暗号化します。
新規Snapshotの作成
バーチャルエージェントの現在の状態の新しいSnapshotを作成するには、以下の操作を行います:
- Cognigy.AIインタフェースを開きます。
- 左側のメニューで、[Deploy] > [Snapshots]を選択します。
- [New Snapshot]をクリックします。
- 新しいSnapshotの名前と説明を入力します。name(名前)フィールドにはバージョン番号を、description(説明)フィールドにはこのバージョンで行われた変更の説明を入力することをお勧めします。
Snapshotがリストに表示されます。
Snapshotを作成し、生産性の高いEndpointをSnapshot内に含まれるFlowのみに指定することを強く推奨します。
Snapshotのダウンロード
以前に作成したSnapshotをダウンロードすることができます。これは Snapshotをオフラインでアーカイブしたい場合や、複数のCognigy.AIシステムを持っていてSnapshotを他のCognigy.AIシステムに転送したい場合に便利です。
スナップショットをダウンロードするには、以下の手順で行います:
- Snapshotが作成されたら、リストからダウンロードしたいSnapshotの右横にある縦の三点リーダをクリックします。
- [Prepare Download(ダウンロードの準備)]を選択します。ダウンロード可能なSnapshotパッケージが作成されます。Snapshotパッケージが準備されると、成功通知が表示されます。
- ダウンロードを開始するには、以前に準備したSnapshotの右横にある[snapshot download]をクリックします。 ウェブブラウザが、準備されたSnapshotパッケージを
.csnap
ファイルとしてダウンロードし始めます。
ウェブブラウザが、準備されたSnapshotパッケージを.csnapファイルとしてダウンロードし始めます。
以前に作成したSnapshotをダウンロードすることができます。これは Snapshotをオフラインでアーカイブしたい場合や、複数のCognigy.AIシステムを持っていてSnapshotを他のCognigy.AIシステムに転送したい場合に便利です。
Snapshotのアップロード
v4.47でアップデート
Snapshotをアップロードするユースケースは、通常、そのFlowを本番環境にデプロイする場合です。Snapshotは他のリソースとしてバーチャルエージェント内に存在するため、最初に新しいバーチャルエージェントを作成するか、既存のバーチャルエージェントにSnapshotをアップロードする必要があります。
Snapshotをアップロードするには、以下の手順で行います:
- Cognigy.AIインタフェースを開きます。
- 左側のメニューで、[Deploy] > [Snapshots]をクリックします。
- [Snapshots]ページで[Upload Snapshot]をクリックします。
- コンピュータから
.csnap
形式の Snapshotを選択します。ファイルのアップロードが開始されると、プログレスバー付きのダイアログウィンドウが表示されます。 - ファイルがアップロードされると、[Upload Snapshot]というタイトルの新しいタスクが作成されます。タスクを表示するには、右上の[task-menu]をクリックします。
Upload Snapshotタスクが完了すると、Snapshotがインストールされ、Snapshotsページのリストに表示されます。
Snapshot からバーチャルエージェントをリストアする手順
バーチャルエージェントをアーカイブする方法としてSnapshotを使用している場合、Snapshotが最初に取得された時点にバーチャルエージェントをリストアすることが考えられます。
はじめる前に
- Snapshotをリストアすると、既存のAgentリソースがすべて上書きされます。Snapshotからバーチャルエージェントをリストアする場合は、その結果を十分にご確認ください。バーチャルエージェント内のすべてのリソースは、Snapshotから再構築される前に削除されます。バーチャルエージェント内の Flowを指すEndpoints がアクティブな場合、それらのFlowが削除されるため、トークは中断されます。
- 他のAgentからSnapshotをリストアする場合、Endpointを手動で変更する必要がある場合があります。別のAgentからSnapshotをリストアすると、プライマリロケールで割り当てられたEndpointは自動的に更新されますが、セカンダリロケールのEndpointは手動で更新する必要があります。これらの Endpointは、以下の画像のように Endpoint名の横に赤い点が表示されます。
SnapshotからAgentをリストア
リストアのプロセスを開始する前に、「はじめる前に」のセクションで関連するリスクをご確認ください。
SnapshotからAgentをリストアするには、以下の操作を行います:
- リストア元のSnapshotがバーチャルエージェントに存在しない場合は、Snapshotをアップロードします。
- リストアしたいSnapshotの右横にある縦の三点リーダをクリックします。選択メニューが表示されます。
- [Restore(リストア)]をクリックします。警告ダイアログが表示されます。
- 操作を確定するために、Snapshot名を入力します。
バーチャルエージェントから現在のリソースをすべて削除し、Snapshotからリソースをリストアするには時間がかかるため、新しいタスクが作成されます。バーチャルエージェントが Snapshotから正常にリストアされると、成功通知が表示されます。
Snapshotの削除
バーチャルエージェントにある Snapshotの数が上限に達すると、古い Snapshotを削除し始める必要があります。
Snapshotの使用状況の確認
本番環境では、EndpointはSnapshotに直接接続する必要があります。まず、削除しようとしているSnapshotを指しているEndpointがあるかどうかを確認することが重要です。Endpointの1つによって参照されているSnapshotを削除すると、お客様とのトークが中断されます。
Snapshotを削除するには、以下の操作を行います:
- Cognigy.AIインタフェースを開きます。
- 左側のメニューで、[Deploy] > [Snapshots]をクリックします。
- [Snapshots] ページで、削除する Snapshotを選択します。
- 削除するSnapshotの右横にある縦の三点リーダをクリックします。選択メニューが表示されます。
- [Delete(削除)]を選択します。
- 開いたダイアログで[Confirm(確定)]をクリックします。
新しいタスクが作成され、Snapshotが削除されます。
Snapshotの互換性
Cognigy.AIの古いバージョンで作成されたSnapshotは、プラットフォームの新しいバージョンに問題なくインポートでき、完全に対応しています。
ただし、新しいバージョンで作成されたSnapshotは古いバージョンと互換性がない場合があり、対応しておりません。
新しいバージョンから古いバージョンのCognigy.AIにSnapshotをインポートおよびリストアすることは、予期せぬエラーを引き起こす可能性があるため、推奨しておりません。
Snapshotを使用した本番環境へのバーチャルエージェントのデプロイ
以下の3つのシナリオは、バーチャルエージェントを本番環境にデプロイするための推奨方法を示しています。Cognigy.AIのAgentは、他のソフトウェアにおけるプロジェクトに相当するとお考えください。
単一のバーチャルエージェントを使用する
Snapshotの概念は、バーチャルエージェントの次のバージョンに取り組んでいる間に、Endpointを通してバーチャルエージェントを利用可能にすることです。このシナリオは最も単純ですが、非常に優れています。
例えば、レストランのオーダーボットというバーチャルエージェントがあるとします。
ボットを開発する人は、通常通りFlow、Lexicon、Intent、その他すべてのリソースを作成します。最終的に、お客様に公開したい状態に到達します。新しいSnapshotを作成する必要があります。Snapshotをダウンロードして別の場所にアップロードをすることはないため、Snapshot用のダウンロード可能なパッケージを準備する必要はなく、すべて現在のバーチャルエージェントのプロジェクトに残ります。
新しいSnapshotをリリースするには、 Endpoints(例えば、Web サイトで使用されている Webchat Endpoint)に移動し、新しいSnapshotとその中のFlowを選択します。
本番環境ではSnapshot内のリソースを使用するため、開発者はお客様のトークロジックを壊すことなく、バーチャルエージェント内のFlowを直接変更することができます。
複数のバーチャルエージェントを利用する
本番環境で実際に動作するものをより制御するためには、この方法を選択すべきです。
例えば、ウェブサイト上のFAQのためにバーチャルエージェントを構築したいとします。この場合、Cognigy.AIに2つのバーチャルエージェントを作成する必要があります:
- FAQボット開発
- FAQボット制作
開発者はFAQボット開発エージェントにのみアクセスできます。すべてのFlow、Lexicon、Intent、そしてすべての開発全般はここで行われます。最終的にある状態になると、Snapshotが作成されます。Snapshot用のダウンロード可能なパッケージを作成し、Snapshotをダウンロードする必要があります。
Snapshotをリリースするには、FAQボットの制作エージェントにアクセスできる誰かが、パッケージ化されたSnapshotをアップロードし、生産的なWebchatエンドポイントをSnapshotの新しいバージョンに指定します。
Endpointがそのコンテンツを使用するためにSnapshotをリストアする必要はありません。FAQ ボットの制作エージェントは、Flow のような直接的なリソースを含むべきではありません。Snapshotのみを保存し、そのEndpointは直接これらのSnapshotを指す必要があります。
複数のCognigy.AIシステムで複数のバーチャルエージェントを使用する
物理的に分離された複数のCognigy.AIがインストールされている場合、「複数のバーチャルエージェントを使用する」の概念からさらに一歩進むことができます。
以下の環境があるとします:
- Dev(開発) 開発用のハードウェアスペックの低いCognigy.AIのインストール。
- Staging(ステージング) 新しいバージョンの受け入れテストが行われるステージング用の、ハードウェアスペックの高いCognigy.AIのインストール。
- Production(プロダクション) Cognigy.AIのハードウェアスペックの高い、本番環境用のインストール。
この場合、開発者はDevインストール内のバーチャルエージェントプロジェクトにのみアクセスできます。開発者はボットを作成したり、新しい体験価値を作成したり、既存のソリューションを改善したりします。プロジェクトが必要な状態に達すると、新しい Snapshotを作成します。その後、Snapshot用のダウンロード可能なパッケージが作成され、Stagingインストールで作業しているチームに提供されます。
Stagingのユーザーは、開発者からSnapshotを受け取り、Stagingシステム内の自分のバーチャルエージェントプロジェクトにアップロードします。Endpointを新しいSnapshotに指定し、受け入れテストを実行します。不具合が見つかれば開発チームに報告し、開発チームは問題を修正して新しいSnapshotを提供します。テストがうまくいけば、Snapshotは本番システムに移行されます。
本番システムにアクセスできる人(通常はごく一部の人)は、Stagingシステムで品質を検証したチームが提供した新しいSnapshotを、生産性の高いEndpointに指し示します。生産的なやりとりはこのシステム上でしか発生しないため、Productionシステムは、実際のユーザーがどのようにバーチャルエージェントを使用するかを理解するためにCognigy Insightsを使用する場所でもあります。