AI Edge RAG SDK 提供了基本组件,可用于使用 LLM 推理 API 构建检索增强生成 (RAG) 流水线。RAG 流水线可让 LLM 访问用户提供的数据,其中可能包括更新后的数据、敏感数据或特定于领域的数据。借助 RAG 提供的额外信息检索功能,LLM 可以针对特定用例生成更准确、更具上下文感知的回答。
AI Edge RAG SDK 适用于 Android 设备,并且可以完全在设备端运行。请按照 Android 指南开始使用该 SDK,该指南将引导您使用 RAG 基本实现示例应用。
RAG 流水线
使用 AI Edge RAG SDK 设置 RAG 流水线包含以下关键步骤:
- 导入数据:提供 LLM 在生成输出时将使用的文本数据。
- 拆分数据并为其编制索引:将数据拆分为小块,以便在数据库中编制索引。
- 生成嵌入:使用嵌入器将这些文档块向量化,以便存储在向量数据库中。
- 检索信息:定义如何识别和检索相关信息,以回答用户问题。对于给定问题,检索组件会搜索矢量数据库,以识别相关信息。
- 使用 LLM 生成文本:使用大语言模型根据从向量数据库检索到的信息生成输出文本。
关键模块
AI Edge RAG SDK 为 RAG 流水线提供了以下关键模块和 API:
- 语言模型:具有开放式问题 API 的 LLM 模型,可以是本地(设备端)或基于服务器的。该 API 基于 LanguageModel 接口。
- 文本嵌入模型:将结构化和非结构化文本转换为嵌入向量,以进行语义搜索。该 API 基于 Embedder 接口。
- 向量存储区:向量存储区用于存储从数据块派生的嵌入和元数据。您可以对其进行查询,以获取类似的代码段或完全匹配的代码段。该 API 基于 VectorStore 接口。
- 语义记忆:用作语义检索器,用于在给定查询时检索前 k 个相关数据块。该 API 基于 SemanticMemory 接口。
- 文本分块:将用户数据拆分成较小的部分,以便于编制索引。该 API 基于 TextChunker 接口。
SDK 提供了链,可在单个流水线中组合多个 RAG 组件。您可以使用链来协调检索和查询模型。该 API 基于 Chain 接口。如需开始使用,请试用检索和推理链或检索链。