您可以结合使用 LlamaIndex 和 Spanner Graph 来构建使用图检索增强生成 (GraphRAG) 的大语言模型 (LLM) 应用。
Spanner Graph 通过其属性图存储功能与 LlamaIndex 集成,使您能够使用以下组件来创建数据检索工作流:
属性图存储:使您能够通过在图数据库中存储节点和边来将数据表示为图。您可以使用该图数据库来查询数据中的复杂关系。
图检索器:使您能够使用 LLM 将用户的自然语言问题转换成针对图存储的查询。这使得应用能够利用图数据中的结构化关系来回答问题。
什么是 LlamaIndex?
LlamaIndex 是一个用于构建 LLM 应用的数据框架,可帮助您简化检索增强生成 (RAG) 和其他上下文感知系统的开发。LlamaIndex 提供将 LLM 与您的数据相关联的工具,可帮助您进行数据提取、索引编制和查询。您可以将 LlamaIndex 与 LLM 搭配使用,以构建可提供准确且相关回答的应用。
如需详细了解 LlamaIndex 框架,请参阅 LlamaIndex 产品文档。
适用于 Spanner 的属性图存储
属性图存储可在应用中用于执行以下操作:
从文档中提取实体和关系,并将它们存储为图。
对图结构执行复杂的遍历和分析。
使用 Graph Query Language (GQL) 查询图,为 LLM 提供特定上下文。
如需在 Spanner Graph 中使用属性图存储,请使用 SpannerPropertyGraphStore
类。
属性图存储教程
如需了解如何将属性图存储与 Spanner 搭配使用,请参阅适用于 Spanner 的属性图存储教程。本教程可帮助您了解如何执行以下操作:
安装
llama-index-spanner
软件包和 LlamaIndex初始化
SpannerPropertyGraphStore
类并使用它来连接到您的 Spanner 数据库。使用 LlamaIndex 知识图谱提取器,将包含从文档中提取的数据的节点和边添加到 Spanner Graph。
通过使用 GQL 查询图来检索结构化信息。
可视化您的图查询结果。
适用于 Spanner 的图检索器
LlamaIndex 中的图检索器是使用 LLM 将用户的自然语言问题转换成针对图存储的查询的组件。应用利用生成的查询,通过使用图数据中的结构化关系来回答问题。图检索器使用以下工作流根据自然语言查询生成回答:
提示 LLM 将自然语言问题转换为 GQL 查询。
使用 Spanner Graph 和
SpannerPropertyGraphStore
类,针对图存储运行 GQL 查询。使用 Spanner Graph 将查询返回的结构化数据发送给 LLM。
使用 LLM 生成人类可读的回答。
使用 LlamaIndex 检索器类
以下 LlamaIndex 图检索器类可与 Spanner Graph 搭配使用,以针对 LLM 提示生成人类可读的回答:
SpannerGraphTextToGQLRetriever
类
SpannerGraphTextToGQLRetriever
类将自然语言转换为 GQL 查询,用于从图中提取数据。
SpannerGraphCustomRetriever
类
SpannerGraphCustomRetriever
类实现了混合检索方法。SpannerGraphCustomRetriever
通过以下步骤处理具体问题和概念性问题:
同时执行以下搜索:
图搜索,将自然语言问题转换为使用图来查找答案的 GQL 查询。
向量搜索或语义搜索,用于查找概念上相关的信息。
合并来自图搜索和向量搜索的结果。
使用 LLM 评估并重新排名合并后的结果。LLM 会选择最相关且能感知上下文的信息来回答原始问题。
图检索器教程
如需了解如何将图检索器与 Spanner 搭配使用来回答问题,请参阅适用于 Spanner 的图检索器教程。本教程将介绍如何执行以下操作:
从非结构化文本 blob 创建图。
使用
SpannerPropertyGraphStore
类将图存储在 Spanner 中使用您的图存储和一个 LLM,初始化
SpannerGraphTextToGQLRetriever
类和SpannerGraphCustomRetriever
实例。使用存储在 Spanner 中的图数据,生成对自然语言问题的回答。
后续步骤
如需了解如何将 Spanner 与其他 Google Cloud 产品搭配使用来构建生成式 AI 应用,请参阅 Spanner AI 概览。
如需了解 Spanner 中的向量搜索,请参阅将向量搜索与 Spanner Graph 搭配使用。
如需了解如何使用 Spanner 存储向量嵌入,请参阅获取 Spanner 文本嵌入。
如需详细了解如何将机器学习与 Spanner 搭配使用,请参阅 Vertex AI 集成概览。