企业级AI Agent服务框架,基于FastAPI和Microsoft Agent Framework构建,支持多模型、多Agent协作、插件系统等高级功能。
🎯 项目状态: 生产就绪度 85% | 核心功能已完成 | 认证和速率限制开发中
- 🤖 OpenAI集成: 支持GPT-4、GPT-3.5等OpenAI模型
- 🔄 多Agent协作: 支持单Agent对话和多Agent协同工作
- 💬 对话管理: 完整的对话历史持久化和上下文维护
- ⚡ 流式响应: 基于SSE的实时流式输出
- 🔧 工具调用: 灵活的工具/函数调用能力
- 🔌 插件系统: 可扩展的插件架构
- 🔐 认证授权: JWT Token认证 + Refresh Token机制
- 🚦 速率限制: 多层级限流(IP/用户/端点)
- 📊 监控日志: Loguru结构化日志 + Prometheus指标 + 日志查询API
- 💾 高性能存储: Redis缓存和会话管理
- 🛡️ 安全性: 密码哈希、Token黑名单、配额管理
- Web框架: FastAPI 0.109+
- AI编排: Microsoft Agent Framework
- AI模型: OpenAI API (GPT-4, GPT-3.5)
- 缓存: Redis 5.0+
- 日志: Loguru
- 监控: Prometheus + Grafana
- 认证: JWT (python-jose)
- Python: 3.10+
详细步骤请查看 examples/docs/QUICKSTART.md
简要步骤:
# 1. 安装依赖
pip install -r requirements.txt
# 2. 配置环境变量(填入你的OpenAI API Key)
cp .env.example .env
# 3. 启动Redis
docker-compose up -d redis
# 4. 启动应用(开发环境)
./scripts/start.sh dev
# 或使用Python直接启动
python main.py --env dev
# 5. 运行Demo测试
python examples/basic_chat/demo_test.py支持开发、测试、生产三种环境,详见 docs/DEPLOYMENT.md
# 开发环境(单进程,DEBUG模式)
./scripts/start.sh dev
# 测试环境
./scripts/start.sh test
# 生产环境(4进程,WARNING日志)
./scripts/start.sh prod
# 自定义配置
python main.py --env prod --port 8080 --workers 8 --log-level INFO启动应用后访问:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
查看 examples/ 目录获取完整的使用示例:
- 基础聊天示例: 完整的AI对话应用,包括单轮对话、多轮对话、流式响应等
- 日志查询示例: 实时查看和监控应用日志
- 详细文档: API使用说明、架构设计、命令参考
运行示例:
cd examples/basic_chat
python demo_test.py查看日志API文档:
fastapi-agent-framework/
├── app/ # 应用主目录
│ ├── api/ # API路由层
│ ├── core/ # 核心配置
│ ├── middleware/ # 中间件(已实现:错误处理、日志)
│ ├── services/ # 业务逻辑层
│ ├── models/ # 数据模型
│ ├── schemas/ # Pydantic模式
│ ├── adapters/ # 模型适配器(OpenAI)
│ ├── repositories/ # 数据访问层(Redis)
│ └── utils/ # 工具函数
├── examples/ # 📚 示例代码和文档
├── tests/ # 单元测试
├── docs/ # 📖 完整文档
│ ├── README.md # 文档索引
│ ├── ARCHITECTURE.md # 架构设计和优化路线图
│ ├── DEPLOYMENT.md # 多环境部署指南
│ ├── LOGGING.md # 日志配置和使用
│ └── ... # 其他文档
├── scripts/ # 启动脚本
├── main.py # 应用入口
├── requirements.txt # 依赖列表
└── docker-compose.yml # Docker编排
详细结构请查看 docs/PROJECT_STRUCTURE.md
查看 .env.example 文件了解所有可配置项。
关键配置:
SECRET_KEY: JWT密钥(生产环境务必修改)OPENAI_API_KEY: OpenAI API密钥REDIS_HOST: Redis服务器地址
pytest tests/black app/
isort app/docker-compose up -d- 设置
APP_ENV=production - 使用强密钥替换
SECRET_KEY - 配置适当的速率限制
- 启用日志文件轮转
- 配置Prometheus监控
查看 docs/README.md 获取完整文档索引,包括:
- 🏗️ 架构设计和优化 - 架构审查和优化路线图
- 🚀 多环境部署 - dev/test/prod部署指南
- 📊 日志管理 - 日志配置和查询API
- 📖 项目结构 - 完整目录说明
- 🔧 Pydantic V2迁移 - 版本升级指南
- ✅ 核心架构(分层设计)
- ✅ 多环境配置(dev/test/prod)
- ✅ 全局错误处理
- ✅ 请求日志中间件
- ✅ Redis健康检查和重连
- ✅ OpenAI聊天集成
- ✅ 对话历史管理
- ✅ 流式响应支持
- ✅ 日志查询API
- ✅ 命令行参数支持
- 🔄 JWT认证系统
- 🔄 速率限制中间件
- 🔄 依赖注入优化
- 🔄 Prometheus监控
- 📋 多Agent协作
- 📋 插件系统
- 📋 工具调用框架
- 📋 完整测试覆盖
详见 docs/ARCHITECTURE.md 中的优化路线图
我们欢迎所有形式的贡献!
- 📖 阅读 贡献指南 了解如何参与
- 🐛 提交 Issue 报告问题
- 💡 参与 Discussions 讨论
- ⭐ 为项目点赞支持我们
感谢所有贡献者的付出!
本项目采用 MIT License 许可证。
- 文档: docs/README.md
- 更新日志: CHANGELOG.md
- 安全政策: SECURITY.md
- 行为准则: CODE_OF_CONDUCT.md