使用工作階段管理 API 存放和擷取對話歷史記錄與內容 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用工作階段管理 API 存放和擷取對話歷史記錄與內容

注意

工作階段管理 API 處於預覽狀態,可能會有所變更。

工作階段管理 API 可讓您在使用 LangGraph 和 LlamaIndex 等開放原始碼架構建置的生成式 AI 應用程式中,儲存用於持續對話的檢查點。您可以使用 API 跨多步驟工作流程安全地管理狀態和對話內容。您不需要為狀態和內容持久性建置、維護或擴展自訂後端解決方案。

您可以使用工作階段管理 API 執行以下操作:

  • 適用於反覆測試和人機迴圈工作流程階段的檢查點工作流程階段。

  • 從中斷點繼續對話和任務。

  • 檢閱工作階段日誌以分析工作流程階段和偵錯失敗。

由於工作階段是 Amazon Bedrock 中的資源,因此您可以使用 AWS Identity and Access Management(IAM) 控制對工作階段的存取權。根據預設,Amazon Bedrock 會使用 AWS 受管金鑰進行工作階段加密,包括工作階段中繼資料,或者您可以使用自己的 AWS KMS 金鑰。如需詳細資訊,請參閱 工作階段加密

您可以使用 Amazon Bedrock API 或 AWS SDK 建立和管理 Amazon Bedrock 工作階段。對於建置在 LangGraph 上的應用程式,您可以使用langgraph_checkpoint_aws.saver 程式庫中的 BedrockSessionSaver 類別。這是 LangGraph CheckpointSaver 的自訂實作。如需詳細資訊,請參閱 LangChain GitHub 儲存庫中的 langgraph-checkpoint-aws

注意

您可以使用工作階段來存放使用開放原始碼架構建置之生成式 AI 應用程式的狀態和對話歷史記錄。對於 Amazon Bedrock 代理程式,服務會自動管理對話內容,並將其與您在 InvokeAgent API 操作中指定的代理程式特定 sessionId 建立關聯。

使用案例範例

您有一個應用程式使用 LangGraph 代理程式來協助客戶規劃行程。使用者可以開始與此代理程式對話,為即將到來的旅程建立行程、新增目的地、偏好的飯店和航班詳細資訊。

透過工作階段管理 API,代理程式可以在延伸的多步驟互動中儲存中繼狀態和持久性內容。代理程式可以在新增每個目的地之後,使用 Amazon Bedrock 工作階段設置其狀態的檢查點,保留客戶偏好設定的詳細資訊。

如果對話中斷或失敗,代理程式可以在稍後以原封不動的內容 (包括文字和影像) 繼續工作階段。這可讓代理程式繼續進行,無需客戶重複提供資訊。此外如果失敗,您可以調查工作階段詳細資訊以偵錯原因。

工作流程

使用工作階段管理 API 的工作流程如下所示。如需有關使用 BedrockSessionSaver 程式庫的資訊,請參閱 使用 BedrockSessionSaver LangGraph 程式庫管理工作階段

  • 建立工作階段 — 最終使用者第一次開始對話時,您會使用 CreateSession API 操作建立工作階段,並指定工作階段的 ID。您在存放和擷取對話狀態時使用此 ID。

  • 存放對話和內容 — 當最終使用者與您的生成式 AI 助理互動時,請使用 CreateInvocation API 在工作階段內建立互動群組。對於每次調用,請使用 PutInvocationStep API 操作來存放每次互動的精細狀態檢查點,包括文字和影像。

  • 擷取對話歷史記錄和內容 — 使用 GetSessionListInvocationsGetInvocationStep API 操作來擷取工作階段中繼資料和互動詳細資訊。

  • 結束工作階段 — 當工作階段完成時,使用 EndSession API 操作結束工作階段。結束工作階段後,您仍然可以存取其內容,但無法新增至其中。若要刪除工作階段及其內容,請使用 DeleteSession API 操作。

考量事項

在您建立和管理工作階段之前,請注意下列事項:

  • 您可以使用 Amazon Bedrock API 和 AWS SDK 建立與管理工作階段。您無法使用 AWS 管理主控台來管理工作階段。

  • 對於建置在 LangGraph 上的代理程式應用程式,您可以使用 langchain-aws 程式庫中的 BedrockSessionSaver 類別。這是 LangGraph CheckpointSaver 的自訂實作。如需有關使用 BedrockSessionSaver 程式庫的資訊,請參閱 使用 BedrockSessionSaver LangGraph 程式庫管理工作階段。若要直接檢視程式碼,請參閱 LangChain GitHub 儲存庫中的 langgraph-checkpoint-aws

  • 如果您在建立工作階段時指定客戶管理的 AWS KMS 金鑰,則建立工作階段的使用者或角色必須具有使用金鑰的許可。如需詳細資訊,工作階段加密

  • 工作階段管理 API 具有下列配額:

    • 工作階段中所有調用之間的調用步驟數目 — 1000

    • 每個調用步驟的大小上限 — 50 MB

    • IdleSession 逾時 — 1 小時

    • 保留期間 — 工作階段資料會在 30 天後自動刪除