Skip to content

基于 LightRAG 和 RAG-Anything 的智能文档处理应用,专门用于解析招标文件、分析需求、检索相似历史标书,并自动生成高质量的应标文档。

Notifications You must be signed in to change notification settings

YoungMa962/BidAgents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BidAgents - 智能标书生成系统

基于 LightRAG 和 RAG-Anything 的智能文档处理应用,专门用于解析招标文件、分析需求、检索相似历史标书,并自动生成高质量的应标文档。

技术栈

前端

  • Vue 3 + TypeScript + Vite
  • Element Plus
  • Pinia + Vue Router
  • ECharts + pdf.js

后端

  • FastAPI + Python 3.10+
  • RAG-Anything(多模态文档解析)
  • LightRAG(知识图谱增强检索)
  • PostgreSQL + Neo4j + Qdrant + Redis
  • Celery + MinIO
  • DeepSeek API + BGE-M3

环境要求

  • macOS 12+ / Linux / Windows 10+
  • Docker Desktop
  • Node.js 18+
  • Python 3.12+(通过 pyenv 管理)
  • DeepSeek API Key

📖 详细搭建指南:请参阅 开发环境搭建文档


本地开发

1. 克隆项目

git clone https://github.com/your-org/BidAgents.git
cd BidAgents

2. 配置环境变量

cp .env.example .env

编辑 .env 文件,配置必要的环境变量:

# 数据库配置
POSTGRES_USER=bigagents
POSTGRES_PASSWORD=your-secure-password
POSTGRES_DB=bigagents

# Redis
REDIS_URL=redis://localhost:6379/0

# Neo4j
NEO4J_PASSWORD=your-neo4j-password

# MinIO
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=your-minio-secret

# DeepSeek API (必须配置)
DEEPSEEK_API_KEY=your-deepseek-api-key
DEEPSEEK_API_BASE=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-chat

# JWT
JWT_SECRET_KEY=your-jwt-secret-key

3. 启动基础服务

使用 Docker Compose 启动数据库和中间件:

# 仅启动基础服务(数据库、缓存等)
    docker-compose up -d postgres redis neo4j qdrant minio

4. 后端开发

cd backend

# 创建虚拟环境
    python3 -m venv venv
source venv/bin/activate

# 安装依赖
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt

# 初始化数据库
alembic upgrade head

# 启动开发服务器
uvicorn src.main:app --reload --host 0.0.0.0 --port 8000

后端 API 文档:http://localhost:8000/docs

5. 前端开发

cd frontend

# 安装依赖
npm install

# 启动开发服务器
npm run dev

前端开发地址:http://localhost:5173

6. 启动 Celery Worker(异步任务)

新开一个终端窗口:

cd backend
source venv/bin/activate
celery -A src.tasks worker --loglevel=info

Docker 部署

1. 配置环境变量

cp .env.example .env
# 编辑 .env 文件,配置生产环境变量

重要配置项:

变量 说明 示例
DEEPSEEK_API_KEY DeepSeek API 密钥 sk-xxx
POSTGRES_PASSWORD PostgreSQL 密码 强密码
NEO4J_PASSWORD Neo4j 密码 强密码
JWT_SECRET_KEY JWT 签名密钥 随机字符串
SECRET_KEY 应用密钥 随机字符串

2. 构建并启动所有服务

# 构建镜像并启动
docker-compose up -d --build

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f backend

3. 初始化数据库

# 进入后端容器执行数据库迁移
docker-compose exec backend alembic upgrade head

4. 访问服务

服务 地址 说明
前端 http://localhost Vue 应用
后端 API http://localhost:8000 FastAPI
API 文档 http://localhost:8000/docs Swagger UI
MinIO 控制台 http://localhost:9001 文件存储管理
Neo4j Browser http://localhost:7474 知识图谱可视化

服务架构

