使用会话ID管理组件间的通信
会话ID是客户端/服务器连接的唯一标识符。单个会话等于客户端连接到服务器的持续时间。
在Langflow的Playground中,当前会话列在窗格的左侧。
Langflow使用会话ID来跟踪流程中的不同聊天交互。这允许多个聊天会话存在于单个流程中。消息在数据库中存储,并以会话ID作为参考。
每个会话之间的用户区分有助于管理客户端/服务器连接,但在维护单个流程中的独立对话上下文方面也很重要。大语言模型依赖过去的交互来生成对查询的响应,如果这些对话没有被分离,响应会变得不那么有用,甚至产生混淆。
自定义会话ID
自定义会话ID可以作为API调用中负载的一部分设置,或作为单个组件的高级设置。API会话ID值优先。如果未指定会话ID,则分配流程ID。
如果在负载中设置自定义会话ID,所有下游组件将使用上游组件的会话ID值。
将LANGFLOW_SERVER_ADDRESS
、FLOW_ID
和LANGFLOW_API_KEY
替换为您的Langflow部署中的值。
_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
值在支持它的组件中使用,此流程中存储的消息会以各自的session_id
值存储在langflow.db
中。
按会话ID从内存中检索消息
要从本地Langflow内存中检索消息,请向您的流程中添加一个Message History组件。
该组件接受sessionID
作为过滤参数,并自动使用 上游的会话ID值从存储中按会话ID检索消息历史。
可以通过Langflow API的GET /v1/monitor/messages
按session_id
检索消息。有关更多信息,请参阅监控端点。
有关会话ID实际应用的示例,请参阅在Langflow中使用会话ID。