# bid-generator-llm-system **Repository Path**: mainiutech/bid-generator-llm-system ## Basic Information - **Project Name**: bid-generator-llm-system - **Description**: 基于大语言模型的标书内容生成系统的设计与实现 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-07-30 - **Last Updated**: 2026-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于大语言模型的标书内容生成系统 本项目是计算机科学与技术专业毕业设计项目,面向金融招投标场景,实现招标文件解析、企业知识库检索、合规规则检索、标书章节生成、合规检查和 Word 文档导出等功能。 系统采用 `Spring Cloud 平台层 + FastAPI AI 能力层 + Streamlit 演示前端` 的混合架构。平台层负责用户认证、RBAC 权限控制、项目管理、文件元数据、异步任务和服务编排;AI 能力层负责 LangChain RAG、Chroma 向量检索、大模型生成、合规校验和文档导出。 ## 技术架构 ```text 前端层:Streamlit 平台层:Spring Cloud Gateway + Auth User Service + Project Service AI 层:FastAPI + LangChain + Chroma 存储层:MySQL + Chroma + 本地文件系统 模型层:OpenAI-compatible API,默认接入阿里云百炼 Qwen ``` ## 主要功能 - 用户登录与 JWT 令牌认证 - 基于 `ADMIN`、`REVIEWER`、`STUDENT` 三角色的 RBAC 权限控制 - 管理员账号 CRUD:创建、查询、修改、重置密码、删除/禁用 - 标书项目创建与用户数据隔离 - 招标文件上传与结构化解析 - 企业知识库和合规规则库上传、切分、向量化和检索 - 基于 LangChain + Chroma 的双知识库 RAG 章节生成 - 大纲生成、单章节生成和一键多章节异步生成 - 需求覆盖率、风险表达和来源证据的合规检查 - Word 标书文档导出 - 演示数据、测试脚本和论文支撑文档 ## 项目结构 ```text main/ backend/ Spring Cloud 后端服务 gateway-service/ 网关服务 auth-user-service/ 用户认证与 RBAC 服务 project-service/ 项目、文件、任务与生成编排服务 ai-service/ FastAPI AI 服务 streamlit-app/ Streamlit 前端演示界面 docs/ 架构、数据库、接口、测试和答辩材料 scripts/ 启动、停止、测试和数据库初始化脚本 data/ 本地运行数据目录,运行产物默认不提交 docker-compose.yml 本地依赖服务配置 ``` ## 默认账号 | 账号 | 密码 | 角色 | 说明 | | --- | --- | --- | --- | | `admin` | `admin123` | `ADMIN` | 系统管理员,可管理用户和全部项目 | | `reviewer` | `reviewer123` | `REVIEWER` | 审核员,可查看项目、合规检查和导出 | | `student` | `student123` | `STUDENT` | 普通用户,可创建并维护自己的标书项目 | ## 本地启动 进入项目根目录: ```powershell cd d:\A_project\PROJECT1\main ``` 启动后端服务: ```powershell powershell -ExecutionPolicy Bypass -File .\scripts\start-local.ps1 ``` 启动前端: ```powershell python -m streamlit run .\streamlit-app\app.py --server.port 8501 ``` 访问地址: ```text 前端:http://127.0.0.1:8501 网关:http://127.0.0.1:18080 AI 服务:http://127.0.0.1:9000 ``` 停止本地服务: ```powershell powershell -ExecutionPolicy Bypass -File .\scripts\stop-local.ps1 ``` ## 数据库 系统使用 MySQL 保存用户、角色、项目、文件元数据、生成任务、章节结果和合规报告。 初始化脚本: ```text scripts/init_mysql.sql ``` 默认连接配置: ```text host: localhost port: 3306 database: bidgen username: root ``` 数据库设计说明见: ```text docs/database-design.md ``` ## 测试 AI 服务单元测试: ```powershell $env:PYTHONPATH="d:\A_project\PROJECT1\main\ai-service" python -m pytest ai-service\tests\test_workflow.py ``` Spring 后端编译: ```powershell .\tools\apache-maven-3.9.14\bin\mvn.cmd -f .\backend\pom.xml -DskipTests compile ``` 完整后端打包: ```powershell .\tools\apache-maven-3.9.14\bin\mvn.cmd -f .\backend\pom.xml -DskipTests package ``` ## 文档 - `docs/architecture.md`:系统总体架构 - `docs/database-design.md`:数据库设计 - `docs/interface-design.md`:接口设计 - `docs/sequence-diagrams.md`:核心流程时序图 - `docs/test-plan-and-report.md`:测试计划与测试报告 - `docs/demo-guide.md`:演示流程 - `docs/thesis-materials-index.md`:论文支撑材料索引 ## 说明 本项目采用 MySQL 保存结构化业务数据,Chroma 保存向量索引,本地文件系统保存上传文件和导出文档。提交代码时 `.env`、运行日志、上传文件、导出文件、向量库、构建产物和本地工具目录均已通过 `.gitignore` 排除。