rag-from-scratch

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 搜索知识 🍴 复刻 197 🐛 待处理 1 👀 关注 12
GitHub ↗
GitHub 星标 ★ 1651
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

rag-from-scratch 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类搜索知识
开发团队pguso
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言JavaScript
技术栈/模型agents,ai-agents,educational,llm,node-llama-cpp,nodejs,rag,rag-chatbot,rag-pipeline,tutorial
GitHub 星标★ 1651
上线时间2025-10-27 00:00:00
代码更新2026-03-11
仓库体积1.3 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数3

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1651

使用教程

⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。

难度:进阶 约 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

上一篇:ragbuilder

下一篇:CAG

同类项目推荐

Scrapegraph-ai 开源

说人话就能爬网页,数据自己送到你面前

Python scraper based on AI

★ 32651 2026-08-09
DocPaws 开源

让文档问答有据可查,拒绝瞎编,工程化 RAG 开箱即用

工程化 RAG 文档助手:知识库、PDF 索引、Agent 工具编排、scope 检索、引用溯源与拒答阈值···

★ 176 2026-08-09
SoSearch 开源

一次查询聚合三家搜索,给 AI 智能体自建搜索接口

One query. Three search engines. Self-hosted web search for AI agents via HTTP API o···

★ 134 2026-10-24
vanna 开源

用大白话问数据库,自动生成SQL并出结果,告别手写查询。

Chat with your SQL database . Accurate Text-to-SQL Generation via LLMs using Agentic···

★ 23803 2026-08-09
ArXivChatGuru 开源

上传论文,直接对话,快速提取核心观点

Use ArXiv ChatGuru to talk to research papers. This app uses LangChain, OpenAI, Stre···

★ 560 2026-08-09
AIGEOTOOLS 开源

让品牌在 AI 回答中脱颖而出,被优先引用

GEO(AI 搜索引擎优化)智能内容优化平台 — 帮助品牌在 ChatGPT、Perplexity 等 AI 回答中···

★ 183 2026-08-09
DataMind 开源

一个框架搞定 RAG、图检索、NL2SQL 和记忆

All-in-one intelligent assistant powered by LlamaIndex — RAG, GraphRAG, NL2SQL, Ski···

★ 454 2026-09-18
Horizon 开源

每天几分钟,AI 帮你筛完天下新闻,中英文简报直达。

Your own AI-powered news radar. Generates daily briefings in English & Chinese. | 用···

★ 13134 2026-08-09
azure-openai-rag-workshop 开源

动手搭建带知识库的ChatGPT,快速落地企业问答场景

Create your own ChatGPT with Retrieval-Augmented-Generation workshop

★ 154 2026-08-09