logo
0
0
WeChat Login
changningbo<changningbo1995@gmail.com>
feat: 初始化智能仓储知识图谱与RAG问答系统

Spring Boot Neo — 智能仓储知识图谱 & RAG 问答系统

基于 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)

核心功能

1. 知识图谱管理

  • 思维导图式可视化(ECharts 树图 + 力导向图)
  • 节点 CRUD:支持 root / category / detail 三级层次
  • 节点间关系管理(HAS_CHILD 父子关系、RELATED_TO 语义关联)
  • 按分类 / 层级筛选、关键词搜索
  • 多格式导出(JSON / CSV / Markdown)与 JSON 导入
  • 内置种子数据:8 大分类、约 46 个知识点

2. RAG 智能问答

  • 多策略检索:关键词匹配 → 分词匹配 → 图谱扩展 → 分类回填
  • 检索结果构建上下文,调用大模型生成回答
  • 返回答案 + 引用来源 + 置信度
  • SSE 流式输出
  • 可配置 Prompt 模板(通用问答 / 深度分析 / 简洁回答 / 对比总结 / 创意方案)

3. AI 知识扩展

  • 为节点推荐子节点、关联节点、新分类分支
  • 自由文本扩展(输入领域描述,自动抽取知识点)
  • 推荐结果可逐条确认后写入图谱

4. 文档实体抽取

  • 支持文件上传(≤10MB)或文本粘贴
  • AI 自动分段、提取领域实体
  • 去重后可逐条接受或批量导入图谱

5. 图谱质量分析

  • 质量评分(缺失描述、子节点不足、缺少关联等维度)
  • AI 生成补全建议,一键采纳

6. 其他能力

功能说明
知识卡片为任意节点生成结构化知识卡
节点对比AI 对比分析 2+ 个节点的异同
路径查找最短路径 + AI 业务含义解读
方案生成输入业务场景,生成完整解决方案
会话管理问答历史按 Session 存储、搜索、删除
用户反馈对回答点赞/踩,统计平均分
审计日志记录所有图谱变更的 before/after 快照
统计仪表盘节点/关系数量、分类分布、热门节点、覆盖率雷达图

前端页面

页面路径说明
知识图谱/index.html思维导图可视化 + AI 侧边栏
AI 问答/ai.html全页聊天界面 + 会话管理
仪表盘/dashboard.html统计概览与图表
图谱分析/graph-analysis.html质量评分与补全建议
方案生成/solution.html业务场景方案生成
文档导入/doc-import.html文件/文本抽取实体
图谱导入/import.htmlJSON 批量导入
审计日志/audit-logs.html变更日志查看
Prompt 模板/prompt-templates.html模板 CRUD 管理

快速开始

前置条件

  • JDK 25+
  • Neo4j 5.x(需启动并可访问 bolt://localhost:7687
  • 可选:OpenAI 兼容的 API Key(默认配置使用 DeepSeek)

1. 配置

编辑 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

2. 启动

./mvnw spring-boot:run

3. 访问

打开浏览器访问 http://localhost:8080/index.html,首次访问会自动初始化种子知识图谱数据。


API 概览

Controller前缀主要接口
AiController/api/aiPOST /ask POST /ask/stream POST /expand POST /path POST /solution
MindMapController/api/mindmapGET / GET /search POST /node PUT /node/{id} DELETE /node/{id} GET /export/*
ChatHistoryController/api/chat-historyGET / GET /{sessionId} DELETE /{sessionId} GET /search
ChatFeedbackController/api/chat-feedbackPOST / GET /stats GET /low-rated
PromptTemplateController/api/prompt-templatesGET / POST / PUT /{id} DELETE /{id}
GraphStatsController/api/statsGET /overview GET /category-distribution GET /hot-nodes GET /coverage
GraphAuditController/api/audit-logsGET / GET /entity/{entityId}
ReportController/api/reportsGET /

项目结构

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

About

基于 Spring Boot 4 + Spring AI + Neo4j 构建的智能仓储领域知识图谱管理与 AI 问答平台。支持思维导图式的知识图谱可视化、RAG 检索增强问答、AI 知识扩展、文档实体抽取、图谱质量分析等功能。

Language
HTML51.8%
Java48.2%