跳转至

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

cdutu/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_PORTUTU_WEBUI_IP 环境变量(默认:127.0.0.1:8848)来自定义 WebUIAgents 的端口和 IP。默认的 WebSocket URL 是 ws://localhost:8848/ws,你可以在前端页面的右上角找到并修改此设置。

对于开发,你可以设置 UTU_WEBUI_AUTOLOAD=true 以启用 tornado 服务器的自动重载。