面向开发者的LLM入门课程
其它内容请读者自行下载PDF去学习,这里就不一一展示了。
本文系统介绍了LLM应用开发全流程,从基础概念到Prompt Engineering技巧,再到使用LangChain框架整合私有数据构建个性化问答系统。详细讲解了如何加载处理本地文档、使用向量数据库、实现检索回答等关键技术,帮助开发者突破传统预训练模型的局限,打造能够访问用户私有数据并提供个性化服务的AI应用,是入门LLM开发的实用指南。
“ LLM正在逐步改变人们的生活,如何基于LLM提供的API快速、便捷地开发一些具备更强能力、集成LLM的应用,来便携地实现一些更新颖、更实用的能力,是一个急需学习的重要能力。本文结合吴恩达老师的课程介绍下如何快速的构建自己的LLM应用。”
讲在前面:在文末附录中,有对应的几个参考书目的电子版本和代码笔记,可以通过后台回复获取相关资料。
01
—
学习线路
下面是提纲挈领的整理下入门课程的学习大纲,按照这样的模式可以非常高效的掌握LLM应用开发。
LLM入门课程(学习路线)
├── 基础技能学习
│ ├── 基础概念
│ └── 编程语言
├── Prompt Engineering
│ └── Prompt Engineering模块
│ ├── 构造有效Prompt
│ └── 基于OpenAI API实现功能
├── API应用开发
│ └── API应用开发模块
│ └── 开发对话系统
├── LangChain框架学习
│ └── LangChain框架学习模块
│ └── 基于LangChain开发应用
├── 个性化应用开发
│ └── 个性化应用开发模块
│ └── 结合私有数据开发个性化应用
├── 多语言学习
│ └── 多语言学习模块
│ ├── 中文翻译教程
│ ├── 范例代码
│ └── 中文Prompt设计
├── 高级技巧学习
│ └── 高级技巧学习模块
│ └── 高级Prompt技巧
├── 实践与应用
│ └── 实践与应用模块
│ └── 应用开发实践
├── 社区与资源
└── 社区与资源模块
├── 开源社区
└── 最新技术进展
还有几门必备的课程:《Prompt
Engineering for Developers》、《Building Systems with the ChatGPT API》、《LangChain for LLM
Application Development》、《LangChain Chat With Your Data》
当前的大规模预训练语言模型,如ChatGPT等,虽然在处理通用问题上表现出色,但它们在利用用户特定数据方面存在一定的局限性。这些模型通常依赖于广泛的训练数据集,却未能有效整合用户个人的、私密的数据资源。这一局限在特定场景下尤为明显:模型无法访问用户的个人信息、企业内部数据等私有资源,以生成更为个性化和精准的回答。此外,由于模型的知识截止于预训练阶段,它们无法获取用户最新的实时数据,从而在处理需要最新信息的问题时显得力不从心。
设想一下,如果我们能够赋予语言模型直接访问和分析用户自有数据的能力,同时让模型能够实时吸收用户最新产生的数据流,那么模型的回答质量将得到显著提升。这种能力将使模型能够更深入地理解用户的具体情境,提供更加贴合实际需求的解决方案。
本文将探讨如何利用LangChain这一框架来整合用户的私有数据,以增强语言模型的功能。我们将讨论以下几个关键方面:
- 加载并处理本地文档:如何将用户的本地文档加载到系统中,并进行有效的文本切割和预处理。
- 向量数据库与词向量:介绍如何将文本转换为向量表示,并存储在向量数据库中以便于检索。
- 检索回答:探讨如何通过检索技术快速找到相关信息,并结合语言模型生成回答。
- 基于私有数据的问答与聊天:展示如何构建一个系统,使语言模型能够基于用户的私有数据进行问答和聊天,从而提供更加个性化的服务。
通过这些方法,我们期望打破传统预训练语言模型的局限,让模型的回答更加贴近用户的实际情况,提供更加精准和有价值的信息。
02
—
几个概念的澄清
***《基础模型》-***基础LLM是基于文本训练数据,训练出预测下一个单词能力的模型。其通常通过在互联网和其他 来源的大量数据上训练,来确定紧接着出现的最可能的词。
******《指令微调》-******通过专门的训练,可以更好地理解并遵循指令。指令微调 LLM 的训练通常基于预训练语言模型,先在大规模文本数据上进行预训练,掌握语言的基本规律。在此基础上进行进一步的训练与微调(finetune),输入是指令,输出是对这些指令的正确回复。有时还会采用RLHF (reinforcement learning from human feedback,人类反馈强化学习)技术,根据人类对模型输出的反馈进一步增强模型遵循指令的能力。通过这种受控的训练过程,指令微调 LLM 可以生成对指令高度敏感、更安全可靠的输出,较少无关和损害性内容。
03
—
Prompt Engineering
Prompt 即成为与大模型交互输入的代称。即我们一般将给大模 型的输入称为 Prompt,将大模型返回的输出称为 Completion。
LLM(大语言模型)的出现,自然语言处理的范式正在由 Pretrain-Finetune(预训练- 微调)向 Prompt Engineering(提示工程)演变。对于具有较强自然语言理解、生成能力,能够实现多 样化任务处理的 LLM 来说,一个合理的 Prompt 设计极大地决定了其能力的上限与下限。Prompt Engineering,即是针对特定任务构造能充分发挥大模型能力的 Prompt 的技巧。要充分、高效地使用 LLM,Prompt Engineering 是必不可少的技能。
面向入门 LLM 的开发者,如何构造 Prompt 并基于LLM 提供的 API 实现包括总结、推断、转换等多种常用功能,是入门 LLM 开发的第一步。
Prompt 设计的两个关键原则:清晰明确 + 给予充足思考时间。
一、清晰明确的指令
- 使用分隔符清晰的表示输入的不同部分


