基于 Spring Boot 4 + Spring AI + Neo4j 构建的智能仓储领域知识图谱管理与 AI 问答平台。支持思维导图式的知识图谱可视化、RAG 检索增强问答、AI 知识扩展、文档实体抽取、图谱质量分析等功能。
| 层级 | 技术 |
|---|---|
| 后端框架 | Spring Boot 4.0.6 / Java 25 |
| AI 能力 | Spring AI 2.0.0 (OpenAI 兼容接口) |
| 数据库 | Neo4j (Bolt 协议) |
| 前端 | 原生 HTML + ECharts + Tailwind CSS |
| 构建工具 | Maven (含 Maven Wrapper) |
root / category / detail 三级层次HAS_CHILD 父子关系、RELATED_TO 语义关联)| 功能 | 说明 |
|---|---|
| 知识卡片 | 为任意节点生成结构化知识卡 |
| 节点对比 | AI 对比分析 2+ 个节点的异同 |
| 路径查找 | 最短路径 + AI 业务含义解读 |
| 方案生成 | 输入业务场景,生成完整解决方案 |
| 会话管理 | 问答历史按 Session 存储、搜索、删除 |
| 用户反馈 | 对回答点赞/踩,统计平均分 |
| 审计日志 | 记录所有图谱变更的 before/after 快照 |
| 统计仪表盘 | 节点/关系数量、分类分布、热门节点、覆盖率雷达图 |
| 页面 | 路径 | 说明 |
|---|---|---|
| 知识图谱 | /index.html | 思维导图可视化 + AI 侧边栏 |
| AI 问答 | /ai.html | 全页聊天界面 + 会话管理 |
| 仪表盘 | /dashboard.html | 统计概览与图表 |
| 图谱分析 | /graph-analysis.html | 质量评分与补全建议 |
| 方案生成 | /solution.html | 业务场景方案生成 |
| 文档导入 | /doc-import.html | 文件/文本抽取实体 |
| 图谱导入 | /import.html | JSON 批量导入 |
| 审计日志 | /audit-logs.html | 变更日志查看 |
| Prompt 模板 | /prompt-templates.html | 模板 CRUD 管理 |
bolt://localhost:7687)编辑 src/main/resources/application.properties:
# Neo4j
spring.neo4j.uri=bolt://localhost:7687
spring.neo4j.authentication.username=neo4j
spring.neo4j.authentication.password=your_password
# AI 模型(OpenAI 兼容接口)
spring.ai.openai.api-key=your_api_key
spring.ai.openai.base-url=https://your-api-endpoint/v1
spring.ai.openai.chat.options.model=deepseek-v3.2
./mvnw spring-boot:run
打开浏览器访问 http://localhost:8080/index.html,首次访问会自动初始化种子知识图谱数据。
| Controller | 前缀 | 主要接口 |
|---|---|---|
AiController | /api/ai | POST /ask POST /ask/stream POST /expand POST /path POST /solution 等 |
MindMapController | /api/mindmap | GET / GET /search POST /node PUT /node/{id} DELETE /node/{id} GET /export/* |
ChatHistoryController | /api/chat-history | GET / GET /{sessionId} DELETE /{sessionId} GET /search |
ChatFeedbackController | /api/chat-feedback | POST / GET /stats GET /low-rated |
PromptTemplateController | /api/prompt-templates | GET / POST / PUT /{id} DELETE /{id} |
GraphStatsController | /api/stats | GET /overview GET /category-distribution GET /hot-nodes GET /coverage |
GraphAuditController | /api/audit-logs | GET / GET /entity/{entityId} |
ReportController | /api/reports | GET / |
src/main/java/com/james/neo/
├── SpringBootNeoApplication.java # 启动类
├── controller/ # REST 控制器
│ ├── AiController.java
│ ├── ChatFeedbackController.java
│ ├── ChatHistoryController.java
│ ├── GraphAuditController.java
│ ├── GraphStatsController.java
│ ├── MindMapController.java
│ ├── PromptTemplateController.java
│ └── ReportController.java
├── dto/ # 数据传输对象
├── entity/ # Neo4j 实体
│ ├── MindNode.java
│ ├── ChatHistory.java
│ ├── ChatFeedback.java
│ ├── PromptTemplate.java
│ ├── AnalysisReport.java
│ └── GraphAuditLog.java
├── repository/ # Neo4j Repository
├── service/ # 业务逻辑
│ ├── AiService.java
│ ├── RagService.java
│ ├── MindMapService.java
│ ├── KnowledgeExpansionService.java
│ ├── DocumentExtractionService.java
│ ├── GraphPathService.java
│ ├── GraphAnalysisService.java
│ ├── AutoClassificationService.java
│ ├── ChatHistoryService.java
│ ├── ChatFeedbackService.java
│ ├── PromptTemplateService.java
│ ├── GraphAuditService.java
│ ├── GraphStatsService.java
│ └── ScheduledTaskService.java
└── config/ # 配置类
src/main/resources/
├── application.properties # 应用配置
└── static/ # 前端页面
├── index.html
├── ai.html
├── dashboard.html
├── graph-analysis.html
├── solution.html
├── doc-import.html
├── import.html
├── audit-logs.html
└── prompt-templates.html
MIT