Playground
Playground 是一个动态界面,旨在与 LLM 进行实时交互,允许用户聊天、访问记忆以及监控输入和输出。在这里,用户可以直接对其模型进行原型设计,进行调整并观察不同的结果。
只要您有一个工作的 输入或输出 组件,您就可以通过点击 Playground 按钮打开它。Playground 的窗口布局会根据使用的组件而变化。
在 Playground 中运行流程
当您在 Playground 中运行流程时,Langflow 会调用 chat.py 中的 /build/{flow_id}/flow
端点。此调用会检索流程数据,构建图并执行该图。执行每个组件(或节点)时,build_vertex
函数会调用 build_and_run
,如果存在,该函数可能会调用单个组件的 def_build
方法。如果组件没有 def_build
函数,构建仍会返回一个组件。
build
函数允许组件在运行时执行逻辑。例如,Recursive character text splitter 是 LCTextSplitterComponent
类的子类。当需要处理文本时,将调用父类的 build
方法,该方法会创建一个 RecursiveCharacterTextSplitter
对象,并使用它根据定义的参数拆分文本。拆分后的文本然后传递给下一个组件。这一切都发生在构建组件时。
按会话 ID 查看 Playground 消息
当您从 Playground 界面发送消息时,交互会按 session_id
存储在 消息日志 中。单个流程可以有多个聊天,不同流程可以共享同一聊天。每个聊天都有不同的 session_id
。
要在 Playground 中按 session_id
查看消息,请点击任何聊天会话的菜单,然后选择 消息日志。
可以编辑或删除聊天记忆中的单个消息。修改这些记忆会影响聊天机器人响应的行为。
要了解有关 Langflow 中聊天记忆的更多信息,请参阅 记忆组件。
为多个用户交互使用自定义会话 ID
session_id
值用于跟踪流程中的用户交互。默认情况下,如果 session_id
值为空,则将其设置为与 flow_id
相同的值。在这种情况下,每个聊天调用都使用相同的 session_id
,您实际上只有一个聊天会话。
session_id
值可以在 聊天输入 和 聊天输出 组件的 高级设置 中配置。
要在单个流程中有多个会话,请在 URL 中使用 session_id
参数向流程传递特定的会话 ID。流程中的所有组件都会自动使用此 session_id
值。
要使用 curl 将带有特定会话 ID 的消息发布到流程,请输入以下命令
_10curl -X POST "http://127.0.0.1:7860/api/v1/run/$FLOW_ID" \_10-H 'Content-Type: application/json' \_10-d '{_10"session_id": "custom_session_123",_10"input_value": "message",_10"input_type": "chat",_10"output_type": "chat"_10 }'
检查您的流程的 Playground。除了为默认会话存储的消息外,还会使用您的自定义会话 ID 启动一个新会话。
在 Playground 中使用图像
Playground 支持处理 base64 格式的图像,允许您直接在流程中使用图像数据。
Playground 接受以下图像格式
- PNG
- JPG/JPEG
- GIF
- BMP
- WebP
您可以通过以下几种方式在 Playground 中处理 base64 图像
- 直接上传:使用聊天界面中的图像上传按钮直接上传图像。
- 拖放:将图像文件拖放到聊天界面中。
- 程序化输入:通过 API 发送 base64 编码的图像。
此示例演示如何使用 curl 将 base64 编码的图像发送到 Playground
_10curl -X POST "http://127.0.0.1:7860/api/v1/run/$FLOW_ID" \_10-H 'Content-Type: application/json' \_10-d '{_10"session_id": "custom_session_123",_10"input_value": "What is in this image?",_10"input_type": "chat",_10"output_type": "chat",_10"files": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUAA..."]_10}'
图像会显示在聊天界面中,并可由您的流程组件处理。