Skip to content

从零开始构建 RAG(底层)#

本文档是展示如何仅使用底层抽象(例如 LLMs、提示、嵌入模型)构建 RAG 和基于代理的应用程序的中心,而不使用更多“打包好的”抽象的枢纽。

打包好的抽象包括:

  • 高级摄入代码,例如 VectorStoreIndex.from_documents
  • 高级查询和检索代码,例如 VectorStoreIndex.as_retriever()VectorStoreIndex.as_query_engine()
  • 高级代理抽象,例如 OpenAIAgent

目标不是使用这些,而是在这里教育用户底层发生了什么。通过展示构建 RAG 和代理管道的基础算法,您可以掌握创建自定义 LLM 工作流的能力(同时在任何层次上使用 LlamaIndex 抽象都是有意义的)。

我们展示了如何逐个组件地从头开始构建应用程序。为了便于关注,每个教程将展示如何从头开始构建特定组件,同时使用现成的抽象构建其他组件。注意:这是一个正在完善中的文档,我们正在完善中!

从头开始构建摄入#

本教程展示了如何定义一个摄入管道到向量存储。

从头开始构建向量检索#

本教程展示了如何构建一个检索器来查询向量存储。

从头开始构建摄入/检索(开源/本地组件)#

本教程展示了如何仅使用开源组件构建摄入/检索管道。

从头开始构建(非常简单的)向量存储#

如果您想了解更多关于向量存储的工作原理,这里有一个教程,向您展示如何构建一个非常简单的向量存储,能够进行密集搜索和元数据过滤。

显然,这不是生产数据库的替代品。

从头开始构建响应合成#

本教程向您展示如何使用 LLM 来合成给定一组检索上下文的结果。处理上下文溢出、异步调用和来源引用!

从头开始构建评估#

学习如何使用常见的基于 LLM 的评估模块(正确性、忠实度),使用 LLM 和提示模块;这将帮助您定义自己的自定义评估!

从头开始构建高级 RAG#

这些教程将向您展示如何构建超出基本 RAG 管道的高级功能。对于具有自定义工作流/生产需求的高级用户特别有帮助。

从头开始构建混合搜索#

混合搜索是许多向量数据库支持的高级检索功能。它允许您将密集检索与稀疏检索和匹配关键字结合起来。

从头开始构建路由器#

除了标准的 RAG 管道,这让您向自动化决策迈出了一步,它向您展示如何从头开始构建一个路由器模块。

从头开始构建 RAG 融合检索器#

在这里,我们向您展示如何构建一个高级检索器,能够进行查询重写、集成和动态检索。

从头开始构建结构化数据的问答#

作为一个框架,RAG 主要关注非结构化数据。LlamaIndex 也具有对结构化数据和半结构化数据的现成支持。

看看我们下面的指南,了解如何从头开始构建文本到 SQL 和文本到 Pandas(使用我们的查询管道语法)。