智能路由FastAPI应用

一个基于LangGraph的生产级FastAPI应用,用于智能路由MCP工具和LLM生成,具备企业级架构模式,包括状态管理、MCP客户端集成和异步工具执行。

  • by CastleInc
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 CastleInc/MCP_Langgraph_App

使用说明

LangGraph MCP快速API应用程序

一个生产就绪的FastAPI应用程序,使用LangGraph在MCP工具和LLM生成之间进行智能路由。采用企业架构模式构建,包括适当的状态管理、MCP客户端集成和异步工具执行。

✨ 特性

  • 企业状态管理:GraphState通过全面的状态跟踪扩展了MessagesState
  • MCP客户端集成:具有异步会话管理的多服务器MCPClient
  • 工具执行器:用于工具编排的具有单例模式的SimpleMCPAgent
  • LangGraph工作流:初始化→ 路线→ (MCP工具|生成)→ 聚合
  • MCP工具:CVETetails和具有异步执行的MongoDB工具
  • Jinja2模板:结构化响应的自动模板渲染
  • Llama整合:使用Ollama和Llama模型进行LLM生成
  • 响应聚合器:智能地组合来自多个来源的输出

设置

  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境:
cp .env.example .env
# Edit .env with your configuration
  1. 启动Ollama(如果未运行):
ollama serve
ollama pull llama3.2
  1. 运行应用程序:
python main.py

API终点

  • POST /query -通过LangGraph工作流处理查询
  • GET /health -健康检查端点

📚 文档

示例用法

# Single CVE query
curl -X POST "http://localhost:8000/query" \
  -H "Content-Type: application/json" \
  -d '{"question": "What is CVE-2023-52341?"}'
# Multiple questions (MCP + LLM)
curl -X POST "http://localhost:8000/query" \
  -H "Content-Type: application/json" \
  -d '{"question": "What is the weather in Ireland and also what is CVE-2023-52341?"}'