本源码包来自 agent-management-rag 工作分支,基线为本地 master 分支。交付包不包含 Git 历史、密钥、本地数据库、上传文件、日志、Python 虚拟环境、Node 依赖和 Java 构建产物。
主要新增页面:
/kb/rag:多源 RAG 问答运行台。/kb/rag-governance:Schema 授权、生成规则和动态 Few-shot 治理台。EXPLAIN;失败时结合 Schema 和脱敏错误自动修复一次,再次失败则终止。suggestedConfig 和 examples:
suggestedConfig 回填授权表单,人工点击“应用”后才生效。examples 导入后默认未审核,审核通过后才参与生成。建议预留至少 8 GB 内存;首次启动本地 BAAI/bge-m3 会下载约 2 GB 模型文件。
复制:
Copy-Item backend/src/main/resources/application.yml.example backend/src/main/resources/application.yml
至少检查这些环境变量:
$env:OPENAI_API_KEY="你的模型密钥"
$env:JASYPT_KEY="生产环境随机密钥"
$env:EMBEDDING_BRIDGE_PYTHON_PATH="python"
$env:RAG_AI_BRIDGE_ENABLED="true"
application.yml 不应提交或在环境之间直接传播真实密钥。
复制示例配置:
Copy-Item backend/rag-ai-bridge/.env.example backend/rag-ai-bridge/.env
Copy-Item backend/rag-ai-bridge/config.example.yaml backend/rag-ai-bridge/config.yaml
填写 .env 中的 OPENAI_API_KEY、NEO4J_PASSWORD,并按模型服务修改 config.yaml 的 model 和 base_url。
安装依赖:
python -m pip install -r backend/rag-ai-bridge/requirements.txt
python -m pip install -r backend/embedding-bridge/requirements.txt
docker-compose.yml 默认数据目录是 F:/Services/milvus-2.5.5/volumes。其他机器必须先覆盖:
$env:MILVUS_DATA_DIR="D:/Services/milvus/volumes"
docker compose up -d
端口:19530(gRPC)、9091(管理/健康接口)。
Neo4j 独立部署,不由当前 docker-compose.yml 创建:
docker run -d --name neo4j-community --restart unless-stopped `
-p 7474:7474 -p 7687:7687 `
-e NEO4J_AUTH=neo4j/请替换为强密码 `
-v neo4j_community_data:/data `
-v neo4j_community_logs:/logs `
-v neo4j_community_import:/var/lib/neo4j/import `
-v neo4j_community_plugins:/plugins `
neo4j:5-community
页面中保存图谱源时只保存连接配置;真正查询时才建立连接。
Windows 一键启动:
.\run.bat
脚本会检查 Docker、启动或复用 Milvus、启动 RAG AI Bridge、构建前后端并运行 Spring Boot。Neo4j 需要提前单独启动。
只构建:
.\run.bat build
手工构建:
Set-Location frontend
npm ci
npm run build
Set-Location ../backend
mvn clean package
java -jar target/agent-management-1.0.0.jar
默认地址和端口:
| 服务 | 地址/端口 |
|---|---|
| Web/Spring Boot | http://127.0.0.1:2438 |
| Embedding Bridge | 127.0.0.1:18732 |
| RAG AI Bridge | 127.0.0.1:18733 |
| Milvus | 127.0.0.1:19530 |
| Neo4j Browser | http://127.0.0.1:7474 |
| Neo4j Bolt | bolt://127.0.0.1:7687 |
Set-Location backend
mvn test
Set-Location rag-ai-bridge
python -m pytest -q
Set-Location ../../../frontend
npm ci
npm run build
当前交付前基线:Java 24 项测试、Python 8 项测试、前端生产构建均通过。
.\run.bat status
应看到 2438、18732、18733、19530、7474、7687 处于监听状态。
EXPLAIN/一次修复后执行或安全失败。master 的实体和 JPA 表;首次启动由 ddl-auto: update 自动创建。application.yml、H2 数据文件或 Neo4j/Milvus 卷直接覆盖。run.bat、前端路由/侧栏、Embedding Bridge 和数据源服务接口冲突。generationRules 是模型软约束;Java 只读校验、Schema 白名单和查询上限是硬约束。.git 与任何提交历史application.yml、.env、config.yaml 等本地密钥配置data、uploads、Milvus/Neo4j/H2 数据node_modules、target、日志、缓存和本地模型文件