极客前沿

从零开始理解 RAG:AI 入门与动手实践

2026-05-11 01:31
DEV Beginners
查看原文

本文用白话解释什么是 RAG(检索增强生成),并带你完成一次简单的 RAG 环境搭建与运行。

很多朋友听说 AI 很厉害,但自己上手时却常常遇到一个问题:AI 模型虽然聪明,但它不知道你的私有数据。比如你问它公司内部文档里的信息,它可能胡乱编造。这就是所谓的“幻觉”。为了解决这个问题,出现了一个重要的技术——RAG(检索增强生成)。简单说,就是让 AI 在回答问题前,先去你指定的资料库里查一下,再结合查到的内容生成答案。这样答案更准确,也不容易胡说。

准备环境

在开始之前,你需要准备以下工具:

  • Python 3.8 或更高版本:Python 是一种编程语言,很多 AI 工具都用它来编写。你可以去 python.org 下载安装。安装时记得勾选“Add Python to PATH”。
  • pip:Python 的包管理工具,用来安装第三方库。一般安装 Python 时会自带。
  • 一个代码编辑器:比如 VS Code(免费),用来写代码。

安装步骤

  1. 安装 LangChain 库:LangChain 是一个帮你搭建 RAG 系统的工具包。打开终端(Windows 是命令提示符,Mac 是终端),输入命令:pip install langchain
  2. 安装文档加载和向量存储工具:我们需要把文档变成 AI 能理解的格式。继续在终端输入:pip install langchain-community chromadb。其中 ChromaDB 是一个向量数据库,用来存储和检索文档内容。
  3. 安装 OpenAI 的 API 库(可选):如果你想用 GPT 模型,需要安装:pip install openai。同时你还需要一个 OpenAI 的 API key(可以去官网申请,有免费额度)。
  4. 准备一个示例文档:在你的电脑上新建一个文本文件,比如叫 my_knowledge.txt,里面写几句话,比如“公司的名称是 ABC 科技,成立于 2020 年。” 这个文件就是你的知识库。

验证是否成功

写一段简单的 Python 代码来测试 RAG 是否工作:

Tutorial Image
  1. 打开你的代码编辑器,新建一个文件 test_rag.py
  2. 复制以下代码(注意:你需要把 your-api-key 替换成你自己的 OpenAI API key):
    from langchain.embeddings import OpenAIEmbeddings
    from langchain.vectorstores import Chroma
    from langchain.text_splitter import CharacterTextSplitter
    from langchain.llms import OpenAI
    from langchain.chains import RetrievalQA
    
    # 1. 读取文档
    with open("my_knowledge.txt") as f:
        text = f.read()
    
    # 2. 分割文本
    text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=0)
    texts = text_splitter.split_text(text)
    
    # 3. 创建向量存储
    embeddings = OpenAIEmbeddings(openai_api_key="your-api-key")
    docsearch = Chroma.from_texts(texts, embeddings)
    
    # 4. 创建问答链
    qa = RetrievalQA.from_chain_type(llm=OpenAI(openai_api_key="your-api-key"), chain_type="stuff", retriever=docsearch.as_retriever())
    
    # 5. 提问
    query = "公司叫什么名字?"
    print(qa.run(query))
  3. 在终端运行:python test_rag.py。如果输出“ABC 科技”,说明 RAG 成功从你的文档中找到了答案。

常见坑:如果提示“ModuleNotFoundError”,说明某个库没装全,回头检查 pip install 步骤。如果 API key 报错,检查 key 是否正确,或者是否设置了环境变量。

下一步可以做什么

现在你已经跑通了第一个 RAG 示例!接下来可以:

  • 替换成你自己的文档(比如 PDF、网页内容),用 Unstructured 库加载更多格式。
  • 换成其他模型,比如本地的 Llama 2,避免依赖外部 API。
  • 尝试调整检索参数,让答案更精准。

RAG 是现代 AI 应用的核心技能,掌握它,你就能构建更可靠的智能系统。

内容来源

DEV Beginners

发布时间

2026-05-11 01:31

返回 AI技术