WebUI
我们提供了一个简单的 WebUI 来可视化对话。
基本用法
使用 WebUI 之前需要安装
utu_agent_ui包。更多详情请参阅 安装。
安装 utu_agent_ui 后,WebUIAgents 类(来自 utu.ui.webui_agents)应该可以工作。这是一个简单的使用示例:
from utu.ui.webui_agents import WebUIAgents
webui = WebUIAgents(default_config="simple/base.yaml")
print(f"Server started at http://127.0.0.1:8848/")
webui.launch(ip="127.0.0.1", port=8848)
集成 WebUI 的示例
examples 目录包含一些供你尝试的示例。你可以运行 main_web.py 文件来启动 WebUI。例如:
python examples/data_analysis/main_web.py
默认情况下,WebUI 使用端口 8848 和 IP 127.0.0.1。你可以通过将以下配置添加到你的 .env 文件来自定义这些设置:
# =============================================
# frontend
# =============================================
UTU_WEBUI_PORT=8848
UTU_WEBUI_IP=127.0.0.1
如果你更改了默认端口或 IP,请确保更新前端配置中的 WebSocket URL 以匹配新设置。默认的 WebSocket URL 是 ws://localhost:8848/ws,你可以在前端页面的右上角找到并修改此设置。
WebUIChatbot (已弃用)
Warning
WebUIChatbot 类(来自 utu.ui.webui_chatbot)已弃用。请改用 WebUIAgents。
这是 WebUIChatbot 的一个简单使用示例:
from utu.ui.webui_chatbot import WebUIChatbot
from utu.agents import SimpleAgent
simple_agent = SimpleAgent(name="demo")
chatbot = WebUIChatbot(
simple_agent,
example_query="Hello, how are you?",
)
chatbot.launch(port=8848, ip="127.0.0.1")
它也适用于 OrchestraAgent。以下伪代码显示了基本用法:
from utu.agents import OrchestraAgent
from utu.ui.webui_chatbot import WebUIChatbot
# ... 加载配置 ...
orchestra_agent = OrchestraAgent(config=config)
chatbot = WebUIChatbot(
orchestra_agent,
example_query="Hello, how are you?",
)
chatbot.launch(port=8848, ip="127.0.0.1")
安装
我们在 utu_agent_ui 包中提供了静态网页,可以通过 pip install 预构建的 wheel 文件或从源代码编译来安装。
安装预构建的 *.whl 文件
从 releases 下载预构建的 wheel 文件 (utu_agent_ui-0.3.0-py3-none-any.whl) 并运行以下命令:
uv pip install utu_agent_ui-0.3.0-py3-none-any.whl
从源代码编译
编译前,请确保你已安装 npm。
cd 到 utu/ui/frontend 目录并运行以下命令:
npm install
uv pip install build
bash ./build.sh
wheel 文件将在 build 目录中。请参阅 安装预构建的 *.whl 文件 来安装它。
实现细节
WebUIAgents 类基本上是一个基于 tornado 的 WebSocket 服务器,它将模型响应转换为 JSON 事件,并通过 WebSocket 连接将它们发送到前端。
前端(在 utu/ui/frontend 中,或作为 utu_agent_ui 包安装)是一个 React 应用程序,它可视化事件,并为用户提供与智能体交互的简单 UI。
你可以通过设置 UTU_WEBUI_PORT 和 UTU_WEBUI_IP 环境变量(默认:127.0.0.1:8848)来自定义 WebUIAgents 的端口和 IP。默认的 WebSocket URL 是 ws://localhost:8848/ws,你可以在前端页面的右上角找到并修改此设置。
对于开发,你可以设置 UTU_WEBUI_AUTOLOAD=true 以启用 tornado 服务器的自动重载。