Skip to content

webwlsong/fastapi-agent-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

FastAPI Agent Framework

Python Version FastAPI License Code style: black

CI codecov Documentation PRs Welcome

企业级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+

快速开始

5分钟快速启动 🚀

详细步骤请查看 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

API文档

启动应用后访问:

📚 示例代码

查看 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部署

docker-compose up -d

生产环境配置

  1. 设置 APP_ENV=production
  2. 使用强密钥替换 SECRET_KEY
  3. 配置适当的速率限制
  4. 启用日志文件轮转
  5. 配置Prometheus监控

📚 完整文档

查看 docs/README.md 获取完整文档索引,包括:

🎯 当前状态

✅ 已实现

  • ✅ 核心架构(分层设计)
  • ✅ 多环境配置(dev/test/prod)
  • ✅ 全局错误处理
  • ✅ 请求日志中间件
  • ✅ Redis健康检查和重连
  • ✅ OpenAI聊天集成
  • ✅ 对话历史管理
  • ✅ 流式响应支持
  • ✅ 日志查询API
  • ✅ 命令行参数支持

🔄 开发中

  • 🔄 JWT认证系统
  • 🔄 速率限制中间件
  • 🔄 依赖注入优化
  • 🔄 Prometheus监控

📋 规划中

  • 📋 多Agent协作
  • 📋 插件系统
  • 📋 工具调用框架
  • 📋 完整测试覆盖

详见 docs/ARCHITECTURE.md 中的优化路线图

🤝 贡献

我们欢迎所有形式的贡献!

贡献者

感谢所有贡献者的付出!

📄 许可证

本项目采用 MIT License 许可证。

🔗 相关链接

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors