在 Playground 中测试流程
Langflow 的 Playground 是一个动态界面,您可以用来实时测试基于 LLM 的流程。
您可以测试流程如何响应不同的输入,查看和修改记忆,并监控流程的输出和逻辑。 例如,您可以确保代理流程使用适当的工具来响应不同的输入。
Playground 允许您快速迭代流程的逻辑和行为,使原型设计和应用程序优化变得更加容易。
在 Playground 中运行流程
要在 Playground 中运行流程,请打开流程,然后点击 Playground。 然后,如果您的流程有 Chat Input 组件,请输入提示或 使用语音模式 来触发流程并开始聊天会话。
如果 Playground 中没有消息输入字段,请确保您的流程有一个 Chat Input 组件,该组件直接或间接连接到 Language Model 或 Agent 组件的 Input 端口。
由于 Playground 专为使用 LLM 进行查询和响应的流程而设计,例如聊天机器人和代理,流程必须包含 Chat Input、Language Model/Agent 和 Chat Output 组件,才能被 Playground 聊天界面完全支持。
对于需要其他类型输入的流程,例如 webhook 事件、文件上传或文本输入,您可以 使用 Langflow API 触发流程,然后在适用时打开 Playground 来查看流程运行的 LLM 活动。
有关 Playground 工作原理的技术详细信息,请参阅 监控端点。
查看代理逻辑
如果您的流程有 Agent 组件,Playground 会打印代理使用的工具和每个工具的输出。
这有助于您监控代理的工具使用情况并理解代理响应背后的逻辑。
例如,以下代理使用连接的 fetch_content
工具执行网络搜索:
查看聊天历史
在 Playground 中,您可以查看流程的每个聊天会话的消息日志,包括时间戳、内容和发送者。
在 Playground 侧边栏中,找到您要查看的聊天会话,点击 选项,然后选择 消息日志。
消息日志将每个聊天消息的 Message
数据 分解。
点击消息日志中的任何单元格以查看该单元格的完整内容。
在 Playground 中修改记忆
为了帮助调试和测试您的流程,您可以在 消息日志 中编辑或删除单个消息。 例如,您可能想要删除在测试不再属于您流程的组件时发送的消息。
您还可以从侧边栏删除整个聊天会话:点击 选项,然后选择 删除。
如果您继续聊天会话或在多个聊天会话中保留记忆,修改记忆会影响聊天机器人响应的行为。
编辑消息日志会修改 Langflow 内部的 messages
表,这是默认的聊天记忆存储。
有关在 Langflow 中管理会话和聊天记忆的更多信息,请参阅 使用自定义会话 ID 和 记忆管理选项。
设置自定义会话ID
聊天会话通过会话ID(session_id
)进行标识,这是流程运行的一个唯一标识符。
默认会话ID是流程ID,这意味着一个流程的所有聊天消息都存储在同一个会话ID下,作为一个巨大的聊天会话。
如果您需要在多个流程运行中保留聊天上下文,或者在调试流程时区分不同的聊天会话,可以设置自定义的session_id
。
自定义会话ID在多种情况下很有用:
- 在一个流程有多个聊天会话的情况下分离聊天会话,例如一个可以同时处理多个用户交互的聊天机器人。
- 在跨多个流程运行继续聊天会话,或者从一个流程向另一个流程传递上下文时保留记忆。
- 区分同一流程中来自多个用户的活动。
- 在调试和测试流程时识别您自己的聊天会话。
您可以在可视化编辑器和编程方式中设置自定义会话ID。
- Visual editor
- Langflow API
在您的输入和输出组件中,使用会话ID字段:
- 点击要设置自定义会话ID的组件。
- 在组件的头部菜单中,点击 Controls。
- 启用会话ID。
- 点击关闭。
- 输入自定义会话ID。 如果该字段为空,流程将使用默认会话ID。
- 打开Playground,在您的自定义会话ID下开始聊天。
当您想要开始新的聊天会话,或者使用不同的会话ID继续之前的聊天会话时,请确保更改会话ID。
当您使用Langflow API触发流程时,在请求负载中包含session_id
参数。
例如:
_10curl -X POST "http://$LANGFLOW_SERVER_ADDRESS/api/v1/run/$FLOW_ID" \_10-H "Content-Type: application/json" \_10-H "x-api-key: $LANGFLOW_API_KEY" \_10-d '{_10 "session_id": "CUSTOM_SESSION_ID",_10 "input_value": "message",_10 "input_type": "chat",_10 "output_type": "chat"_10}'
此命令使用指定的session_id
启动新的聊天会话,或者如果存在具有该ID的会话,则检索现有的会话。
在生产环境中,考虑使用变量作为会话ID,而不是硬编码值。
例如,如果您想为认证用户保留上下文,用户ID可能是会话ID的一个有用变量。 或者,如果您希望每次聊天都是唯一的,您可能希望为每个会话ID自动生成UUID。
有关更多信息,请参阅使用会话ID管理组件之间的通信。
共享流程的Playground
可共享的Playground仅用于测试目的。 Playground不用于在应用程序中嵌入流程。有关在应用程序或网站中运行流程的信息,请参阅使用Langflow API触发流程。
可共享的Playground在Langflow Desktop中不可用。
可共享的Playground