跳到主要内容

使用会话 ID 管理组件之间的通信

会话 ID 是客户端/服务器连接的唯一标识符。一个会话等于客户端与服务器连接的持续时间。

在 Langflow 的 Playground 中,当前会话列表显示在面板的左侧。

Langflow 使用会话 ID 来跟踪流程中不同的聊天交互。这使得单个流程中可以存在多个聊天会话。消息通过会话 ID 作为参考存储在数据库中。

这种按会话区分用户的方法有助于管理客户端/服务器连接,同时对于在单个流程中维护独立的对话上下文也很重要。LLM 依靠过去的交互来生成对查询的响应,如果这些对话没有分开,响应就会变得不太有用,甚至会混淆。

自定义会话 ID

自定义会话 ID 可以作为 API 调用负载的一部分设置,或者作为单个组件中的高级设置。API 会话 ID 值优先。如果未指定会话 ID,则分配流程 ID。

如果您在负载中设置了自定义会话 ID,则所有下游组件都使用上游组件的会话 ID 值。


_10
curl --request POST \
_10
--url 'http://127.0.0.1:7860/api/v1/run/$FLOW_ID' \
_10
--header 'Content-Type: application/json' \
_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 检索消息历史。

可以通过 API 中的 /monitor 端点使用 session_id 检索消息。更多信息请参见API 示例

有关会话 ID 的实际示例,请参阅在 Langflow 中使用会话 ID

Search