半天速成:轻松上手大模型技术之RAG,快速掌握关键知识点

引 言

当前大模型在金融行业最广泛的应用之一就是知识问答,而支撑该应用的技术正是当下火热的检索增强生成(Retrieval Augmented Generation)技术,简称 RAG。因企业具体的业务往往需要注入特定的知识,比如ChatBI中企业数据库的相关知识、客服助手中客服FAQ等,所以RAG不仅可以应用在知识问答中,也在很多的业务场景中均有应用。本文将带读者了解RAG技术,并以知识问答为例帮助读者快速搭建一套属于自己RAG。

什么是RAG?

RAG全称为检索增强生成(Retrieval Augmented Generation),“检索”顾名思义是对大模型外挂知识库的检索,“增强生成”则是把检索得到的信息通过prompt提示给大模型使其从包含外部信息中学习知识(in-context learning)并生成正确答案。

为什么产生RAG技术?

RAG的产生主要源自于大模型自身存在的局限性。

时效性

大模型的知识更新就停留在它完成训练的那一刻,而重训一次大模型硬件、能源、时间等成本消耗非常高,仅为更新知识频繁重训大模型并不现实。因此,大模型无法回答近期发生的事件、趋势等具有时效性的问题。

缺少专业领域知识

大模型的训练虽然用了海量的知识,但仍然无法覆盖所有领域,比如法律、医学及企业内部知识等,所以面对未知的知识问题时,大模型无法给出有效的回答。

幻觉问题

面对未知的问题,大模型仍然会给出看似合理的错误回答,让用户难辨真假,这就是大模型的幻觉问题。大模型产生幻觉是因其训练的本质,即经过大量的训练后,预测下一个token。所以面对未知的问题,大模型不知“自己不知道”,只是在预测下一个概率高的token。

图1 大模型预测下一个token

RAG的出现就是为了解决上述问题,通过外挂知识库,解决时效性问题、补充领域知识;通过将检索内容作为背景知识供大模型参考,减少幻觉。

RAG的核心组件

图2 RAG流程

(图源自论文:Gao, Yunfan et. “Retrieval-Augmented Generation for Large Language Models: A Survey.” arXiv e-prints (2023): arXiv-2312)

上图展示了RAG的工作流程,对于用户的问题“如何评价你们OpenAI公司……”,从事先已经建立好索引的知识向量库中(图中索引模块)检索出与问题相关的文档片段“片段1《Sam Altman 回归 OpenAI 重任CEO……》、片段2《大戏落幕?Sam Altman将回归OpenAI……》、片段3《OpenAI 人事震荡……》”(图中检索模块),再将用户问题和检索到知识片段拼接成一个prompt“问题:如何评价你们OpenAI公司的……,请基于以下资料回答上述问题:片段1……,片段2……,片段3……”提交给大模型LLM生成最终的回答(图中生成模块)。

从上述流程不难总结出,RAG包含以下核心组件:知识向量库,检索和LLM生成。

知识向量库

在介绍知识向量库前,我们先了解下知识向量,将知识数据通过embedding算法映射到一个固定维度的向量空间中,从而捕捉到知识数据的语义就是知识向量。用相同的embedding算法将用户问题映射到同一向量空间,用户问题和知识的语义相似度就可以通过两个向量在空间中的距离来度量。知识向量库顾名思义就是专门用来高效存储和检索向量数据的数据库。常见embedding算法有M3E、text-embedding-3、fasttext等,常见的向量库有faiss、Milvus、Elasticsearch等。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

检索

检索是指基于向量数据库集成的向量相似度检索算法,召回与用户问题语义相似的知识向量的过程。常见检索算法包括全量搜索、降维、聚类、量化等。

LLM生成

基于大模型的技术综合考虑检索文档或信息片段和用户的问题,产出一份逻辑连贯、上下文一致的回答。

如何搭建RAG应用

搭建大模型环境

推荐使用Ollama框架搭建大模型运行环境,以Windows操作系统为例(Windows10或更高版本)进行说明。

1.安装ollama

从Ollama官网【https://ollama.com/download】下载Windows版的安装文件 【OllamaSetup.exe】,下载完成后直接点击安装即可。在命令行窗口输入 【ollama -v】查看是否安装成功。

2.模型文件拉取

联网情况

