私に示唆されているもう1つのアプローチは、現在マスタールーティング用ワークスペースと多分複数のアプリケーションワークスペースを持つことです。最初のインスタンスでは、ユーザーの入力は、どのアプリケーションワークスペースにルーティングするかを決定する高レベルのインテントを持つマスターに送られます。アプリケーションのワークスペースには、より詳細なインテントがあります。
次に、すべての後続の入力を、選択したアプリケーションワークスペースとマスタールータの両方にパラレルで送信します。これまでに説明したシーケンシャル・アプローチと比較した場合の潜在的なメリットは、マスター・ワークスペースが、トピック外や低い信頼によって降伏させる必要はなく、制御に苦しむことができることです。これは、オフトピックを集中化することを可能にするだけでなく、初期ルーティングと同じインテントを使用して他のワークスペースへの動的ルーティングを得ることができることを意味します。
私は一緒に(マスターでマスターワークスペースに送信されますし、どちらのワークスペースが現在としてマークされているオーケストレーション層がこの
{
currentWs: xxxx,
contexts: {
ws_idn: {}, // basically an array of conversation contexts,
.... // keyed on workspace_id's
}
}
入力のようなコンテキストの配列としてセッションを管理することによって、これをやりましたそのワークスペースに関連するコンテキストオブジェクトを使用して)。それらのコンテキストを失うことなく、複数のチャットボックスアプリケーション間でシームレスに切り替えることができます。