Tagged

GRAPHRAG

A collection of 7 posts

GraphRAG 完全指南
GRAPHRAG

GraphRAG 完全指南

传统RAG改变了我们构建AI应用的方式。通过在生成答案前检索相关文档,它让LLM能够访问私有的、最新的知识。但存在一个根本性问题: vanilla RAG将数据视为孤立的文本块。它能找到语义上相似的内容,但会忽略关联的内容。 进入GraphRAG — 一种将知识图谱融入检索流程的范式,使LLM能够跨关系进行推理、遍历多跳连接,并在结构化、可解释的上下文中产生答案。 在本文中,我将带你了解什么是GraphRAG、为什么它重要、如何运作,以及如何构建一个完整的系统。我们将涵盖架构、代码、基础设施,以及投入生产前需要了解的权衡取舍。 1、什么是GraphRAG?GraphRAG(图检索增强生成)将知识图谱与大语言模型结合,创建了一个不仅理解数据内容,而且理解信息之间关系的检索系统。 在标准RAG流程中,你将文档分块、将它们嵌入为向量,并根据余弦相似度检索最相似的top-k块。这对于直接的事实查询效果很好——"我们的退款政策是什么?"但当答案需要综合多个文档的信息或推理实体间的关系时,它就失效了。 考虑这样一个问题:"哪些参与了Project Alpha的团队成员也贡献了任何Q3计划?" 向量搜索可能会分别检索到提及Project Alpha的块和提及Q3的块,但它无法将人、项目和时间线联系起来。GraphRAG通过将实体(人、项目、日期)

药物副作用问答系统
APPLICATION

药物副作用问答系统

虽然大多数人关注的是检索增强生成 (RAG) 对非结构化文本(例如公司文档或文件)的检索,但我对检索系统对结构化信息(尤其是知识图谱)的检索非常看好。GraphRAG 引起了很多关注,尤其是微软的实现。然而,在他们的实现中,输入数据是文档形式的非结构化文本,使用大型语言模型 (LLM) 将其转换为知识图谱。 在这篇博文中,我们将展示如何在包含来自 FDA 不良事件报告系统 (FAERS) 的结构化信息的知识图谱上实现检索器,该系统提供有关药物不良事件的信息。如果你曾经摆弄过知识图谱和检索,你的第一个想法可能是使用 LLM 生成数据库查询,以从知识图谱中检索相关信息来回答给定的问题。然而,使用 LLM 生成数据库查询仍在发展中,可能还不能提供最一致或最强大的解决方案。那么,目前有哪些可行的替代方案呢? 我认为,目前最好的解决方案是动态查询生成。这种方法不是完全依赖 LLM 来生成完整的查询,而是采用逻辑层,从预定义的输入参数确定性地生成数据库查询。可以使用具有函数调用支持的 LLM 来实现此解决方案。使用函数调用功能的优势在于能够向 LLM 定义它应该如何准备函数的结构化输入。这种方法确保查询生成过程是可控且一致的,