在 AI 技术飞速发展的当下,学习 AI 不能沿用传统学院派模式,而应采用 “先拿结果,再补基础” 的高效路径。
本次 RAG 系统全栈项目,将围绕两大核心阶段展开,助力你快速掌握 RAG 技术,并实现从理论到实践的跨越。
一、两大核心阶段概述
阶段一:快速拿结果
只有亲手搭建出效果不错的 RAG 系统,看到实实在在的成果,才能激发持续深入学习的动力。
本阶段聚焦于项目落地,通过完成一个完整的全栈项目,让你直观感受 RAG 系统的运作机制,为后续学习奠定实践基础。
阶段二:深入夯实基础
在获得项目成果后,进入深入学习阶段。雄哥将详细拆解 llamaindex 的核心五部曲,逐一剖析每个模块的原理与实现方法,确保即使是零基础学员也能全面掌握相关知识,进而开发出属于自己的 RAG 应用。
接下来,我们将深入探讨这两大阶段的具体内容与技术要点。
二、第一阶段:全栈项目实战,快速获取成果
本项目涵盖前端与核心功能模块,共包含三个关键部分:A 索引存储、B 检索推理、C 安全审查。在实际 RAG 项目开发过程中,这些模块往往无法同时运行,主要基于以下几点考虑:
算力资源限制
索引存储和推理检索对算力需求较大,在白天员工办公或用户在线高峰期,系统资源被大量占用,难以同时支撑这两项任务。因此,索引存储通常安排在系统空闲时段上线或进行集中维护。
可重用与批量化开发
AI 技术迭代迅速,项目开发需追求快速上线与迭代,以抢占市场先机。每个功能线程均采用可重用、可拓展的开发模式,便于后续调试、迭代与问题排查。
安全审查必要性
大模型存在不确定性,可能生成影响项目的内容。若不进行安全与伦理审查,无异于将项目核心置于风险之中。本项目将借助 NVIDIA 的 NeMo 项目实现安全审查功能。
基于以上设计理念,接下来将通过实操带领大家跑通整个项目,遵循 “实践先行,理论后补” 的学习路径,让你在实践中不断积累 AI 领域的实战经验。
实践环境配置
操作系统
推荐使用 Linux 系统,也可使用 Win11 系统。
编程语言 / 版本
Python 3.10.14
大模型
OpenAI API Key
关键框架与工具版本
llama-index:0.10.0 及以上
FastAPI:0.110.2
NextJS:14.1
Milvus:Zilliz Cloud (在线版)
安全审查模块:NeMo Guardrails
数据示例
教育领域 - 卖油翁课堂.pdf
本项目全程采用 API 设计,轻量化的特点使其能够在任何场景下,仅需笔记本电脑即可运行。最终成果可作为展示 demo 用于项目洽谈。
项目实操步骤
创建并激活环境
进入工作目录:cd F:\rag-microservices
激活虚拟环境:venv\Scripts\activate
创建名为 rag 的 conda 环境,指定 Python 版本为 3.11:conda create -n rag python=3.11
激活环境:conda activate rag
conda 环境
Python 虚拟环境
安装依赖
无论选择哪种环境,均需执行以下命令安装项目所需依赖:
pip install uvicorn fastapi fastapi[all] nemoguardrails pymilvus uvicorn python-dotenv llama-index-vector-stores-milvus llama-index llama-index-postprocessor-cohere-rerank llama-index-embeddings-openai llama-index-embeddings-huggingface llama-index-llms-openai
填写 API KEY
项目采用在线 API 实现轻量化开发,若需使用开源方案,后续将详细说明操作方法。在项目文件夹中,找到密钥文件,分别填写 OpenAI 和 Milvus 的 API Key,确保两个相关文件夹中的密钥均填写正确。
OpenAI api:https://openai.com/api/
Milvus api 文档:https://docs.zilliz.com/docs/quick-start.env.example
整理数据
将待索引的数据(如卖油翁.pdf)放置到指定位置,后续会专门讲解数据处理方法,敬请关注。
启动数据索引
在工作目录下,运行以下命令启动数据索引线程,该线程可独立运行,完成后可关闭窗口。索引完成后,可在 Milvus 数据库官网(https://cloud.zilliz.com/)查看索引数据。
python ingestion-service\app\engine\generate.py
启动推理查询
运行大模型推理脚本,默认使用 8000 端口,注意确保端口不冲突。若使用本地模型,需调整本地模型部署端口,避免与本脚本端口冲突(因 UI 传参绑定 8000 端口)。
python inference-service\backend\main.py
启动 UI 前端
进入 UI 工作目录:cd rag--to-microservices\inference-service\frontend
安装 npm:npm install
启动 UI:npm run dev
本地访问:http://localhost:3000/ 即可打开交互界面,至此项目成功运行。
领取专属 10元无门槛券
私享最新 技术干货