主题
本文是一个枢纽页,展示如何只用低层抽象(例如 LLM、提示词、嵌入模型)来构建 RAG 与智能体应用,而不使用那些更“开箱即用”的封装抽象。
开箱即用的抽象包括:
- 高层摄取代码,例如
VectorStoreIndex.from_documents - 高层查询与检索器代码,例如
VectorStoreIndex.as_retriever()与VectorStoreIndex.as_query_engine() - 高层智能体抽象,例如
FunctionAgent、ReActAgent、CodeActAgent
与其使用这些,本文的目标是让你了解底层到底发生了什么。把构建 RAG 与智能体工作流的底层算法展示给你看之后,你就能自主创建自定义的 LLM 工作流(同时仍可在任何合适的粒度上使用 LlamaIndex 的抽象)。
我们逐个组件地演示如何从零搭建一个应用。为了聚焦,每篇教程只演示如何从零构建某一位组件,其余组件则使用开箱即用的抽象。注意:本文仍在编写中,我们正在把它补充完整!
从零构建摄取
本教程演示如何定义一条把数据写入向量库的摄取流水线。
从零构建向量检索
本教程演示如何构建一个查询向量库的检索器。
从零构建摄取/检索(开源/本地组件)
本教程演示如何只用开源组件来搭建一条摄取/检索流水线。
从零构建一个(非常简单的)向量库
想更了解向量库如何工作,可以看这篇教程:从零构建一个支持稠密检索 + 元数据过滤的极简向量库。
它显然不能替代生产级数据库。
从零构建响应合成
本教程演示如何在给定一组检索到的上下文时,用 LLM 合成结果。其中会处理上下文溢出、异步调用与来源引用!
从零构建评估
学习如何用 LLM 与提示词模块构建常见的基于 LLM 的评估模块(正确性、忠实度);这会帮助你定义自己的自定义评估!
从零构建进阶 RAG
这些教程演示如何构建超出基础 RAG 工作流的进阶功能。对有自定义工作流/生产需求的进阶用户尤其有帮助。
从零构建混合检索
混合检索是许多向量库都支持的一项进阶检索能力。它允许你把稠密检索与依靠关键词匹配的稀疏检索结合起来。
从零构建路由
在标准 RAG 工作流之外,这一步带你向 LLM 的自动决策更进一步:从零构建一个路由模块。
从零构建 RAG Fusion 检索器
这里演示如何构建一个具备查询改写、集成(ensembling)与动态检索能力的进阶检索器。
从零构建结构化数据问答
作为框架,RAG 主要面向非结构化数据。而 LlamaIndex 对结构化数据与半结构化数据同样提供开箱即用的支持。
看看下面的指南,了解如何从零构建 text-to-SQL(使用我们的 Workflows 库)。