LLM副驾驶框架
面向生产的开源框架,适用于具有MCP编排、混合RAG、流式聊天和多代理工作流的开发人员副产品。
   
概述
该项目构建了一个行业级副驾驶平台,该平台结合了:
- MCP协议 用于工具路由和代理消息传递
- 混合动力RAG (向量+BM25)用于鲁棒检索
- 流媒体聊天 通过SSE
- 多代理工作流 (规划师→ 程序员→ 审稿人→ 测试仪)
- 可插拔工具 使用JSON模式验证
- 工作流编排 具有可追溯的执行步骤
- 插件系统 用于扩展和外部工具
- 评估工具 用于RAG回归检查
建筑
┌──────────────────────────────────────────────────────────────────────────────┐
│ Client Surfaces │
│ Web UI (React) • API Clients • (Optional) VS Code Extension • CLI │
└──────────────────────────────────────────────────────────────────────────────┘
↕
┌──────────────────────────────────────────────────────────────────────────────┐
│ API Gateway / FastAPI Layer │
│ Auth • CORS • Rate Limits • Request Validation • SSE Streaming │
└──────────────────────────────────────────────────────────────────────────────┘
↕
┌──────────────────────────────────────────────────────────────────────────────┐
│ MCP Protocol Layer │
│ Message Routing • Tool Registry • JSON Schema Validation • Tracing │
└──────────────────────────────────────────────────────────────────────────────┘
↕
┌──────────────┬────────────────┬────────────────┬─────────────────────────────┐
│ LLM Router │ RAG Memory │ Tool Agents │ Workflow Orchestrator │
│ Multi-LLM │ Hybrid Search │ MCP Executors │ Planner → Coder → Reviewer │
└──────────────┴────────────────┴────────────────┴─────────────────────────────┘
↕
┌───────────────────────┬───────────────────────┬──────────────────────────────┐
│ Vector DB (Weaviate) │ Embeddings Provider │ Plugin Manager + Manifests │
│ Hybrid (BM25+Vector) │ Groq/OpenAI/Hash │ Sandboxed tools & extensions │
└───────────────────────┴───────────────────────┴──────────────────────────────┘
↕
┌──────────────────────────────────────────────────────────────────────────────┐
│ Observability & Reliability Layer │
│ Structured Logs • Metrics • Traces • Eval Harness • Fallbacks │
└──────────────────────────────────────────────────────────────────────────────┘工作流体系结构
已实现的功能
MCP和工具
- 带有JSON模式验证的工具注册表
/api/v1/tools/specs用于工具发现- 高级工具:
- code_search (跨工作区的正则表达式搜索) - file_read (安全文件范围读取) - calculator (简单的理智工具)
工作流程编排
- 行业工作流端点:
/api/v1/agents/workflow - 跨计划、工具、审查和测试的可追溯步骤
多代理编排
- 规划师→ 编码员→ 审稿人→ 测试人员工作流程
- 端点:
/api/v1/agents/run - 带有工具编排的计划器:
/api/v1/agents/plan
RAG内存引擎
- Weaviate v4客户端
- 混合检索(矢量+BM25)
- 嵌入失败时自动回退到BM25
流媒体聊天
- SSE端点:
/api/v1/chat/stream - 聊天页面中的UI切换
LLM路由
- Groq+OpenAI提供商
- 默认提供程序可通过配置进行切换
插件和评估
- 带有清单加载的插件管理器
- 评估终点:
/api/v1/eval/rag
技术栈
后端
- FastAPI、媒染剂、织物
- Groq+OpenAI(LLM+嵌入)
- Redis(可选)
前端
- React+TypeScript+Vite
- TanStack查询+顺风
快速开始
后端(WSL)
cd /mnt/d/proj1/backend
poetry install
nohup poetry run uvicorn app.main:app --host 0.0.0.0 --port 8001 --reload > /tmp/backend.log 2>&1 &前端(Windows)
cd D:\proj1\frontend
npm install
npm run dev打开URL Vite打印(例如。,http://localhost:3002).
如果后端在端口8001上运行,请设置:
VITE_API_URL=http://localhost:8001环境
设置按键 后端/.env:
GROQ_API_KEY=your_key
OPENAI_API_KEY=optional
EMBEDDING_PROVIDER=groq测试高级功能
刀具计划器(MCP)
POST /api/v1/agents/plan
{"goal":"Find where MCPProtocol is defined and show the first 10 lines"}多代理运行
POST /api/v1/agents/run
{"goal":"Add a new endpoint to list tools with schemas"}流媒体聊天(SSE)
POST /api/v1/chat/stream
{"messages":[{"role":"user","content":"Say hello in one sentence."}]}混合RAG搜索
POST /api/v1/memory/search
{"query":"MCPProtocol","top_k":3,"mode":"hybrid"}路线图(下)
- MCP流媒体工具在UI中的跟踪
- VS代码扩展集成
- 基于角色的工具和插件访问控制
- 用于大规模索引的作业队列
- 可观察性仪表板和警报
生产硬化检查表(推荐)
- 具有范围工具权限的身份验证和授权
- 速率限制和请求配额
- 结构化日志记录、指标和分布式跟踪
- 用于索引和长时间运行任务的后台作业队列
- 持久项目元数据存储
- 秘密管理和环境隔离
贡献
看 贡献.md.
许可证
麻省理工学院——见 许可证.
