使用说明
异步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
运行项目
-
启动FastAPI后端(项目使用端口 8850 默认情况下):
uvicorn server.main:app --reload --port 8850API将于http://localhost:8850.
-
通过导航打开前端
web/index.html在浏览器中(例如使用静态服务器或浏览器的文件://协议)。当从其他来源提供服务时,请确保CORS允许访问。 -
在 LLM API设置 面板,配置API基本URL、API键和可选的模型覆盖。这些设置保存到
sessionStorage为了方便起见,并随每个请求一起发送,以便您可以使用任何OpenAI-format API网关。 -
输入一条消息,发送它,并查看聚合结果。
备注
- 后端对OpenAI API执行异步调用并聚合响应。
server/llm_clients.py包含用于不同逻辑任务的辅助类。server/mcp_bus.py模拟用于解耦处理程序执行的MCP事件总线。
开发技巧
- 在中调整提示或模型
server/llm_clients.py根据需要,或者根据前端设置面板的请求覆盖模型。 - 您可以选择通过调用来预热客户端
warm_up_clients()如果您想预飞行配置,请在启动时执行。
享受探索多模型聚合的乐趣!