执行【ollama pull】命令进行模型文件拉取(支持拉取的模型可参考官方文档【https://ollama.com/library】, 包含Qwen2、Llama3.1、Gemma2等主流大模型 ),拉取完成后可执行【ollama list】查看已经安装的模型。

非联网情况

建议先从联网机器上中通过ollama pull提前完成模型拉取,再通过ollama show --modelfile获取模型的配置,其中以“FROM”开头的这行配置说明了模型源文件存储位置。将整个模型配置拷贝到配置文件Modelfile中,再将Modelfile和模型源文件拷贝到要安装的非联网机器上。在非联网机器上执行【ollama create-f Modelfile】完成模型文件导入,注意需要修改Modelfile中FROM的位置到非联网机器上模型源文件的位置。

图3 Ollama命令获取大模型配置

3.启动大模型

执行【ollama run】启动大模型,即可跟大模型对话了。执行【ollama ps】可查看正在运行的大模型的情况。

图4 调起大模型并查看大模型运行状态

安装python依赖

推荐使用miniconda来安装python相关的依赖包。

1.安装miniconda

在可信源上(如清华源)下载可执行文件,Miniconda3-py311_24.5.0-0-Windows-x86_64.exe,下载完成后点击安装即可。

2.安装python依赖包

联网情况

联网情况下安装可直接使用pip命令,【pip install ollama faiss-cpu tqdm numpy】,即可完成所有RAG应用程序所需的安装包。

非联网情况

需先在联网环境中使用pip命令下载好所需的所有python依赖到指定目录【pip download -d /path/to/your/directory ollama faiss-cpu tqdm numpy】。下载完毕后,将整个下载目录拷贝到离线环境设备上。执行【pip install --no-index --find-links= /path/to/your/directory ollama faiss-cpu tqdm numpy】即可完成python依赖安装。

搭建RAG应用-知识问答

下面代码块中展示了完整的RAG程序。其中,大模型采用的通义千问(qwen2:7b),embedding算法采用的是bge-m3,知识读取自相同目录下的“doc.txt”的文件。

程序主要包含4个函数:

text_to_embedding,将text文本转化为向量

faiss_database,建立知识向量库

find_relative_knowledge,检索相关知识

llm_generate,llm生成问答

main,程序执行的主流程:

Step1:构建知识向量库

Step2:提示用户输入问题

Step3:基于用户问题检索相关知识

Step4:基于检索到的知识让大模型生成回答

测试效果

下图展示了以金融相关知识构建的知识文档并在程序执行之前提前保存到“doc.txt”中。通过python example_rag.py命令,程序开始执行,首先按行对问数需求进行向量转化并存储(step1),共计12条知识片段;其次,提示用户提问(step2);然后针对用户的问题“货币供应量是什么”召回的相关的知识片段“什么叫货币供应量?货币…”(step3),最后将召回的知识片段和用户问题拼接成prompt让大模型生成回答(step4)。

图5 RAG应用程序测试效果

总 结

本文介绍了RAG技术产生的背景、RAG技术的核心组件以及如何搭建一个自己的RAG应用。得益于大模型技术的开源文化,搭建大模型及RAG应用均不难上手,读者可动手搭建开启自己的大模型RAG之旅。

零基础如何学习大模型 AI

领取方式在文末

为什么要学习大模型?

学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。

大模型典型应用场景

AI+教育:智能教学助手和自动评分系统使个性化教育成为可能。通过AI分析学生的学习数据,提供量身定制的学习方案,提高学习效果。
AI+医疗:智能诊断系统和个性化医疗方案让医疗服务更加精准高效。AI可以分析医学影像,辅助医生进行早期诊断,同时根据患者数据制定个性化治疗方案。
AI+金融:智能投顾和风险管理系统帮助投资者做出更明智的决策,并实时监控金融市场,识别潜在风险。
AI+制造:智能制造和自动化工厂提高了生产效率和质量。通过AI技术,工厂可以实现设备预测性维护,减少停机时间。

AI+零售:智能推荐系统和库存管理优化了用户体验和运营成本。AI可以分析用户行为,提供个性化商品推荐,同时优化库存,减少浪费。

AI+交通:自动驾驶和智能交通管理提升了交通安全和效率。AI技术可以实现车辆自动驾驶,并优化交通信号控制,减少拥堵。


这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。

学习资料领取

如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述

四、LLM面试题

在这里插入图片描述

如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新AI大模型资源包,这里全都有!无偿分享!!!

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值