Skip to main content

使用 Session ID 管理Components間的通訊

Session ID 是客戶端/伺服器連線的唯一識別碼。單一階段等於客戶端連線到伺服器的持續時間。

在 AgentBuilder Playground 中,目前的階段列在窗格的左側。

AgentBuilder 使用 session ID 來追蹤FLOW內不同的聊天互動。這允許在單一FLOW中存在多個聊天階段。訊息以 session ID 作為參考儲存在資料庫中。

這種按階段區分使用者的方式有助於管理客戶端/伺服器連線,但對於在單一FLOW中維持單獨的對話背景也很重要。LLM 依賴過去的互動來產生對查詢的回應,如果這些對話沒有分離,回應會變得不太有用,甚至混亂。

自訂 Session ID

自訂 session ID 可以作為 API 呼叫中 payload 的一部分設定,或作為個別Components中的進階設定。API session ID 值優先。如果沒有指定 session ID,則分配FLOW ID。

如果您在 payload 中設定自訂 session ID,所有下游Components都會使用上游Components的 session ID 值。 將 LANGFLOW_SERVER_ADDRESSFLOW_IDLANGFLOW_API_KEY 替換為您的 AgentBuilder 部署中的值。


_10
curl --request POST \
_10
--url "http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID" \
_10
--header "Content-Type: application/json" \
_10
--header "x-api-key: $LANGFLOW_API_KEY" \
_10
--data '{
_10
"input_value": "Hello",
_10
"output_type": "chat",
_10
"input_type": "chat",
_10
"session_id": "my_custom_session_value"
_10
}'

my_custom_session_value 值用於接受它的Components,此FLOW中儲存的訊息以其各自的 session_id 值儲存在 langflow.db 中。

按 Session ID 從記憶體擷取訊息

要從本機 AgentBuilder 記憶體擷取訊息,請將 Message History Components 新增到您的FLOW。 Components接受 sessionID 作為過濾參數,並自動使用上游的 session ID 值來按 session ID 從儲存擷取訊息歷史記錄。

可以從 AgentBuilder API 的 GET /v1/monitor/messagessession_id 擷取訊息。如需更多資訊,請參閱 Monitor endpoints

如需 session ID 實際運作的範例,請參閱 Use Session IDs in AgentBuilder

Search