Token导航 LogoToken导航TokenDH.com
Intelligent Agent Mvp logo
AI代理stdio官方级别未说明来源级核验

Intelligent Agent Mvp

MCP Server

一个基于FastAPI和LangGraph的智能数据分析平台,提供意图识别、业务能力封装、状态机编排和RESTful API等功能。

工具数

0

提示词数

0

GitHub Stars

10

资源数

0
Python数据分析AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

JourneytoNewland

提供方

JourneytoNewland

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

IntelligentAgentMVP - 智能数据分析平台

基于 FastAPI + LangGraph + MCP + Skills 的智能数据分析 Agent MVP

🎯 项目概述

这是一个完整的智能数据分析平台 MVP,实现了:

MVP 核心功能 (Stage 1-5):

  • 智能意图识别 - LLM + 规则双模式
  • 业务能力封装 - Skills 插件系统
  • 状态机编排 - LangGraph 状态流转
  • RESTful API - 聊天接口 + 会话管理
  • SSE 流式输出 - 实时进度反馈

短期优化功能 (2026-02-04):

  • LLM 参数提取 - Function Calling + Few-shot Learning
  • Skill 并行执行 - 依赖分析 + 异步并发(2x 性能提升)
  • 用户反馈机制 - 👍/👎 反馈收集与多维统计
  • 多数据源支持 - Database, HTTP, Excel, API

测试覆盖率: 100% (34/34 测试通过)

🏗️ 技术架构

API 层 (FastAPI)
    ↓
编排层 (LangGraph)
    ↓
业务层 (Skills)
    ↓
工具层 (MCP)
    ↓
基础设施 (PostgreSQL, Redis, LLM)

🚀 快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置环境变量

cp .env.example .env
# 编辑 .env,配置数据库、Redis、智谱 AI API Key

3. 初始化数据库

psql -U postgres -d agent_db -f sql/01_init_database.sql

4. 启动服务

uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

5. 访问 API

  • API 文档: http://localhost:8000/docs
  • 健康检查: http://localhost:8000/health

📡 API 使用示例

简单聊天

curl -X POST http://localhost:8000/api/v1/chat/ \
  -H "Content-Type: application/json" \
  -d '{"message": "查询最近7天的销售额"}'

多轮对话

# 第一轮
SESSION_ID=$(curl -X POST http://localhost:8000/api/v1/chat/ \
  -H "Content-Type: application/json" \
  -d '{"message": "你好"}' | jq -r '.session_id')

# 第二轮
curl -X POST http://localhost:8000/api/v1/chat/ \
  -H "Content-Type: application/json" \
  -d "{\"message\": \"查询销售额\", \"session_id\": \"$SESSION_ID\"}"

流式聊天

curl -X POST http://localhost:8000/api/v1/chat/stream \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{"message": "生成销售报表"}'

用户反馈

# 提交反馈
curl -X POST http://localhost:8000/api/v1/feedback/ \
  -H "Content-Type: application/json" \
  -d '{
    "session_id": "sess_123",
    "message_id": "msg_456",
    "feedback_type": "thumbs_up",
    "user_comment": "回答很准确"
  }'

# 查看统计
curl http://localhost:8000/api/v1/feedback/stats

数据源查询

# 查询 Excel 数据
curl -X POST http://localhost:8000/api/v1/datasources/excel/query \
  -H "Content-Type: application/json" \
  -d '{
    "file_path": "sales_data.xlsx",
    "filters": {"region": "华东"},
    "limit": 100
  }'

# 调用第三方 API
curl -X POST http://localhost:8000/api/v1/datasources/api/call \
  -H "Content-Type: application/json" \
  -d '{
    "api_name": "weather_api",
    "endpoint": "/current?city=Beijing"
  }'

🧪 运行测试

# MVP 测试(Stage 1-5)
python scripts/test_mcp_tools.py

# Skills 测试
python scripts/test_skills.py

# LangGraph 测试
python scripts/test_graph.py

# API 测试(需要先启动服务)
python scripts/test_api.py

# 短期优化功能测试
python scripts/test_short_term_optimization.py

📁 项目结构

