多模型聚合代理

一个基于FastAPI后端和HTML/JS前端的多模型聚合代理,能够将用户提示分发到三个OpenAI聊天完成任务(主回复、情感分析和系统变量提取)并聚合结果展示。

  • by Archim-Nov
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Archim-Nov/CHAT-AGENT

使用说明

异步MCP聚合代理

一个受MCP启发的最小多模型聚合代理,具有FastAPI后端和普通HTML/JS前端。代理将用户提示分为三个OpenAI聊天完成任务(主回复、情感分析和系统变量提取),并汇总结果进行显示。

👉 想阅读中文简介?请查看 README_zh.md。

项目结构

.
├── requirements.txt
├── server
│   ├── agent.py
│   ├── llm_clients.py
│   ├── main.py
│   └── mcp_bus.py
└── web
    ├── app.js
    ├── index.html
    └── style.css

先决条件

  • Python 3.10+
  • 与OpenAI兼容的API端点和密钥(默认假设为OpenAI gpt-4o-mini)

如果使用环境默认值,请在运行服务器之前导出API密钥:

export OPENAI_API_KEY="sk-your-key"

安装

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

运行项目

  1. 启动FastAPI后端(项目使用端口 8850 默认情况下):

    uvicorn server.main:app --reload --port 8850
    

    API将于http://localhost:8850.

  2. 通过导航打开前端 web/index.html 在浏览器中(例如使用静态服务器或浏览器的文件://协议)。当从其他来源提供服务时,请确保CORS允许访问。

  3. 在 LLM API设置 面板,配置API基本URL、API键和可选的模型覆盖。这些设置保存到 sessionStorage 为了方便起见,并随每个请求一起发送,以便您可以使用任何OpenAI-format API网关。

  4. 输入一条消息,发送它,并查看聚合结果。

备注

  • 后端对OpenAI API执行异步调用并聚合响应。
  • server/llm_clients.py 包含用于不同逻辑任务的辅助类。
  • server/mcp_bus.py 模拟用于解耦处理程序执行的MCP事件总线。

开发技巧

  • 在中调整提示或模型 server/llm_clients.py 根据需要,或者根据前端设置面板的请求覆盖模型。
  • 您可以选择通过调用来预热客户端 warm_up_clients() 如果您想预飞行配置,请在启动时执行。

享受探索多模型聚合的乐趣!