haogx894-afk/flood-guard-agent

GitHub: haogx894-afk/flood-guard-agent

一款面向山洪灾害防御场景的AI辅助决策智能体,融合RAG知识库与知识图谱为基层防汛人员提供智能问答与分析研判。

Stars: 3 | Forks: 1

# 北京市山洪防御辅助决策智能体 一个面向山洪灾害防御场景的 AI 应用项目,融合 RAG 知识库、Neo4j 知识图谱和 Agent Tool Calling,辅助用户进行防洪预案查询、险村信息检索、监测站分析、转移路线研判和空间对象排查。 ## 登录界面(分为管理员和用户界面) ## 智能体思考界面 ![img_1.png](https://static.pigsec.cn/wp-content/uploads/repos/cas/38/38a4444c0a67e68ac7450834ee9a2de0a15a2a675546b78f2b944159d41d0b46.png) ## 智能体给出回答结果界面 ![img_2.png](https://static.pigsec.cn/wp-content/uploads/repos/cas/7c/7c2097fac058b4e4f1c8220ac59b089b1b1cc2f139bb32c04886a66abdcc4870.png) ## 知识库管理界面(管理员界面) ![img_3.png](https://static.pigsec.cn/wp-content/uploads/repos/cas/11/11b17e67d96c48bd9d321118d3890113c4596c2cff5291c9e0ef0d556366239f.png) ## 知识图谱界面 ![img_4.png](https://static.pigsec.cn/wp-content/uploads/repos/cas/81/8152fcc7fab6f90481fed76ad5da56ee6c72f0c4bfe3fc1f93d00ec337847089.png) ## 用户管理界面 ![img_5.png](https://static.pigsec.cn/wp-content/uploads/repos/cas/f6/f650ea55b523215925438fb46bf700fea5ff2546b52d199b8e6b4d9eb0a1e562.png) ## 知识库管理界面(普通用户界面) ![img_6.png](https://static.pigsec.cn/wp-content/uploads/repos/cas/ee/ee95a4202c55ed8d1207d96387c0531f37d3d7dc65c1429448b62118cbb18f99.png) ## 项目亮点 - 基于 `Spring AI` 构建智能体问答链路,支持 ReAct Agent、Tool Calling 和 SSE 流式响应。 - 基于 `PostgreSQL + pgvector` 搭建本地 RAG 知识库,支持 PDF 上传、切分、向量化、检索和重建。 - 基于 `Neo4j` 构建知识图谱,支持实体关系查询、多跳路径推理和图谱增强问答。 - 支持用户登录注册、管理员权限、用户级多轮对话历史和会话管理。 - 基于 `Vue3 + Axios` 开发前端页面,包含智能对话、知识库管理、文档管理和知识图谱可视化。 - 提供生产环境配置和 Dockerfile,便于云端部署。 ## 技术栈 ### 后端 - Java 17 - Spring Boot 3 - Spring AI - DashScope / 通义千问 - PostgreSQL - pgvector - Neo4j - JDBC - Docker ### 前端 - Vue3 - Vite - Axios - SSE - CSS 响应式布局 ## 功能模块 ### 智能体问答 - 山洪防御业务问答 - 防洪预案内容检索 - RAG 知识库增强回答 - Neo4j 知识图谱增强推理 - 工具调用与多步骤任务执行 - SSE 流式输出 ### 知识库管理 - PDF 文档上传 - 批量上传 - 文档切分与向量化 - pgvector 向量入库 - 文档重建 - 文档删除 - 防重复导入 ### 知识图谱 - 实体和关系统计 - 实体检索 - 关系检索 - 节点属性查看 - 关系属性查看 - 图谱可视化 - 多跳关系推理 ### 用户与会话 - 用户注册 - 用户登录 - 用户退出 - 管理员用户管理 - 多轮对话历史 - 用户级会话隔离 - 历史会话删除 - 30 天历史记录保留策略 ## 目录结构 hgx-ai-agent ├── src/main/java/com/hgx/hgxaiagent │ ├── agent # Agent 核心逻辑 │ ├── app # AI 应用封装 │ ├── chat # 对话历史模块 │ ├── config # 全局配置 │ ├── controller # 后端接口 │ ├── knowledge # 知识库文档管理 │ ├── knowledgegraph # Neo4j 知识图谱模块 │ ├── rag # RAG 与向量库配置 │ ├── tools # Tool Calling 工具 │ └── user # 用户模块 ├── src/main/resources │ ├── application.yml │ └── application-prod.yml ├── hgx-ai-agent-frontend # Vue3 前端项目 ├── Dockerfile # 后端 Dockerfile └── DEPLOYMENT_WECHAT_CLOUD.md ## 环境要求 - JDK 17+ - Maven 3.8+ - Node.js 20+ - pnpm - PostgreSQL 16+ - pgvector 扩展 - PostGIS 扩展,可选 - Neo4j 5.x ## 后端配置 生产环境使用环境变量配置,不要在代码中写真实密钥。 DASHSCOPE_API_KEY=your_dashscope_api_key DASHSCOPE_CHAT_MODEL=qwen-max SPRING_DATASOURCE_URL=jdbc:postgresql://your-postgres-host:5432/hgx_ai_agent SPRING_DATASOURCE_USERNAME=your_username SPRING_DATASOURCE_PASSWORD=your_password SPRING_NEO4J_URI=bolt://your-neo4j-host:7687 SPRING_NEO4J_USERNAME=neo4j SPRING_NEO4J_PASSWORD=your_password SEARCH_API_KEY=your_search_api_key KNOWLEDGE_STORAGE_DIR=/data/knowledge-documents PostgreSQL 需要开启扩展: CREATE EXTENSION IF NOT EXISTS vector; CREATE EXTENSION IF NOT EXISTS postgis; ## 本地启动 ### 启动后端 ./mvnw spring-boot:run Windows PowerShell: .\mvnw.cmd spring-boot:run 默认访问地址: http://localhost:8123/api ### 启动前端 cd hgx-ai-agent-frontend pnpm install pnpm dev 默认访问地址: http://localhost:5173 ## 主要接口 接口统一前缀: /api ### AI 智能体 GET /ai/manus/chat ### 用户模块 POST /user/register POST /user/login GET /user/current GET /user/search POST /user/delete POST /user/logout ### 对话历史 GET /chat/conversations POST /chat/conversations GET /chat/conversations/{conversationId}/messages DELETE /chat/conversations/{conversationId} ### 知识库文档 GET /knowledge/documents POST /knowledge/documents/upload POST /knowledge/documents/{documentId}/rebuild DELETE /knowledge/documents/{documentId} ### 知识图谱 GET /knowledge/graph/health GET /knowledge/graph/stats GET /knowledge/graph/search GET /knowledge/graph/nodes/{nodeId} GET /knowledge/graph/relationships/{relationshipId} GET /knowledge/graph/visualize ## Docker 部署 后端构建: docker build -t hgx-ai-agent-backend . 前端构建: cd hgx-ai-agent-frontend docker build -t hgx-ai-agent-frontend . 更多云托管部署说明见: DEPLOYMENT_WECHAT_CLOUD.md ## 项目状态 当前项目主要用于 AI 应用开发、Agent 开发、RAG 知识库和知识图谱增强问答方向的学习与实践。
标签:RAG, Spring Boot, Vue, 人工智能, 域名枚举, 文件系统扫描, 测试用例, 用户模式Hook绕过, 请求拦截, 防汛救灾