跳到主要内容

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

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

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

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

每个会话之间的用户区分在管理客户端/服务器连接方面很有帮助,但在单个流程内维持单独的对话上下文方面也很重要。LLM 依赖过去的交互来生成对查询的响应,如果这些对话没有分开,响应会变得不那么有用,甚至令人困惑。

自定义会话 ID

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

如果您在载荷中设置了自定义会话 ID,所有下游组件都使用上游组件的会话 ID 值。 用您的 Langflow 部署中的值替换 LANGFLOW_SERVER_ADDRESSFLOW_IDLANGFLOW_API_KEY


_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 值在接受它的组件中使用,来自此流程的存储消息以各自的 session_id 值存储在 langflow.db 中。

按会话 ID 从记忆中检索消息

要从本地 Langflow 记忆中检索消息,请向您的流程添加一个 消息历史 组件。 该组件接受 sessionID 作为过滤参数,并自动使用来自上游的会话 ID 值以按会话 ID 从存储中检索消息历史。

可以通过 GET /v1/monitor/messages 从 Langflow API 按 session_id 检索消息。有关更多信息,请参阅 监控端点

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

Search