┌─────────────────────────────────────────────────────────────┐
│                        Nginx (前端)                          │
│                      http://localhost                        │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                    FastAPI (后端 API)                        │
│                   http://localhost:8000                      │
└─────────────────────────────────────────────────────────────┘
          │              │              │              │
          ▼              ▼              ▼              ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│  PostgreSQL  │ │    Redis     │ │    Neo4j     │ │   Qdrant     │
│   (主数据库)  │ │  (缓存/队列)  │ │  (知识图谱)   │ │  (向量数据库) │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
                       │
                       ▼
              ┌──────────────┐
              │Celery Worker │
              │  (异步任务)   │
              └──────────────┘
                       │
          ┌────────────┴────────────┐
          ▼                         ▼
┌──────────────┐           ┌──────────────┐
│    MinIO     │           │ DeepSeek API │
│  (文件存储)   │           │   (LLM)      │
└──────────────┘           └──────────────┘

常用命令

Docker 相关

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

# 停止所有服务
docker-compose down

# 重启单个服务
docker-compose restart backend

# 查看日志
docker-compose logs -f [service_name]

# 清理所有数据(谨慎使用)
docker-compose down -v

数据库迁移

# 生成迁移文件
alembic revision --autogenerate -m "description"

# 执行迁移
alembic upgrade head

# 回滚迁移
alembic downgrade -1

代码质量

# 后端
cd backend
black src/          # 代码格式化
isort src/          # 导入排序
flake8 src/         # 代码检查
pytest              # 运行测试

# 前端
cd frontend
npm run lint        # ESLint 检查
npm run format      # Prettier 格式化
npm run test        # 运行测试
npm run build       # 生产构建

故障排查

1. 数据库连接失败

# 检查 PostgreSQL 是否运行
docker-compose ps postgres

# 查看日志
docker-compose logs postgres

2. DeepSeek API 调用失败

  • 检查 DEEPSEEK_API_KEY 是否正确配置
  • 确认 API 余额是否充足
  • 检查网络连接

3. Celery 任务不执行

# 检查 Redis 连接
docker-compose exec redis redis-cli ping

# 查看 Celery Worker 日志
docker-compose logs celery-worker

4. 前端无法连接后端

  • 检查后端服务是否正常运行
  • 确认 Nginx 代理配置正确
  • 检查 CORS 配置

项目结构

BidAgents/
├── frontend/                # Vue 3 前端应用
│   ├── src/
│   │   ├── api/            # API 接口封装
│   │   ├── components/     # 公共组件
│   │   ├── layouts/        # 布局组件
│   │   ├── router/         # 路由配置
│   │   ├── stores/         # Pinia 状态管理
│   │   ├── types/          # TypeScript 类型定义
│   │   └── views/          # 页面组件
│   └── docker/             # 前端 Docker 配置
├── backend/                 # FastAPI 后端服务
│   ├── src/
│   │   ├── api/            # API 路由
│   │   ├── config/         # 配置管理
│   │   ├── core/           # 核心业务逻辑
│   │   ├── database/       # 数据库连接
│   │   ├── models/         # 数据模型
│   │   └── tasks/          # Celery 异步任务
│   ├── alembic/            # 数据库迁移
│   └── docker/             # 后端 Docker 配置
├── docker-compose.yml       # 服务编排
├── .env.example            # 环境变量模板
└── README.md

核心功能

  1. 文档上传与解析 - 支持 PDF、Word、Excel,多模态解析
  2. 需求分析与提取 - 自动识别技术要求、评分标准、资质要求
  3. 知识图谱构建 - 基于 LightRAG 的知识图谱增强检索
  4. 智能文档生成 - RAG 增强的内容生成,多格式导出
  5. 知识库管理 - 历史标书归档、模板管理、图谱可视化

许可证

MIT License

About

基于 LightRAG 和 RAG-Anything 的智能文档处理应用,专门用于解析招标文件、分析需求、检索相似历史标书,并自动生成高质量的应标文档。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published