AI大模型从概念到实践:RAG:从零开始,100行代码实现一套RAG系统(附代码)

AI的时代,概念满天飞,我想用最原始的实现,把概念具象化。用不超过100行代码,完整实现一套RAG代码。 代码附在最后。

先看一下系统运行的效果,左边是大模型直接生成,胡编乱造,右边是基于RAG的回答,比较精确。

图片
这里右边大模型在回答时,结合RAG系统,参考了文档《中文-Llama3技术报告》里的相关内容。

代码实现,首先解析PDF文件到文字,并且文档切片,函数的实现都很简单,详情看附件,调用效果如下:

图片

用类openAI的接口,调用bge-en-icl的模型,对文档做向量化

图片

图片

实现一个用余弦相似度,比较向量相似性的方法。测试一下,如果是文档的第0段和第1段相似性比较高0.93,如果是第30段和第90段比,相似度就低很多0.7。相连的文本段,语义相似性更高。

图片

图片

接下来,实现一下语义检索,其实就是把query向量化后,和所有文档切片的向量进行比较。找到最相似的几个文本切片,注意,返回的是文档原文的切片,不是向量,返回向量没用。

图片

看一下调用的实现,问题是llama3训练过程中断了多少次,它会先去向量库里做语义检索,把和这个问题相关的文档切片返回回来:

图片

接下来把问题,以及通过向量,在文档中找到的,和问题有关的文档切片组合成prompt。

图片

把prompt扔给模型,让它基于问题,以及你提供的上下文,生成答案。

图片

最后我们再让大模型来判断,答案是否正确。

图片

为便于验证,这里用的模型是一个3B的,llama3.2的大模型。

图片

最后总结一下,看看RAG做了什么。我让Cursor基于代码逻辑,画了个图,画得很好。两条处理流程,交汇点是向量库:

文档处理: 把文档解析,切片,存入向量化库(向量库里存:文档切片,和对应向量)。

查询流程: 对问题做向量化,在向量库中语义检索,把查询到的文档切片和问题组合成prompt,调用大模型,生成答案。

图片

我本身不喜欢RAG,当我们说"检索增强生成"时,感觉是检索在杀死生成。各种各样的知识库和检索算法,正在把语言模型最珍贵的野性驯化成家畜。我们既渴望机器具备真正的智能,又恐惧这种智能超越人类的掌控。

–by deepseek

代码位置: 我基于一个开源项目改的,感谢原作者,它针对RAG提供了近20种增强和优化手段的源代码,下次再聊:

https://github.com/devgvh/all-rag-techniques/blob/main/1_simple_rag.ipynb

从这个项目上,看到的RAG技术演进趋势

  1. 从静态到动态:从固定分块到动态分块和自适应检索

  2. 从单一到多模态:从纯文本到结合图像等多模态数据

  3. 从简单到复杂:从基础检索到图结构、层次化等复杂架构

  4. 从被动到主动:从被动检索到主动学习和优化

  5. 从独立到融合:从单一检索方法到多种方法的融合

如何零基础入门 / 学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

read-normal-img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值