GraphRAG 将检索增强生成(RAG)与知识图相结合,以解决关键的 LLM 问题,如幻觉和缺乏特定领域上下文。
知识图提供了上下文记忆,LLM 需要可靠地回答问题,并在复杂的工作流程中充当受信任的代理,与大多数只提供文本数据片段访问的 RAG 解决方案不同,GraphRAG 将结构化和半结构化信息集成到检索过程中。
GraphRAG 将帮助用户从非结构化文本创建知识图,并使用该图或现有的图数据库通过矢量和图搜索为生成任务检索相关信息。
用户可以使用这些工具启动 GenAI 开发,将它们集成到自己的系统中,或将它们用作构建自己的自定义实现的参考模板。
这里简单分享一下 LLM Knowledge Graph Builder、NeoConverse 和 GenAI 框架集成。
快速将非结构化文本转换为知识图
Neo4j Knowledge Graph Builder 只需加载非结构化文本即可生成一个结构化图形,该图形会显示数据中隐藏的实体和关系。它适用于 PDF、Word 文档、YouTube 成绩单、维基百科页面和许多其他类型的非结构化文本。
图形技术的新手可以使用知识图形生成器从熟悉的领域信息轻松创建图形,而更有经验的图形开发人员可能会用它来启动新项目。
除了提取源文档及其块和嵌入作为词汇图外,图形生成器还提取实体及其关系的图形,并将其与块连接起来。
Graph Builder 前端是一个 React 应用程序,使用 Neo4j 设计系统(通过 Needle Starter Kit)和最近发布的 Neo4j 可视化库。
后端使用 LangChain 集成与 Neo4j、知识图提取和将矢量搜索与图检索查询相结合的 GraphRAG 搜索进行交互。它用 Python 编写,使用 FastAPI,并在 Google Cloud Run 上作为容器运行。
用户可以在自己的代码中使用 LangChain 集成,如下所示,用于知识图构建:
使用自然语言查询图表
NeoConverse 工具使用现有知识图的结构从用户的问题生成 Cypher 图查询,然后针对 Neo4j 数据库执行它们。这些查询结果用于生成文本或图表响应。
以下是 NeoConverse 流程:
- 用户选择数据集,以及他们是否希望以文本或图表的方式进行响应。
- 用户问这个问题。
- 系统从数据库中提取数据库模式,并将其与用户问题相结合,为配置的 LLM 生成提示。
- LLM 生成一个密码查询,以对数据库执行。
- 查询经过验证并执行。
- 查询结果与用户问题和特定提示一起发送到 LLM,以生成作为标记文本或图表库配置的响应。
NeoConverse 附带了几个预配置的数据集,以展示其功能。用户还可以在 NeoConverse 中配置其他数据集,以连接到自己的 Neo4j 数据库。
使用首选的 LLM 框架
Neo4j 与 Python、JavaScript、Java 和大多数开源 GenAI 生态系统库无缝集成。
与 LangChain Python 和 LangChain JavaScript 集成,以提供矢量和图形搜索、文本到网络、对话记忆、知识图形构建、高级 RAG 模板等。与 LlamaIndex 集成包括密码搜索、矢量搜索、知识图表示和构建以及文本到密码查询。
在 Java 空间中,将矢量搜索集成到 Spring AI 和 LangChain4j 中,还在 Semantik 内核中实现了对语义记忆的 Neo4j 支持。最后,在 DSPy 中,添加了一个基于 Neo4j 的寻回犬模块,该模块使用 Neo4j 矢量索引。
提高 GraphRAG 和 GenAI 开发技能
查看 GenAI 生态系统页面 深入了解 Neo4j GraphRAG 工具和 GenAI 生态系统,例如嵌入生成和矢量搜索,以及有关与 Google(Vertex AI)、AWS(Bedrock)和Azure(OpenAI)的云原生 GenAI 集成的信息。
Neo4j 图数据库平台帮助企业深入、轻松、快速地发现数十亿数据连接中隐藏的关系和模式。客户利用他们连接的数据的结构来揭示解决他们最紧迫的业务问题的新方法,从欺诈检测、客户 360、知识图谱、供应链、个性化、物联网、网络管理等等。