工作階段

工作階段代表 Dialogflow CX 代理程式和使用者之間的對話。您可以在對話開始時建立一個工作階段,並將其用於每一回合的對話。當對話結束,您便停止使用該工作階段。

您不該將同一工作階段用於與不同使用者的並行對話。最後一項要求傳送完畢之後,工作階段會持續運作 30 分鐘,並儲存這段期間內的所有資料。

每個工作階段都是由系統產生的工作階段 ID 所決定。 您可以在偵測意圖要求和其他工作階段方法中提供新的工作階段 ID,藉此建立新的工作階段。工作階段 ID 是長度最多 36 個位元組的字串。您的系統負責產生不重複的工作階段 ID,其可以是隨機數字、經過雜湊處理的使用者 ID,或是方便產生的任何其他值。

如要瞭解工作階段名稱中的 Location ID 值,請參閱區域化說明文件。

長時間工作階段

根據預設,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,一併傳送至 Dialogflow,以偵測先前工作階段狀態的意圖。您不需要使用與工作階段 A 相同的會期 ID。

參考資料

如要瞭解工作階段定價,請參閱定價頁面

如要進一步瞭解工作階段:

選取工作階段參照的通訊協定和版本:

通訊協定 V3 V3beta1
REST 工作階段資源 工作階段資源
RPC 工作階段介面 工作階段介面
C++ SessionsClient 不適用
C# SessionsClient 不適用
Go SessionsClient 不適用
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP 不適用 不適用
Python SessionsClient SessionsClient
Ruby 不適用 不適用