图结构查询与工具调用
这篇把两个相对独立的功能放在一起讲:一个是基于 Neo4j 的文档结构图查询,另一个是 ReAct Agent 的工具调用能力。
图结构查询引擎
文档的层级结构(章节 → 子章节 → 条目/步骤)存储在 Neo4j 图数据库里。当用户问"下一章是什么""这个章节有哪些内容"这类结构性问题时,系统不走 RAG 检索,而是直接查图。
StructureGraphQueryEngine
包路径: org.javaup.ai.chatagent.rag.service
这是图查询的高层封装,提供面向业务的查询方法。
| 方法 | 返回值 | 说明 |
|---|---|---|
findSectionWithChildren(documentId, topic) | GraphSectionWithChildren | 按话题名查找章节及其子节点 |
findSectionWithChildren(documentId, sectionNodeId) | GraphSectionWithChildren | 按节点ID查找章节及其子节点 |
findSectionWithSiblings(documentId, sectionNodeId) | GraphSectionWithSiblings | 查找章节的兄弟节点(上一章/下一章) |
findItemInSection(documentId, sectionTopic, itemIndex) | GraphItemWithContext | 按话题名+序号查找具体条目 |
findItemInSection(documentId, sectionNodeId, itemIndex) | GraphItemWithContext | 按节点ID+序号查找具体条目 |
searchItemsInSection(documentId, sectionNodeId, keyword) | List<GraphItem> | 在章节内按关键词搜索条目 |
buildGraphResult(documentId, targetSectionNodeId, targetItemIndex, itemKeyword) | GraphQueryResult | 构建完整的图查询结果(供执行器使用) |
付费内容提示
该文档的全部内容仅对「JavaUp项目实战&技术讲解」知识星球用户开放
加入星球后,你可以获得:
- 超级八股文:100万+字的全栈技术知识库,涵盖技术核心、数据库、中间件、分布式等深度剖析的讲解
- 讲解文档:超级AI智能体、黑马点评Plus、大麦、大麦pro、大麦AI、流量切换、数据中台的从0到1的详细文档
- 讲解视频:超级AI智能体、黑马点评Plus、大麦、大麦pro、大麦AI、流量切换、数据中台的核心业务详细讲解
- 1 对 1 解答:可以对我进行1对1的问题提问,而不仅仅只限于项目
- 针对性服务:有没理解的地方,文档或者视频还没有讲到可以提出,本人会补充
- 面试与简历指导:提供面试回答技巧,项目怎样写才能在简历中具有独特的亮点
- 中间件环境:对于项目中需要使用的中间件,可直接替换成我提供的云环境
- 面试后复盘:小伙伴去面试后,如果哪里被面试官问住了,可以再找我解答
- 远程的解决:如果在启动项目遇到问题,本人可以帮你远程解决
进入星球后,即可享受上述所有服务,保证不会再有其他隐藏费用。
