说明一:这个GraphRAG示例Shiny APP根据从《银行会计核算业务规程》建立的知识图谱来回答问题。
对话中Agent会根据所提的问题选择是否查询知识图谱,如果是全局性的问题,会使用LangChain的GraphCypherQAChain
根据自然语言生成并执行Cypher查询语句来回答问题;如果是与具体条、款、会计分录相关的问题,
会通过向量搜索在知识图谱中查找最相关的文档来回答问题。因为是要求准确的回答,LLM受到指示,
如果不知道答案就回答不知道。所以RAG实际上是Prompt Engineering的一种形式,它有效克服了LLM的幻觉、知识缺失和知识截止的问题,
GraphRAG则通过使用知识图谱检索逻辑上深度相关的附加材料,让LLM的回答更准确更有深度,
更符合现实世界的客观事实与逻辑,更适用于法律、金融、医疗、教育等准确率要求很高的领域。
例如:
1、不需要检索知识图谱的普通聊天:
你好。
2、要检索知识图谱的全局查询问题:
银行会计核算业务规程里一共有多少章?请按原序号排序返回各章的汉字序号与名称原文。
3、要检索知识图谱的局部查询问题:
银行会计核算的记账原理是什么?
各类会计科目的余额记在借或贷的哪一方?
账务差错怎样更正?
现金存入分录是什么?
说明二:对话输出中在知识图谱的引用上有超链接,点击可以溯源查验。如果是引用了条或款,就在“溯源查验”页中显示具体的内容。
说明三:在对话开始之前,可以从页面底部的下拉列表中选择使用的LLM厂商。目前测试过的LLM中,
国产的LLM只有DeepSeek、阿里与百度在LangChain的集成中实现了工具绑定与调用的功能。
说明四:后端通过FastAPI提供RESTful API Agent调用,需要先登录FastAPI服务器,点击<登录>按钮用默认的
用户名与口令登录后才能进行对话等操作。点击<登出>退出登录并清空当前session的对话。
说明五: 你可以在快速检索与深度思考两种检索模式之间切换,深度思考模式会把用户的问题分解为一系列相关的子问题,
按顺序检索资料回答各个子问题,然后综合回答原始的问题,因此需要比较多的LLM调用,需要较长的时间,但是答案会更精准,
比较适合处理复杂的问题和包含多问的问题。
比如下面的问题:
哪些业务涉及到现金收付业务?具体会涉及到哪些会计分录及会计科目?
快速检索会直接回答问题,深度思考可能会把问题分解为以下的几个子问题再回答:
['银行会计业务规程中哪些条款或款项涉及现金收付业务?', '涉及现金收付业务的会计分录是什么?', '这些会计分录涉及哪些会计科目?']
对话记录
|   |
|   |
|   | |   |
|   |
|   |
|