工作階段代表 Dialogflow CX 代理與使用者之間的對話。您可以在對話開始時建立工作階段,並在對話的每個回合中使用。對話結束後,您就不會再使用該工作階段。
請勿將同一個工作階段用於與不同使用者同時進行的對話。工作階段會保持啟用狀態,並在最後一次要求傳送後,將資料儲存 30 分鐘。
系統會根據產生的工作階段 ID,判斷每個工作階段是否不重複。 如要建立新的工作階段,請在偵測意圖要求和其他工作階段方法中,提供新的工作階段 ID。工作階段 ID 是大小不超過 36 個位元組的字串。您的系統負責產生不重複的工作階段 ID。可以是隨機號碼、經雜湊處理的使用者 ID,或任何方便您產生的值。
如要瞭解工作階段名稱中的地區 ID 值,請參閱區域化說明文件。
長時間工作階段
根據預設,Dialogflow CX 會保留工作階段資料 30 分鐘。延長工作階段生命週期的方法有兩種:
- (建議) 使用
QueryParameters.session_ttl設定工作階段存留時間。最大值為 24 小時。 您可以在
DetectIntentRequest中設定QueryParameters.current_page和QueryParameters.parameters,藉此恢復先前的工作階段狀態。工作流程範例如下:
- 使用者在工作階段 A 與代理對話。
- 程式碼會記錄 API 回應中傳回與工作階段 A 相關聯的狀態,即
QueryResult.current_page和QueryResult.parameters。 - 使用者在 50 分鐘後停止與代理互動。
- 使用者再次與代理對話。
- 您的程式碼會傳送使用者輸入內容,以及先前記錄的
QueryParameters.current_page和QueryParameters.parameters,以便偵測先前工作階段狀態的意圖。您不必使用與工作階段 A 相同的工作階段 ID。
參考資料
如要瞭解工作階段定價,請參閱定價頁面。
如要進一步瞭解工作階段,請。
選取工作階段參考資料的通訊協定和版本:
| 通訊協定 | V3 | V3beta1 |
|---|---|---|
| REST | 工作階段資源 | 工作階段資源 |
| RPC | 工作階段介面 | 工作階段介面 |
| C++ | SessionsClient | 不適用 |
| C# | SessionsClient | 不適用 |
| Go | SessionsClient | 不適用 |
| Java | SessionsClient | SessionsClient |
| Node.js | SessionsClient | SessionsClient |
| PHP | 不適用 | 不適用 |
| Python | SessionsClient | SessionsClient |
| 小茹 | 不適用 | 不適用 |