当前位置: 首页 > news >正文

新手程序员必看:收藏这份RAG智能问答系统实战指南,轻松玩转大模型!

📝 引言


大家好,今天要分享一个非常实用的技术——RAG(检索增强生成)智能问答系统。看完这篇文章,你将学会如何让AI基于你自己的文档内容,精准回答相关问题!

先看效果:

用户问题:Python中列表和元组有什么区别? 模型回答:列表是可变的,元组是不可变的 置信度:0.98

🤔 为什么要用RAG?


传统的大模型问答存在几个痛点:

  • 知识过时:模型训练数据截止到某个时间点
  • 胡说八道:对不知道的问题会编造答案
  • 无法个性化:不知道你的私有数据

RAG技术完美解决这些问题:

  • 实时检索:从你的知识库中找到相关文档
  • 精准回答:基于真实文档生成答案
  • 私有化:所有数据都在本地,安全可控

🛠️ 环境准备


安装必要的库

pip install langchain langchain-community chromadb transformers sentence-transformers

📥 下载必要的AI模型


本系统需要两个模型,必须提前下载到本地

模型1:嵌入模型(all-MiniLM-L6-v2)

模型2:问答模型(distilbert-base-uncased-distilled-squad)

项目结构

rag_project/ ├── data/ │ └── programming_faq.txt # 你的知识库文件 └── rag_qa.py # 主程序

📁 准备知识库文件


首先,创建一个知识库文件data/programming_faq.txt

Python中列表和元组的区别是什么?列表是可变的,元组是不可变的。列表用方括号[]定义,元组用圆括号()定义。 什么是装饰器?装饰器是Python中用于修改函数或类行为的函数。它接受一个函数作为参数,并返回一个新函数。 Python的GIL是什么?全局解释器锁,它确保任何时候只有一个线程执行Python字节码。 如何优化Python代码性能?使用列表推导式代替循环,使用生成器处理大数据,避免不必要的属性查找。

💻 完整代码实现


下面是完整的RAG问答系统代码,每行都有详细注释:

import os from langchain_community.document_loaders import TextLoader from langchain_text_splitters import CharacterTextSplitter from langchain_huggingface import HuggingFaceEmbeddings from langchain_community.vectorstores import Chroma from transformers import pipeline # 1. 加载文档 print("📚 步骤1:加载文档...") loader = TextLoader( r"D:\study\codes\data\programming_faq.txt", encoding='utf-8' # 重要:指定UTF-8编码,避免中文乱码 ) documentation = loader.load() print(f"✅ 加载文档完成,长度:{len(documentation[0].page_content)} 字符") # 2. 分割文档 print("\n✂️ 步骤2:分割文档...") text_splitter = CharacterTextSplitter( chunk_size=128, # 每个文档块的大小 chunk_overlap=0 # 块之间的重叠字符数 ) documentation = text_splitter.split_documents(documentation) print(f"✅ 文档分割完成,共 {len(documentation)} 个片段") # 3. 创建向量数据库 print("\n🗄️ 步骤3:创建向量数据库...") embeddings = HuggingFaceEmbeddings( model_name="D:/software/bigmodel/all-MiniLM-L6-v2", # 本地嵌入模型 model_kwargs={"device": "cpu"}, # 使用CPU运行 encode_kwargs={"normalize_embeddings": True} # 归一化向量 ) db = Chroma.from_documents(documentation, embeddings) print("✅ 向量数据库创建完成!") # 4. 用户提问 print("\n❓ 步骤4:用户提问...") query = "Python中列表和元组有什么区别?" print(f"用户问题:{query}") # 5. 检索相关文档 print("\n🔍 步骤5:检索相关文档...") results = db.similarity_search(query) retrieved_content = results[0].page_content print(f"检索到的内容:{retrieved_content}") # 6. 生成答案 print("\n💡 步骤6:生成答案...") qa_pipeline = pipeline( "question-answering", model="D:/software/bigmodel/distilbert-base-uncased-distilled-squad", # 本地问答模型 tokenizer="D:/software/bigmodel/distilbert-base-uncased-distilled-squad" ) answer = qa_pipeline(question=query, context=retrieved_content) print(f"模型回答:{answer['answer']}") print(f"置信度:{answer['score']:.2f}")

🔍 代码详解


1. 文档加载(Line 8-13)

使用TextLoader加载文本文件,关键点是设置encoding='utf-8',避免中文编码问题。

2. 文档分割(Line 16-21)

把长文档切成小块,便于检索:

  • chunk_size=128:每个块128字符
  • chunk_overlap=0:块之间不重叠

3. 向量化(Line 25-30)

使用all-MiniLM-L6-v2模型将文本转换为向量:

  • 这是一个轻量级的嵌入模型
  • 将文本映射到384维的向量空间
  • 用于计算文本相似度

4. 向量数据库(Line 31)

使用 Chroma 存储向量:

  • 支持高效的相似度搜索
  • 可以持久化到磁盘(本例未启用)

5. 检索(Line 39-42)

计算问题与文档的相似度,返回最相关的文档块。

6. 问答(Line 46-52)

使用distilbert-base-uncased-distilled-squad模型:

  • 专门用于抽取式问答
  • 从上下文中提取答案
  • 返回答案和置信度

🎯 运行效果


运行代码后,你将看到:

📚 步骤1:加载文档... ✅ 加载文档完成,长度:856 字符 ✂️ 步骤2:分割文档... ✅ 文档分割完成,共 8 个片段 🗄️ 步骤3:创建向量数据库... ✅ 向量数据库创建完成! ❓ 步骤4:用户提问... 用户问题:Python中列表和元组有什么区别? 🔍 步骤5:检索相关文档... 检索到的内容:Python中列表和元组的区别是什么?列表是可变的,元组是不可变的。列表用方括号[]定义,元组用圆括号()定义。 💡 步骤6:生成答案... 模型回答:列表是可变的,元组是不可变的 置信度:0.98

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过30%。

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!

在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】

大模型全套学习资料展示

自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!

01教学内容

  • 从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!

  • 大量真实项目案例:带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

02适学人群

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

vx扫描下方二维码即可
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!

03入门到进阶学习路线图

大模型学习路线图,整体分为5个大的阶段:

04视频和书籍PDF合集

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)

05行业报告+白皮书合集

收集70+报告与白皮书,了解行业最新动态!

0690+份面试题/经验

AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)

07 deepseek部署包+技巧大全

由于篇幅有限

只展示部分资料

并且还在持续更新中…

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】

http://www.jsqmd.com/news/498854/

相关文章:

  • 理性评估:CAIE认证对AI求职的真实价值与投入产出比分析
  • Java毕业设计基于SpringBoot半成品配菜平台设计与实现
  • 南北阁Nanbeige 3B实战:C语言基础教学中的代码示例生成与讲解
  • ChatGLM3-6B-128K效果展示:Ollama部署后招投标文件128K关键条款比对
  • LangChain Frontend 10 大核心模式完整总结
  • 知名厂家电动四轮车控制器代码及PCB文件、PDF原理图全齐,风格优良
  • CIrrMap250:中国2000–2020年250米灌溉耕地分布栅格数据|逐年百分比|GeoTIFF格式
  • 在 ASP.NET Core 项目里接入大模型,真没那么难
  • Java毕业设计springboot基于Javaweb的二手图书交易系统76915352
  • Wan2.1 VAE一键部署教程:基于Python的AI图像生成环境快速搭建
  • 全场景定制化开发,适配多品类的盲盒小程序解决方案
  • Qwen3-TTS-Tokenizer-12Hz语音质量评测:PESQ与MOS得分分析
  • 集成高性能物理引擎:JoltPhysics的跨平台实践指南
  • 最新!2026年OpenClaw京东云4分钟云上/MacOS/Linux/Windows集成及使用步骤
  • GTE文本向量-large多任务协同案例:电商评论情感分析→触发事件抽取→生成摘要链路
  • openclaw等主流多Agent框架介绍
  • EasyAnimateV5-7b-zh-InP开源可部署:models目录结构解读与模型热替换
  • 霜儿-汉服-造相Z-Turbo生成效果深度评测:对比不同采样器与参数
  • 本文仅作测试用,无实际意义,请略过
  • #define 与 const 区别
  • 360CDN SDK 游戏盾实测:游戏防护与延迟优化
  • 如何画出优秀的架构图?
  • VibeVoice语音合成系统评测:实时性、音质、易用性三方面分析
  • Python如何将列表的数据清空?
  • SAKURA EMOTION MAGIC 提示词工程指南:如何撰写激发最佳情感分析效果的Prompt
  • 资讯丨SBTi认证费用上涨了!(附官方文件下载)
  • 4个关键行业中的3DDFA实战指南:从技术原理到商业价值
  • Kook Zimage 真实幻想 Turbo Qt界面开发教程
  • Qwen3-ASR-0.6B模型架构解析:AuT编码器详解
  • DeepSeek v4 下周空降?2026 国产 AI 终极悬念:这 3 个杀手锏能否超越 GPT-5.4?