从头开始构建简单 RAG 系统的 7 个步骤

本分步教程将引导您构建自己的 RAG 系统。

来源:KDnuggets
作者图片

# 简介

#

如今,几乎每个人都使用 ChatGPT、Gemini 或其他大型语言模型 (LLM)。它们让生活变得更轻松,但仍然可能会出错。例如,我记得询问了一个赢得最近美国总统选举的生成模型,并得到了前任总统的名字。听起来很有信心,但该模型仅依赖于选举前的训练数据。这就是检索增强生成 (RAG) 帮助法学硕士给出更准确和最新答案的地方。它不是仅仅依赖于模型的内部知识,而是从外部来源(例如 PDF、文档或 API)提取信息,并使用这些信息来构建更加符合上下文和可靠的答案。在本指南中,我将引导您完成七个实际步骤,从头开始构建简单的 RAG 系统。

# 了解检索增强生成工作流程

在我们继续编码之前,先简单介绍一下这个想法。 RAG 系统有两个核心部分:检索器和生成器。检索器搜索您的知识库并提取最相关的文本块。生成器是一种语言模型,它获取这些片段并将它们转化为自然、有用的答案。过程很简单,如下:

检索器 生成器
    用户提出问题。检索器搜索您的索引文档或数据库并返回最佳匹配的段落。这些段落将作为上下文交给 LLM。然后,LLM 会生成基于检索到的上下文的响应。
  • 用户提出问题。
  • 检索器搜索您的索引文档或数据库并返回最佳匹配的段落。
  • 这些段落将作为上下文交给法学硕士。
  • 然后,LLM 会根据检索到的上下文生成一个响应。
  • 现在我们将把该流程分解为七个简单的步骤,并端到端地构建它。

    # 第 1 步:预处理数据

    幻觉
    数据/
     ├── 监督学习.txt
     └── unsupervised_learning.txt
    数据/ supervised_learning.txt: unsupervised_learning.txt: