Skip to content

jiangbingo/bingo_ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI项目统一工程模板

基于三个月路线图的AI项目统一工程模板,实现了RAG、推理优化、LoRA微调和智能体等核心功能模块。

🎯 项目概述

本项目按照压缩版学习计划中的"三个月路线图"进行开发,涵盖以下核心模块:

📅 三个月路线图

月份 核心目标 关键输出 技术重点
第1月 推理基础+工程化 统一工程模板+高性能RAG Transformer+KV Cache+vLLM+DevContainer
第2月 微调训练体系 LoRA微调框架+训练数据构建 PEFT+LoRA+数据工程+评估体系
第3月 Agent系统+优化 Agent基础框架+工具集成 ReAct+工具调用+推理优化

🏗️ 项目架构

src/
├── rag/                          # RAG引擎模块
│   ├── document_processing/      # 文档处理
│   │   ├── __init__.py
│   │   └── processor.py         # DocumentProcessor类
│   ├── embedding/               # 嵌入服务
│   │   ├── __init__.py
│   │   └── service.py          # EmbeddingService类
│   ├── retrieval/              # 向量检索
│   │   ├── __init__.py
│   │   └── retriever.py        # VectorRetriever类
│   └── __init__.py             # RAG模块导出
├── inference/                    # 推理优化模块
│   ├── optimization/            # 推理优化
│   │   ├── __init__.py
│   │   └── optimizer.py        # InferenceOptimizer类
│   ├── servers/                # 推理服务
│   │   ├── __init__.py
│   │   └── api.py              # InferenceServer类
│   └── __init__.py            # 推理模块导出
├── finetune/                   # 微调训练模块
│   ├── data/                   # 数据处理
│   │   ├── __init__.py
│   │   └── processor.py        # DataProcessor类
│   ├── models/                 # 模型定义
│   │   ├── __init__.py
│   │   └── lora_model.py      # LoRAModel类
│   ├── training/               # 训练逻辑
│   │   ├── __init__.py
│   │   └── trainer.py         # LoRATrainer类
│   └── __init__.py            # 微调模块导出
├── agent/                      # 智能体模块
│   ├── tools/                  # 工具管理
│   │   ├── __init__.py
│   │   └── tool_manager.py    # ToolManager类
│   ├── workflows/              # 工作流
│   │   ├── __init__.py
│   │   └── agent_workflow.py  # AgentWorkflow类
│   └── __init__.py            # 智能体模块导出
└── app/                        # 应用层(原有)
    ├── __init__.py
    ├── config.py
    ├── main.py
    ├── models.py
    └── services.py

main.py                         # 主应用入口
requirements.txt               # 项目依赖

🚀 快速开始

1. 环境准备

# 使用 Makefile 安装依赖(推荐)
make install

# 或者手动创建虚拟环境并安装依赖
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate   # Windows
pip install -r requirements.txt

2. 运行演示

# 运行主应用,演示各模块功能(推荐)
make run

# 或者直接运行演示脚本
python scripts/demo.py

3. 启动文档服务

# 启动文档服务(支持热重载)
make docs-serve

# 开发模式(忽略警告)
make docs-serve-dev

# 构建静态文档
make docs-build

# 查看所有可用命令
make help

访问 http://localhost:8001/bingo_ai/ 查看项目文档,编辑 docs/ 目录下的文件会自动刷新浏览器。

📖 模块功能详解

RAG模块 (rag/)

核心功能:文档处理、文本嵌入、向量检索

  • DocumentProcessor: 支持TXT、MD、PDF格式文档的加载和分块
  • EmbeddingService: 基于sentence-transformers的文本嵌入服务
  • VectorRetriever: 支持Milvus向量数据库和内存存储的检索

推理优化模块 (inference/)

核心功能:模型推理优化、API服务

  • InferenceOptimizer: 支持vLLM和标准Transformers的推理优化
  • InferenceServer: 基于FastAPI的推理服务,支持批量生成

微调训练模块 (finetune/)

核心功能:LoRA微调、数据处理、训练管理

  • DataProcessor: 支持多种格式的训练数据处理
  • LoRAModel: 基于PEFT的LoRA模型实现
  • LoRATrainer: 完整的训练流程管理

智能体模块 (agent/)

核心功能:工具管理、工作流编排、对话管理

  • ToolManager: 工具注册、管理和执行
  • AgentWorkflow: 智能体推理和任务执行流程

🔧 开发指南

第1月:推理基础+工程化

已完成

  • 统一工程模板目录结构
  • RAG引擎基础框架
  • 推理优化模块
  • 核心配置文件

第2月:微调训练体系

已完成

  • LoRA微调框架
  • 数据处理模块
  • 训练流程管理

第3月:Agent系统+优化

已完成

  • 智能体基础框架
  • 工具管理系统
  • 工作流编排

🧪 测试和验证

# 运行所有测试(推荐)
make test

# 代码质量检查
make lint

# 代码格式化
make format

# 查看所有可用命令
make help

📚 学习资源

🤝 贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🆘 支持

如果您遇到问题或有建议,请通过以下方式联系我们:

  • 创建 Issue
  • 发送邮件至项目维护者
  • 查看项目文档获取帮助

🎯 项目状态: 活跃开发中 | 📅 最后更新: 2024年

🔗 原有项目信息

本项目基于原有的后端转型AI工程师项目,保留了以下特性:

  • Web 框架: FastAPI
  • 容器化: Docker + Docker Compose
  • 开发环境: VS Code Dev Container
  • 代码质量: ruff, black, mypy
  • 测试: pytest

详细的历史信息请参考项目文档。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •