2026/2/14 7:52:27
网站建设
项目流程
江阴早晨网站建设,培训机构管理系统,使用wordpress的网站,WordPress国外主机在信息爆炸的时代#xff0c;拥有一个能“读懂”个人文档、精准回答问题的专属AI助手#xff0c;能大幅提升学习与工作效率。而基于个人笔记本电脑搭建本地RAG#xff08;检索增强生成#xff09;系统#xff0c;不仅能保护数据隐私#xff0c;还无需依赖云端服务#x…在信息爆炸的时代拥有一个能“读懂”个人文档、精准回答问题的专属AI助手能大幅提升学习与工作效率。而基于个人笔记本电脑搭建本地RAG检索增强生成系统不仅能保护数据隐私还无需依赖云端服务普通用户花2小时即可完成基础部署。本教程以“低门槛、高实用”为原则覆盖从环境准备到效果测试的全流程适配Windows、macOS、Linux系统即使是零基础也能跟着操作。一、先搞懂本地RAG能帮你做什么本地RAG本质是“专属知识库AI问答助手”的结合体——你可以将考研笔记、技术手册、工作文档等导入系统之后像聊天一样提问比如“Python的for循环怎么写”“番茄炒蛋先放蛋还是番茄”系统会先检索你的文档再基于文档内容生成准确回答避免AI“瞎编”。其核心优势在于隐私可控所有文档和数据都存储在自己的笔记本上不经过第三方服务器门槛极低无需高端硬件8GB内存、无独立显卡的笔记本也能运行用途灵活可做学习助手解析教材、工作工具查询项目文档、生活管家管理食谱/行程。二、准备阶段3样东西提前备好搭建前先确认设备与工具避免后续卡壳新手无需追求复杂配置满足基础要求即可。1. 硬件要求笔记本最低配置硬件最低要求推荐配置更流畅内存RAM8GB勉强运行多开易卡16GB优先选择CPU近5年主流处理器i5/Ryzen 5i7/Ryzen 7处理速度更快显卡GPU集成显卡CPU推理独立显卡8GB显存以上如RTX 3050硬盘100GB空闲空间机械硬盘200GB SSD加速模型加载系统Windows 10/macOS 12/LinuxWindows 11/macOS Ventura注意无独立显卡也能搭建只是回答生成速度会慢一些10-20秒/次适合测试使用。2. 必备软件与工具Python 3.10必须是3.10版本别装3.11/3.12避免依赖冲突官网下载python.org/downloadsGit用于拉取开源资源官网下载git-scm.com/downloads默认安装即可文档素材1-3份测试用文档优先选PDF/TXT/Markdown格式别用扫描件比如《Python基础教程.pdf》《考研英语阅读技巧.txt》建议将文件名改成简单英文名如“python_basic.pdf”避免中文符号导致报错。3. 工作文件夹创建为避免文件混乱先在桌面建一个专属文件夹桌面右键→“新建”→“文件夹”命名为“Local_RAG”名字可改建议英文将准备好的文档如“python_basic.pdf”拖进这个文件夹后续所有操作都在这个文件夹内进行方便管理。三、 Step 1安装Python最易出错的一步盯紧Python是运行RAG的基础装错版本或漏勾选项会导致后续步骤失败按以下步骤操作1. 下载Python 3.10• 打开Python官网拉到“Downloads”板块选择对应系统版本• Windows用户点击“Windows Installer (64-bit)”别选32-bit• Mac用户点击“macOS 64-bit universal2 installer”• 下载完成后文件会在“下载”文件夹中如“python-3.10.11-amd64.exe”。2. 安装Python关键勾选“Add Python to PATH”• 双击安装包打开后务必勾选界面底部的“Add Python 3.10 to PATH”新手90%的错误都源于漏勾这一步• 勾选后点击“Install Now”默认安装路径即可不用手动修改• 等待1-2分钟进度条走完后点击“Close”无需点“Disable path length limit”。3. 验证是否安装成功• Windows用户按「WinR」输入“cmd”打开命令提示符• Mac/Linux用户按「Command空格」Mac或「CtrlAltT」Linux打开终端• 在命令行中输入python --version注意中间有空格按回车• ✅ 成功显示“Python 3.10.x”x为具体版本号接近即可• ❌ 失败显示“不是内部或外部命令”——重新安装确保勾选“Add Python to PATH”。四、 Step 2搭建RAG运行环境复制命令就行不用懂原理这一步是给RAG创建“独立工作空间”避免和电脑里的其他软件冲突全程通过命令行操作新手只需复制粘贴指令。1. 进入工作文件夹• 在命令提示符/终端中输入对应系统的命令按回车将“Local_RAG”换成你实际的文件夹名• Windowscd Desktop\Local_RAG• Mac/Linuxcd ~/Desktop/Local_RAG• ✅ 成功命令行前缀会显示“C:\Users\你的名字\Desktop\Local_RAG”Windows或“你的名字MacBook Local_RAG %”Mac• ❌ 失败显示“系统找不到指定的路径”——检查桌面是否有“Local_RAG”文件夹或文件夹名是否输错。2. 创建并激活隔离环境• 输入命令创建环境命名为“rag-env”无需修改python -m venv rag-env• 等待10秒此时“Local_RAG”文件夹中会多出“rag-env”子文件夹代表环境创建成功• 激活环境必须激活否则无法安装工具• Windowsrag-env\Scripts\activate• Mac/Linuxsource rag-env/bin/activate• ✅ 成功命令行前缀会多出“(rag-env)”比如“(rag-env) C:\Users\XXX\Desktop\Local_RAG”• ❌ Windows激活失败若显示“无法加载脚本”右键点击“开始菜单”→“Windows PowerShell (管理员)”输入Set-ExecutionPolicy RemoteSigned按Y确认再重新激活。3. 安装必备工具包复制以下命令带清华源下载更快避免超时粘贴到命令行中按回车等待2-5分钟期间别关闭窗口pip install langchain0.2.10 chromadb0.4.24 sentence-transformers2.7.0 ollama0.1.82 pypdf23.0.1 flask2.3.3 -i https://pypi.tuna.tsinghua.edu.cn/simple• ✅ 成功最后显示“Successfully installed …”绿色字体无红色“Error”• ❌ 失败若显示“超时”切换手机热点后重新粘贴命令若提示“权限不足”在命令前加“sudo”Mac/Linux或右键以管理员身份打开命令提示符Windows。五、 Step 3部署核心组件向量数据库本地大模型RAG的核心是“向量数据库存文档”和“本地大模型生成回答”我们选择轻量级工具新手无需复杂配置。1. 部署向量数据库Chroma本地轻量型向量数据库用于存储文档的“语义向量”方便快速检索。操作步骤在命令行中输入以下代码并回车初始化数据库plaintextpython -c “import chromadb; chromadb.PersistentClient(path‘./chroma_db’)”执行后“Local_RAG”文件夹中会生成“chroma_db”文件夹代表数据库创建成功无需手动打开。2. 部署本地大模型Llama 3 8B免费且通用我们用Ollama工具快速部署大模型它会自动下载模型无需手动配置安装Ollama打开官网ollama.com/download下载对应系统的安装包默认安装即可安装后会自动启动服务在命令行中输入以下命令下载Llama 3 8B模型约4GB需等待几分钟plaintextollama pull llama3:8b测试模型是否能运行输入ollama run llama3:8b等待模型加载完成后输入“你好”若模型回复问候语代表部署成功按「CtrlC」两次退出模型交互回到“(rag-env)”环境。3. 部署Embedding模型腾讯Youtu-Embedding中文友好Embedding模型用于将文本转换成向量我们选择对中文支持较好的腾讯开源模型在“Local_RAG”文件夹中新建一个文本文件命名为“download_embedding.py”打开文件复制以下代码并保存plaintextfrom transformers import AutoModel, AutoTokenizer# 下载中文Embedding模型model AutoModel.from_pretrained(“tencent-ailab/youtu-embedding”)tokenizer AutoTokenizer.from_pretrained(“tencent-ailab/youtu-embedding”)print(“Embedding模型下载成功”)在命令行中输入python download_embedding.py按回车模型约2GB耐心等待若显示“Embedding模型下载成功”代表完成无需手动操作模型文件。六、 Step 4导入文档构建个人知识库将准备好的文档如PDF拆分成片段、转换成向量存入数据库这是RAG能“读懂”你文档的关键步骤。1. 编写文档处理脚本在“Local_RAG”文件夹中新建文本文件命名为“process_docs.py”复制以下代码已注释关键步骤新手无需修改粘贴并保存plaintextimport chromadbfrom transformers import AutoModel, AutoTokenizerfrom PyPDF2 import PdfReaderimport os# 1. 初始化Chroma数据库client chromadb.PersistentClient(path“./chroma_db”)# 创建/获取知识库集合命名为my_knowledge_basecollection client.get_or_create_collection(name“my_knowledge_base”)# 2. 加载Embedding模型tokenizer AutoTokenizer.from_pretrained(“tencent-ailab/youtu-embedding”)model AutoModel.from_pretrained(“tencent-ailab/youtu-embedding”)# 3. 处理PDF文档提取文本→按语义拆分片段1000字符/段避免割裂def process_pdf(file_path): reader PdfReader(file_path) full_text “” # 提取PDF所有页面的文本 for page in reader.pages: page_text page.extract_text() or “” full_text page_text “\n” # 按1000字符拆分保留100字符重叠确保语义连贯 chunks [] chunk_size 1000 overlap 100 for i in range(0, len(full_text), chunk_size - overlap): chunk full_text[i:i chunk_size] chunks.append(chunk) return chunks# 4. 遍历文件夹中的PDF批量导入数据库docs_dir “./” # 当前文件夹即Local_RAGfor filename in os.listdir(docs_dir): # 只处理PDF文件 if filename.endswith(“.pdf”): file_path os.path.join(docs_dir, filename) print(f正在处理文档{filename}“) chunks process_pdf(file_path) # 为每个片段生成向量并入库 for i, chunk in enumerate(chunks): # 生成向量 inputs tokenizer(chunk, return_tensors“pt”, paddingTrue, truncationTrue) embedding model(** inputs).last_hidden_state.mean(dim1).detach().numpy() # 用“文件名片段序号”作为唯一ID方便追溯来源 doc_id f”{filename}chunk{i} # 入库包含文本、来源、向量 collection.add( documents[chunk], metadatas[{“source”: filename}], embeddingsembedding, ids[doc_id] )print(“所有文档导入完成”)2. 执行脚本导入文档• 在命令行中输入python process_docs.py按回车• 脚本会自动处理“Local_RAG”文件夹中的所有PDF显示“所有文档导入完成”即成功• 若提示“找不到PDF文件”检查文档是否在“Local_RAG”文件夹中或文件名是否以“.pdf”结尾。七、 Step 5测试RAG问答功能终于能和你的知识库聊天了编写一个简单的问答脚本测试“提问→检索→回答”的全流程看看RAG是否能准确理解你的文档。1. 编写问答脚本在“Local_RAG”文件夹中新建文本文件命名为“rag_qa.py”复制以下代码粘贴并保存plaintextimport chromadbfrom transformers import AutoModel, AutoTokenizerimport subprocessimport json# 1. 初始化数据库和Embedding模型client chromadb.PersistentClient(path“./chroma_db”)collection client.get_collection(name“my_knowledge_base”)tokenizer AutoTokenizer.from_pretrained(“tencent-ailab/youtu-embedding”)model AutoModel.from_pretrained(“tencent-ailab/youtu-embedding”)# 2. 检索根据问题找到最相关的3个文档片段def retrieve_relevant_chunks(question, top_k3): # 问题转向量 inputs tokenizer(question, return_tensors“pt”, paddingTrue, truncationTrue) question_embedding model(** inputs).last_hidden_state.mean(dim1).detach().numpy() # 检索相似片段 results collection.query( query_embeddingsquestion_embedding, n_resultstop_k ) # 整理结果文本来源 chunks results[“documents”][0] sources [meta[“source”] for meta in results[“metadatas”][0]] return chunks, sources# 3. 生成回答调用本地Llama 3模型def generate_answer(question, chunks, sources): # 构建提示词告诉模型基于文档回答不编造 prompt f““基于以下参考文档回答问题只使用文档中的信息不要添加额外内容如果文档中没有相关答案直接说“未找到相关内容”。 参考文档 1. {chunks[0]}来源{sources[0]} 2. {chunks[1]}来源{sources[1]} 3. {chunks[2]}来源{sources[2]} 问题{question} 回答”” # 调用Ollama的Llama 3模型 process subprocess.Popen( [“ollama”, “run”, “llama3:8b”, “–format”, “json”], stdinsubprocess.PIPE, stdoutsubprocess.PIPE, stderrsubprocess.PIPE, textTrue ) # 发送提示词并获取结果 stdout, stderr process.communicate(inputprompt) # 解析JSON结果 try: result json.loads(stdout.strip()) return result[“message”][“content”], sources except: return “回答生成失败请重试”, sources# 4. 主函数问答入口ifname “main”: print(“本地RAG知识库已启动输入问题即可查询输入’quit’退出”) while True: question input(“你”) if question.lower() “quit”: print(“再见”) break # 检索相关片段 chunks, sources retrieve_relevant_chunks(question) # 生成回答 answer, sources generate_answer(question, chunks, sources) # 显示结果 print(fRAG助手{answer}“) print(f答案来源{, .join(set(sources))}”) # 去重显示来源2. 运行脚本开始问答• 在命令行中输入python rag_qa.py按回车• 等待模型加载完成后输入你的问题比如导入了Python文档就问“Python中for循环怎么写”• 系统会先检索文档片段再生成回答并显示答案来源如“python_basic.pdf”示例如下plaintext本地RAG知识库已启动输入问题即可查询输入’quit’退出你Python中for循环怎么写RAG助手在Python中for循环可用于遍历序列如列表、字符串基本语法为for 变量 in 序列: 循环体缩进示例遍历列表[1,2,3]并打印元素nums [1,2,3]for num in nums: print(num)来源python_basic.pdf3. 测试常见场景验证效果•基础问题输入文档中明确有的内容如“番茄炒蛋需要哪些食材”检查回答是否准确•模糊问题输入表述不精准的问题如“怎么用Python遍历数据”测试检索是否能匹配到“for循环”相关片段•无相关内容输入文档中没有的问题如“Java的类怎么定义”检查模型是否会说“未找到相关内容”避免幻觉。八、 避坑指南与优化技巧新手必看很多人搭建后会遇到“检索不到内容”“回答慢”的问题做好以下几点能大幅提升体验1. 常见坑点及解决方法•坑1文档导入失败→ 检查文档是否为文本型PDF扫描件无法提取文本文件名是否含中文符号如“Python 教程.pdf”改成“python_tutorial.pdf”•坑2回答生成慢→ 若用CPU推理关闭其他软件如浏览器、视频软件若有独立显卡可换成GPU版Embedding模型将“tencent-ailab/youtu-embedding”换成“bge-large-en-v1.5”需额外安装CUDA•坑3检索不到相关内容→ 调整文档拆分长度将脚本中“chunk_size1000”改成“500”适合短句多的文档或增加检索数量将“top_k3”改成“5”•坑4Python库安装失败→ 确保环境已激活命令行有“(rag-env)”若超时用手机热点或更换国内源如阿里云源-i https://mirrors.aliyun.com/pypi/simple/。2. 简单优化让RAG更好用•支持更多文档格式若想导入Word/Markdown在“process_docs.py”中添加对应处理代码如用python-docx库处理Wordpython-markdown处理MD•加快检索速度将Chroma数据库换成FAISS轻量更快只需在脚本中替换数据库初始化代码参考摘要4中的FAISS配置•添加Web界面用Streamlit做简单界面无需懂前端安装pip install streamlit编写app.py脚本即可实现“浏览器提问”具体代码可参考摘要6。九、 总结通过本教程你已在个人笔记本上搭建了一个能“读懂”自己文档的本地RAG系统——从环境准备到问答测试全程无需复杂代码普通用户2小时即可完成。后续可根据需求扩展导入更多工作文档做“办公助手”加入学习笔记做“备考伙伴”甚至整合智能家居控制如摘要4中的物联网场景。本地RAG的核心价值在于“私人定制”与“隐私安全”随着开源工具的迭代未来在手机、平板等设备上也能部署真正实现“随身专属AI”。动手试试吧让技术为你的学习与工作赋能学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】