- 寻求结构化的输出


- 要求模型检查是否满足条件
如果任务包含不一定能满足的假设(条件),我们可以告诉模型先检查这些假设,如果不满足,则会指 出并停止执行后续的完整流程。您还可以考虑可能出现的边缘情况及模型的应对,以避免意外的结果或 错误发生。


- 提供少量的示例
“Few-shot” prompting,即在要求模型执行实际任务之前,给模型一两个已完成的样例,让模型了解我们的要求和期望的输出样式。

二、给模型时间去思考
在设计 Prompt 时,给予语言模型充足的推理时间非常重要。语言模型与人类一样,需要时间来思考并 解决复杂问题。如果让语言模型匆忙给出结论,其结果很可能不准确。例如,若要语言模型推断一本书的主题,仅提供简单的书名和一句简介是不足够的。这就像让一个人在极短时间内解决困难的数学题,错误在所难免。
相反,我们应通过 Prompt 指引语言模型进行深入思考。可以要求其先列出对问题的各种看法,说明推理依据,然后再得出最终结论。在 Prompt 中添加逐步推理的要求,能让语言模型投入更多时间逻辑思维,输出结果也将更可靠准确。
综上所述,给予语言模型充足的推理时间,是 Prompt Engineering 中一个非常重要的设计原则。这将大大提高语言模型处理复杂问题的效果,也是构建高质量 Prompt 的关键之处。开发者应注意给模型留出思考空间,以发挥语言模型的最大潜力。
- 指定完成任务所需的步骤




- 指导模型在下结论之前找出一个自己的解法
在设计 Prompt 时,我们还可以通过明确指导语言模型进行自主思考,来获得更好的效果。举个例子,假设我们要语言模型判断一个数学问题的解答是否正确。仅仅提供问题和解答是不够的,语言模型可能会匆忙做出错误判断。
相反,我们可以在 Prompt 中先要求语言模型自己尝试解决这个问题,思考出自己的解法,然后再与提 供的解答进行对比,判断正确性。这种先让语言模型自主思考的方式,能帮助它更深入理解问题,做出更准确的判断。




04
—
迭代优化
在开发大语言模型应用时,很难通过第一次尝试就得到完美适用的 Prompt。但关键是要有一个良好的迭代优化过程,以不断改进 Prompt。相比训练机器学习模型,Prompt 的一次成功率可能更高,但仍需要通过多次迭代找到最适合应用的形式。

文中举例一个非常完整的例子(《从产品说明书生成营销产品描述》)进行阐述上面的prompt 工程的迭代方向。具体可以参考附录中的PDF内容。
05
—
文本概括
在繁忙的信息时代,每一位开发者都面临着海量的文本信息处理的挑战。需要通过研究无数的文献资料来为项目找到关键的信息,但是时间却远远不够。
这个功能如同灯塔一样,照亮了处理信息海洋的道路。LLM 的强大能力在于它可以将复杂的文本信息简化,提炼出关键的观点。不再需要花费大量的时间去阅读所有的文档,只需要用 LLM 将它们概括,就可以快速获取到他所需要的信息。
主要介绍两部分:单一文本概括、概括多条文本
《单一文本概括》

可以进行如下的操作:限制输出文本长度、设置关键角度侧重、关键信息提取。
《多条文本概括》
在实际的工作流中,我们往往要处理大量的评论文本,下面的示例将多条用户评价集合在一个列表中, 并利用 for 循环和文本概括(Summarize)提示词,将评价概括至小于 20 个词以下,并按顺序打印。当然,在实际生产中,对于不同规模的评论文本,除了使用 for 循环以外,还可能需要考虑整合评论、 分布式等方法提升运算效率。

06
—
文本推断
我们将通过一个故事,引领你了解如何从产品评价和新闻文章中推导出情感和主题。 让我们先想象一下,你是一名初创公司的数据分析师,你的任务是从各种产品评论和新闻文章中提取出 关键的情感和主题。这些任务包括了标签提取、实体提取、以及理解文本的情感等等。在传统的机器学 习流程中,你需要收集标签化的数据集、训练模型、确定如何在云端部署模型并进行推断。尽管这种方 式可能会产生不错的效果,但完成这一全流程需要耗费大量的时间和精力。而且,每一个任务,比如情 感分析、实体提取等等,都需要训练和部署单独的模型。
然而,就在你准备投入繁重工作的时候,你发现了大型语言模型(LLM)。LLM 的一个明显优点是,对 于许多这样的任务,你只需要编写一个 Prompt,就可以开始生成结果,大大减轻了你的工作负担。这个 发现像是找到了一把神奇的钥匙,让应用程序开发的速度加快了许多。最令你兴奋的是,你可以仅仅使 用一个模型和一个 API 来执行许多不同的任务,无需再纠结如何训练和部署许多不同的模型。
这里主要介绍三部分:情感推断、信息提取、主题推断
情感推断


情感识别


其它内容请读者自行下载PDF去学习,这里就不一一展示了。
如何学习AI大模型 ?
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓
CSDN粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
👉1.大模型入门学习思维导图👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
👉2.AGI大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

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

👉4.大模型实战项目&项目源码👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。(全套教程文末领取哈)
👉5.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
👉6.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
为什么分享这些资料?
只要你是真心想学AI大模型,我这份资料就可以无偿分享给你学习,我国在这方面的相关人才比较紧缺,大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!
这些资料真的有用吗?
这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


CSDN粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)