工作階段

工作階段代表 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_pageQueryParameters.parameters,以復活先前的工作階段狀態。

    工作流程範例如下:

    1. 使用者在工作階段 A 中與服務專員對話。
    2. 程式碼會記錄與 API 回應中傳回的工作階段 A 相關聯的狀態,也就是 QueryResult.current_pageQueryResult.parameters
    3. 使用者在 50 分鐘後停止與服務專員互動。
    4. 使用者再次與服務專員交談。
    5. 程式碼會傳送使用者輸入內容,以及先前記錄的 QueryParameters.current_pageQueryParameters.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 不適用 不適用