工作階段代表 Conversational Agents (Dialogflow CX) 代理程式與使用者之間的對話。您可以在對話開始時建立一個工作階段,並將其用於每一回合的對話。對話���������,您便停止使用該工作階段。
您不該將同一工作階段用於與不同使用者的並行對話。在最後一個要求傳送完畢後,工作階段會持續運作 30 分鐘,系統也會在這段期間持續儲存資料。
每個工作階段都是由系統產生的工作階段 ID 所決定。您可以在偵測意圖要求和其他工作階段方法中提供新的工作階段 ID,建立新的工作階段。工作階段 ID 是長度最多 36 個位元組的字串。您的系統負責產生不重複的工作階段 ID,其可以是隨機數字、經過雜湊處理的使用者 ID,或是方便產生的任何其他值。
請參閱區域化說明文件,瞭解會話名稱中的 Location ID 值。
長時間工作階段
根據預設,Conversational Agents (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 |
Ruby | 不適用 | 不適用 |