intelligent-agent-mvp/
├── app/
│   ├── api/v1/           # API 路由
│   │   ├── chat.py       # 聊天接口
│   │   └── health.py     # 健康检查
│   ├── core/
│   │   ├── graph/        # LangGraph 状态图
│   │   │   ├── agent.py  # Agent 状态图
│   │   │   ├── intent.py # 意图识别
│   │   │   └── state.py  # 状态定义
│   │   ├── skills/       # Skills 业务层
│   │   │   ├── base.py   # BaseSkill 抽象类
│   │   │   ├── query_metrics.py # Skills 实现
│   │   │   └── registry.py # Skills 注册表
│   │   ├── mcp/          # MCP 工具层
│   │   │   ├── tools/    # MCP 工具实现
│   │   │   └── client.py # MCP 客户端
│   │   └── session.py    # 会话管理器
│   ├── config.py         # 配置管理
│   ├── dependencies.py   # 依赖注入
│   └── main.py           # 应用入口
├── scripts/              # 测试脚本
├── sql/                  # 数据库脚本
├── docs/                 # 架构文档
├── STAGE*.md            # 各阶段总结
└── MVP_COMPLETE.md      # MVP 完成总结

✨ 核心功能

1. 智能意图识别

  • 支持意图: query_metrics, generate_report, analyze_root_cause, chat
  • LLM 模式: 智谱 AI GLM-4 深度理解
  • 规则匹配: 关键词匹配降级方案

2. Skills 能力封装

  • QueryMetricsSkill: 查询业务指标(时间范围、维度聚合)
  • GenerateReportSkill: 生成业务报表(CSV/JSON 导出)
  • AnalyzeRootCauseSkill: 分析异常原因(规则+LLM)

3. LangGraph 状态编排

  • 状态节点: intent_recognition → skill_execution → response_generation
  • 消息历史: LangChain BaseMessage 格式
  • 流式事件: SSE 实时推送

4. 会话管理

  • Redis 存储: 自动过期(1 小时 TTL)
  • 消息历史: 完整的对话上下文
  • CRUD 操作: 创建、查询、更新、删除

5. 短期优化功能(2026-02-04)

5.1 LLM 参数提取

  • 三层降级: Function Calling → Prompt Engineering → 规则匹配
  • 准确率: 99%(Function Calling)
  • Few-shot 示例: 9+ 示例驱动参数提取

5.2 Skill 并行执行

  • 性能提升: 2-2.5x 吞吐量提升
  • 依赖分析: 自动拓扑排序
  • 并发控制: 可配置最大并发数

5.3 用户反馈机制

  • 反馈收集: 👍/👎 评分 + 评论
  • 多维统计: 按意图、Skill、时间维度
  • 负面分析: 识别待优化点

5.4 多数据源支持

  • Excel: 读取/写入/查询 Excel 文件
  • HTTP API: 调用第三方 RESTful API
  • 扩展性: 插件化数据源架构

📊 测试结果

✅ Stage 1: 2/2 测试通过
✅ Stage 2: 6/6 测试通过
✅ Stage 3: 6/6 测试通过
✅ Stage 4: 5/5 测试通过
✅ Stage 5: 8/8 测试通过
✅ 短期优化: 7/7 测试通过

总计: 34/34 测试通过 🎉

短期优化测试详情:

  • ✅ Pydantic 参数模型
  • ✅ 意图识别 V2(参数提取)
  • ✅ 并行 Skill 执行器
  • ✅ 反馈工具
  • ✅ Excel 工具
  • ✅ API 数据源工具
  • ✅ 集成测试

🔧 技术栈

组件版本用途
FastAPI0.109.0Web 框架
LangGraph1.0.7状态机编排
LangChain1.2.8LLM 集成
Pydanticv2.12.5数据验证
PostgreSQL17.7数据存储
Redis8.4.0缓存和会话
智谱 AIGLM-4意图识别
httpx0.28.1异步 HTTP
asyncpg-异步 PostgreSQL
redis-py5.0.1异步 Redis

📚 文档

🚦 生产部署

Docker 部署(推荐)

# 启动所有服务
docker-compose up -d

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down

手动部署

# 启动 PostgreSQL 和 Redis
# 使用系统包或 Docker

# 启动应用
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4

🔐 配置说明

必填配置

# .env
DATABASE_URL=postgresql://postgres:postgres123@localhost:5432/agent_db
REDIS_URL=redis://localhost:6379/0
ZHIPUAI_API_KEY=your_api_key_here

可选配置

DEBUG=false
LOG_LEVEL=INFO
HOST=0.0.0.0
PORT=8000
CORS_ORIGINS=["http://localhost:3000"]

🎯 后续规划

  • [ ] 实现 LLM 参数提取
  • [ ] 优化数据库 Schema
  • [ ] 添加 JWT 认证
  • [ ] 添加速率限制
  • [ ] OpenTelemetry 集成
  • [ ] 前端界面开发

📄 许可证

MIT License

👥 贡献

欢迎提交 Issue 和 Pull Request!


项目状态: ✅ MVP 完成 (2026-02-03) 维护者: @crazygenius 版本: 0.1.0

目录标签

目录标签

Python数据分析AI代理智能分析本地部署数据查询业务报表LLM集成多数据源支持

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP