手把手教你实现大模型RAG系列教程- 01大模型应用技术介绍
前言
《手把手教你实现大模型RAG》系列文章分享的是从0到1基于langchain实现大模型结合本地知识库的问答系统。
主要内容包括:
-
大模型应用技术介绍
-
RAG原理及流程的系统介绍
-
基于langchain手把手教你实现大模型RAG的整个流程
-
使用第三方的大模型服务实现RAG
-
使用开源大模型实现标准的模型服务部署,并基于部署的大模型实现RAG
-
使用gradio教你快速实现RAG的体验UI,能够快速测试RAG的效果
-
支持多种本地文档格式的上传和切割,并实现文本向量化
-
实现基于langchain的文本向量的检索服务手把手教你实现大模型RAG
本系列文章会逐一分享上述内容,同时也出了该系列的视频课程,见B站《手把手教你实现大模型RAG-acedar讲师》, 文章和视频结合学习效果更佳。
大模型应用技术介绍
自chatGPT问世以来,基于大模型的应用如雨后春笋,从技术层面划分,可以将大模型的应用分为四个技术类型,包括:基于prompt工程的、基于微调的、基于检索增强生成的及agent四个机制。
prompt工程
基于prompt工程的主要是直接使用大模型,为了让大模型的输出更符合人类预期,主要的研究重点在如何设计prompt。在介绍设计prompt原则前,先介绍几个容易混淆的概念:
-
zero shot:zero shot指的向大模型提问时,不给出示例,比如将中文翻译成英文,直接给出的一段话或段落让大模型翻译,如:“”“请将下面的中文翻译成英文:中国是我的故乡”“”
-
few shot:与few shot对应的是zero shot,这种情况是在让大模型输出结果时,给出1个或多个例子,如:“”“请参考例子将下面的中文翻译成英文,中国->china, 漂亮->beauty, 中国是我的故乡->”“”, 这里给出了两个"中国"和"漂亮"的翻译例子。
-
in-context learning:in-context learning更多强调的是上下文信息,包括但不局限于示例,一般而言,in-context learning含义与few shot含义接近。
-
instruct learning:instruct learning 是更广义的提示,强调的是任务的要求和说明,其中可以包括例子,也可能只有说明和要求,比如"““你是一位资深的地理学者,请告诉我地球包括几大洋?””“”
在很多场景下,in-context learning 、instruct learning是一期谈论的,zero shot、few shot会一期谈论,可以理解为他们是不同场景下的表达。
纯使用大模型,围绕设计prompt通常需要遵循以下几个原则:
-
确定谈话的目的和重点。在编写提示之前,必须清楚地了解您希望通过对话实现的目标。您是想提供信息、回答问题还是进行随意的交谈?通过确定对话的目的和重点,您可以制作一个具体且相关的提示。
-
使用具体和相关的语言。为确保大模型理解您的提示并提供适当的响应,使用特定且相关的语言至关重要。避免使用可能引起混淆或误解的行话或模棱两可的语言。相反,使用与当前主题相关的语言,力求尽可能清晰和简洁。
-
避免使用开放式或过于宽泛的提示。虽然为了获得更全面的答复而提出开放式或过于宽泛的问题可能很诱人,但这些类型的提示通常会导致与大模型的对话脱节或没有重点。相反,目标是在您的提示中尽可能具体,为对话定义明确的目的和重点。
-
查看并修改您的提示。在将您的提示发送到ChatGPT之前,请花点时间查看和修改它以确保它清晰易懂。考虑语言是否具体、相关,提示是否突出重点,避免歧义。
设计prompt的完整说明见ChatGPT提示(prompt)的艺术: 制作清晰有效的提示的指南
微调使用(SFT)
我们在使用大模型解决实际问题时会发现,在有些情况下大模型无法解决某些特定领域的问题,比如使用ChatGPT无法很好的回答中国法律法规相关的问题。
为了解决这类问题,可以在以后的开源大模型上使用专业领域的数据做一些微调,让大模型更好的在特定领域发挥作用。
微调的方法有很多,包括p-tuning、prefix-tuning、adapter及比较常用的lora等方式,从业务上来包括基于输入的、基于目标的微调等等。
在很多的场景下,经过微调的模型在特定场景下都能取得不错的提升。
然而,微调也有其自身的弊端,要对模型进行微调就需要标注有标签的数据,这会大大增加大模型落地的成本,同时使用特定场景的标注数据微调会导致泛化能力不强,对新的任务新的场景需要重新微调,这个过程是耗时耗力的。
检索增强生成(RAG)
企业自己训练大模型成本是高昂的,对很多中小型公司来说,直接通过接口访问第三方大模型是经济效益比较好的方案,为了满足特定场景和特定领域的需求,检索增强生成技术应运而生。
检索增强生成是在不修改大模型的基础上,将特定的领域数据一同喂给大模型,大模型结合给定的领域数据回答用户的问题。
在提供特定的领域数据一般有两个方案:
一种方案是公司特有的数据先本地构建索引然后检索出若干相关信息,让大模型结合检索的信息回答问题,每次提问只会给相关的信息一个发给大模型。
另一种方案是用户直接给大模型提供方上传本地知识库,由大模型提供方去管理这些用户上传的本地知识。
两者相比,方案一更加注重隐私,也可以根据自身需要优化检索的方案。方案二更加便利,因为是专门的第三方提供服务,服务的稳定性也更有保障。
另外在大模型部署侧也可以公司内部自己部署开源的大模型而非使用第三方的大模型服务。
代理模式(agent)
agent模式是解决复杂问题多任务场景的最优解决方案或是目前阶段逼近AGI的最有效的技术方案。
agent可以自定义函数和工具如计算器/日历/搜索服务等、执行逻辑,又充分利用大模型的任务拆解、规划和自定义函数和工具选择的能力,将其结合起来,达到1+1>2的效果。
agent的主要应用为多角色协作处理复杂的多任务场景,agent的劣势是需要整合的工具较多,从性价比来看单个任务使用agent未必是最优解。
其他
使用大模型的技术中,上述介绍的几种不是觉得割裂的,是可以综合在一起的,比如既设计好的prompt,也可以使用微调的模型。
使用RAG技术也可以使用微调的模型等等。需要强调的是在大模型技术的演进中,还有一类是强化学习技术,强化学习技术对数据和奖励函数/模型的设计要求非常高,一般情况下是不会使用这类技术去微调模型提升特定场景下应用的效果的,性价比极低,所以这里不展开介绍。
在大模型时代,我们如何有效的去学习大模型?
现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
掌握大模型技术你还能拥有更多可能性:
• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;
• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;
• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;
• 更优质的项目可以为未来创新创业提供基石。
可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF书籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型各大场景实战案例
结语
【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