rag-from-scratch

手写RAG全流程,彻底搞懂检索增强生成

这是一个从零开始构建RAG(检索增强生成)系统的开源教程项目,旨在通过手写实现来揭开RAG的神秘面纱。它使用本地LLM,不依赖黑盒API,让开发者真正理解嵌入、向量搜索、检索和上下文增强生成的全过程。项目以JavaScript为主要语言,提供清晰的代码示例和逐步讲解,帮助用户掌握RAG的核心原理和工程实现。它解决了初学者对RAG概念模糊、难以动手实践的问题,通过最小化依赖和透明化实现,让学习者能够深入理解每个环节的工作原理,并具备独立搭建RAG系统的能力。

开源 free 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1633
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类搜索知识
开发团队pguso
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言JavaScript
技术栈/模型agents,ai-agents,educational,llm,node-llama-cpp,nodejs,rag,rag-chatbot,rag-pipeline,tutorial
GitHub 星标★ 1633
30天Star增速
HF 下载量
上线时间2025-10-27 00:00:00
最近更新2026-09-22 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Node.js 运行环境(README 节选未指定具体版本)
  • 本地 LLM 运行能力:技术栈含 node-llama-cpp,需本地模型文件
  • 无需任何云端 API Key(项目明确声明 No cloud APIs)
  • 可读写本地文件系统的开发机,用于存放文档与本地向量库

安装与启动步骤

  1. 1克隆项目仓库

    README 节选未给出安装命令,此处按项目 GitHub 地址执行标准克隆操作,克隆到本地目录后进入该目录查看完整说明。

    git clone https://github.com/pguso/rag-from-scratch.git
    cd rag-from-scratch
  2. 2确认 Node.js 就绪

    项目以 JavaScript 编写、技术栈含 Node.js,先确认本机已安装 Node.js 及 npm,具体版本要求以仓库内的说明文件为准。

    node -v
    npm -v
  3. 3安装项目依赖

    README 节选未列出依赖安装命令,Node 项目通常使用 npm 安装;请以仓库实际提供的锁文件与说明为准,不要凭猜测添加包。

    npm install
  4. 4准备本地模型文件

    项目强调不依赖云端 API,通过 node-llama-cpp 在本地运行 LLM;README 节选未给出具体模型名称与放置路径,需查阅仓库内说明自行准备模型文件。

  5. 5按教程顺序读代码

    README 说明学习路径为:知识需求定义、数据加载、文本切分与分块、嵌入、本地向量库、检索、重排与归一化、查询改写、上下文增强生成。按此顺序逐个运行示例理解每一步。

如何确认成功

README 节选未给出启动成功判据;以仓库内示例脚本能正常运行、并输出基于本地文档的检索与回答结果为参考。

常见问题

Q:需要申请 OpenAI 等云端 API Key 吗?

A:不需要。README 明确写了 No cloud APIs,项目使用本地 LLM 和本地向量库,全程不依赖黑盒云服务。

Q:这个项目能学到什么?

A:涵盖 RAG 本质、嵌入原理、自建本地向量库、检索与上下文注入、重排与归一化、查询改写(启发式与 LLM)等完整链路。

Q:必须按顺序学习吗?

A:建议按 README 给出的 Pipeline 顺序(数据加载→切分→嵌入→向量库→检索→重排→查询改写→生成)推进,每步都有代码走读。

Q:支持 Python 吗?

A:本项目主要语言为 JavaScript,运行在 Node.js 环境;README 节选未提及其他语言实现。

注意事项

  • README 节选只包含项目理念与概念流程,没有安装命令、端口、路径等部署细节,实际部署请以仓库完整 README 为准。
  • 本项目定位为教学教程,代码以“透明、可读懂”为目标,未必适合直接用于生产环境。
  • 本地运行 LLM 对内存和显存有要求,模型文件需自行准备,README 节选未给出模型规格。
  • 请勿自行添加 README 未提及的依赖包、环境变量或启动参数,以免与教程讲解不一致。

核心亮点

  • 从零手写,无黑盒,彻底理解嵌入、向量检索和生成原理
  • 使用本地LLM,无需API密钥,成本低且隐私安全
  • 代码结构清晰,适合教学和自学,循序渐进

不足之处

  • 仅覆盖基础RAG流程,未涉及高级优化(如重排序、混合检索)
  • 文档和社区生态待观察,可能缺乏持续更新

适用场景

  • 学习RAG原理和实现细节的开发者教程
  • 快速搭建本地原型RAG系统
  • 教学演示或内部技术分享

替代项目

LangChain、LlamaIndex、Haystack

项目介绍

rag-from-scratch 是搜索知识领域的开源项目,由 pguso 开发,2025 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,633)位列前 30%,在搜索知识分类中处于中上游。

近 42 天,它的 GitHub 星标从 1,552 增加到 1,633,净增 81。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:学习RAG原理和实现细节的开发者教程。同类可对比的替代方案包括 LangChain、LlamaIndex、Haystack。

上一篇:ragbuilder

下一篇:CAG

同类项目推荐

firecrawl 开源

网页抓取像喝水一样简单,开发者省下整周加班

The web data API to search, scrape, and interact at scale.

★ 183325 2026-08-09
contoso-chat 开源

一键跑通 Azure RAG 应用,从代码到评估部署全流程

This sample has the full End2End process of creating RAG application with Prompty an···

★ 766 2026-08-09
graphify 开源

整个代码库画成一张图,找问题一眼定位

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···

★ 120493 2026-08-09
ragflow 开源

让大模型用上你的私有知识,搭建可靠的企业级RAG应用

RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fu···

★ 91170 2026-08-09