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 接口。如需开始使用,请尝试检索和推理链或检索链。