使用 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_ADDRESS、FLOW_ID 和 LANGFLOW_API_KEY 替換為您的 AgentBuilder 部署中的值。
_10curl --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/messages 按 session_id 擷取訊息。如需更多資訊,請參閱 Monitor endpoints。
如需 session ID 實際運作的範例,請參閱 Use Session IDs in AgentBuilder。