☰
AI招投标评审系统
2026/9/25 21:26:17 网站建设 项目流程

招标文件审查与智能评标 AI 评审系统

面向商业化交付的 AI 招投标智能评审平台,支持SaaS 多租户与私有化部署双模运行。 核心能力:招标文件合规审查、围标串标检查、AI 智能辅助评标,支持按模块授权售卖、 自定义规则库/知识库、异步任务队列与对外 API。

本仓库为依据目录内设计文档搭建的项目框架(骨架),业务逻辑中标注TODO处为待实现项。

技术栈(《架构设计文档》2.4)

层级

技术

后端

Spring Boot 3.5.8 + Langchain4j(Java 17+)

认证鉴权

Sa-Token + JWT,MyBatis-Plus 多租户插件

业务库

MySQL 8.0(字段级多租户隔离 tenant_id)

向量库

PostgreSQL + pgvector(HNSW 索引,RAG 检索)

缓存/队列

Redis(会话、缓存、任务队列)

实时通信

WebSocket(任务进度)+ SSE(AI 流式输出)

前端

Vue 3 + TypeScript + Vite + Element Plus(Vben 风格)

部署

Docker Compose(MySQL / pgvector / Redis / Ollama)

目录结构

. ├── ai-bid-backend/ # 后端 Maven 多模块工程 │ ├── bid-common/ # 公共层:实体类、统一响应、租户上下文、模块编码 │ ├── bid-core/ # 核心层:业务服务、AI引擎(Langchain4j/RAG/pgvector)、 │ │ # 文档解析、任务队列、Mapper、多租户配置 │ ├── bid-gateway/ # 网关层:登录鉴权、License模块授权、接口限流拦截器 │ ├── bid-admin/ # 启动模块:REST控制器、SSE端点、全局异常、应用配置 │ └── pom.xml ├── ai-bid-frontend/ # 前端工程(Vue 3 + Vite + Element Plus) │ ├── src/api | views | router # 接口定义 / 页面视图 / 路由配置 │ └── ... ├── deploy/ # 部署目录(《打包部署文档》3.3) │ ├── docker-compose.yml # MySQL / pgvector / Redis / Ollama / 应用 / 前端 │ ├── .env.example # 环境变量模板 │ ├── nginx/nginx.conf # 反向代理 + WebSocket + SSE │ ├── deploy.sh # 一键部署脚本 │ └── init-sql/ # 数据库初始化(建表 + 向量扩展 + 初始数据) ├── *.pdf / *.png # 原始设计文档与架构图 └── README.md

核心框架能力

  • 多租户字段隔离:MybatisPlusConfig中TenantLineInnerInterceptor自动注入/过滤tenant_id;租户上下文由登录拦截器写入TenantContext(ThreadLocal)。

  • 模块授权:@RequireModule注解 +ModuleAuthInterceptor校验 License (模块编码:BID_REVIEW/COLLUSION_CHECK/BID_EVAL)。

  • AI 引擎:Langchain4jChatLanguageModel/EmbeddingModel抽象,云端 (DashScope/OpenAI)与本地(Ollama 兼容端点)通过配置切换;RagService(向量检索上下文组装)+PgVectorStoreService(pgvector 读写)。

  • 异步任务:提交任务即入 Redis 队列,TaskProcessor定时消费,按类型分发到 审查/评标/围串标检测服务。

  • 实时通信:/api/ws/taskWebSocket 端点 +/api/stream/chatSSE 流式端点。

  • 统一规范:统一响应{code, message, data}、分页pageNum/pageSize/total、 全局异常处理、操作审计表、接口限流(对外接口 60 次/分钟/租户)。

快速开始

开发环境(《打包部署文档》5.4)

  1. 准备 MySQL 8.0、PostgreSQL 15+(安装 pgvector 扩展)、Redis;

    依次执行deploy/init-sql/mysql/*.sql与deploy/init-sql/pg/*.sql。

  2. 后端:

    cd ai-bid-backend mvn spring-boot:run -pl bid-admin # 或 IDEA 启动 BidAdminApplication

    首次启动自动创建默认租户与管理员(admin / admin123)。

  3. 前端:

    cd ai-bid-frontend pnpm install pnpm dev # http://localhost:5173
  4. 配置 AI 模型:设置环境变量DASHSCOPE_API_KEY(或修改

    bid-admin/src/main/resources/application.yml中langchain4j配置)。

Docker 一键部署(《打包部署文档》5.1)

cd deploy cp .env.example .env # 填写密码与 API Key ./deploy.sh # 本地 Ollama 需加 --profile gpu

部署验证清单(《打包部署文档》9.2)

  • GET /actuator/health、/api/system/db-check、/api/system/ai-check

  • Swagger 接口文档:http://<host>:8080/swagger-ui.html

第三方系统对接(开放 API)

对外开放接口前缀/api/open/v1/**,支持:

  • 单点登录:POST /api/open/v1/auth/token(SSO Token 交换)

  • 新建项目:POST /api/open/v1/projects

  • 上传招投标文件:POST /api/open/v1/documents/tender/upload、/bid/upload

  • 招标文件审查:POST /api/open/v1/review/tender-check

  • 围标串标检查:POST /api/open/v1/collusion/check

  • AI 智能评标:POST /api/open/v1/review/bid-eval

鉴权方式:X-Api-Key或 SSO 交换后的AuthorizationToken。
完整对接说明、请求示例与错误码见docs/OPEN_API.md。

环境变量:OPEN_API_KEY、OPEN_API_TENANT_ID、OPEN_SSO_CLIENT_ID、OPEN_SSO_CLIENT_SECRET(见deploy/.env.example)。

数据库(《数据库设计文档》)

  • MySQLai_bid:24 张表,系统表sys_*(租户/用户/角色/权限/模块授权/许可证/日志), 业务表biz_*(项目/招标投标文件/评审任务与结果/规则/知识库/围串标)。

  • PostgreSQLai_bid_vector:knowledge_base_vector向量表 + HNSW 索引。

  • 规范:utf8mb4 / utf8mb4_general_ci,主键雪花算法,金额DECIMAL(18,2)。

注:原《数据库设计文档》PDF 末页截断(登录日志表不完整),sys_login_log等 少量字段按框架惯例补充并在 SQL 中标注;另补充了sys_user_role、sys_role_permission关联表以支撑权限模型。

  • Prompt 工程与审查结果结构化(含source_location原文定位约定)

  • 长文档切片(chunking)、BM25+向量混合召回与 Rerank

  • Word/Excel/OCR 解析器扩展

  • 围标串标:硬件指纹提取、文本两两相似度、报价规律分析、风险加权评分

  • AI 评标:评标模板建模、分项打分、专家评分对比

  • License 数字签名解析与定时校验、规则版本管理、审计日志切面

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询