一、提示工程 Prompt Engineering 简介
1、通用人工智能 和 专用人工智能
通用人工智能 和 专用人工智能 :
- AGI , Artificial General Intelligence , 通用人工智能 , 是一种具备学习、推理、感知、理解等人类智能的 全面智能系统 , 不局限于某一领域或任务 , 可以在多个领域表现出类似于人类的智能水平 ;
- ANI , Artificial Narrow Intelligence , 专用人工智能 , 只能执行特定任务 , 如 : 语音识别、图像识别、自然语言处理 ;
提示工程 Prompt Engineering 主要作用于 AGI , Artificial General Intelligence , 通用人工智能 ;
2、Prompt 提示词
Prompt 提示词 的作用是 引导模型生成特定类型的文本或完成特定任务 ;
提示词通常是 一段文本 或 代码片段 , 提供了关于期望输出的一些指导或约束 ;
在使用 GPT 模型时 , 设计和使用 优秀的提示词 可以显著提升 GPT 模型的实用性和效果 , 可以满足特定的输出需求 ;
提示词 Prompt 作用如下 :
- 引导 GPT 模型 生成 特定主题或风格的文本 ;
- 指导 GPT 模型完成特定的任务 , 如 : 翻译、摘要、问答、编程 ;
- 指导 GPT 模型生成特定语言风格或口吻的文本 ;
- 作为约束条件 , 限制 GPT 模型生成的范围或内容 ;
- 优秀的提示词可以更准确的表达用户意图 , 生成更高质量的输出 ;
3、提示工程
提示工程 Prompt Engineering , 又叫 指令工程 ;
Prompt 提示词 是使用 通用人工智能 ( AGI , Artificial General Intelligence ) 的 基础语言 ,
Prompt Engineering 提示工程 就是 如何设计和使用 提示词 的工程 ;
4、掌握 提示工程 的优势
提示工程师 相当于 就是 在 AGI 领域 可以设计和使用优秀提示词的工程师 , 在 AGI 时代每个人都要成为优秀的 提示词工程师 , 一个程序员如果 提示工程 素养太差 , 其工作效率也会相应变低 , 逐渐会被淘汰 ;
在当前的阶段 , 了解或精通 " 提示工程 " , 对一个开发者是很大的优势 , 有意识掌握 提示工程 的人 只是少数人 ;
5、提示工程目的
GPT 大模型 只是 根据当前的 提示词语境 基于概率生成下一个字 , 生成出来的语句并不一定是想要的输出结果 ;
对于不同的提示词 , 有的提示词是有效的 , 得到了我们想要的输出结果 , 有的提示词是无效的 , 使用哪些提示词可以高效解决问题 ;
对于 相同的提示词 , 在不同的语境下 , 有时是有效的 , 有时是无效的 ; 进行多轮对话 , 多次渐进提问 , 不断对提示词进行校准 , 可以得到更好的输出结果 ;
提高 提示词 的 有效性 , 提高 提示词 的对应输出结果的质量 , 就是 提示工程 要解决的问题 ;
二、提示词组成、迭代、调优及示例
复杂的任务 , 需要提示词进行多轮对话 , 每一轮都对提示词进行迭代、调优 , 最终得到满意的输出结果 ;
1、提示词的组成
提示词的组成 :
- 任务指示 : 描述具体的需求 , 要执行什么样的任务 ;
- 构造语境环境 ( 上下文 ) : 在与大模型的多轮交互中 , 不断描述校准任务的其它细节和背景 ;
- 给出示例 : 想要大模型生成什么样的结果 , 可以 给大模型一个结果示例 , 让大模型参考给出类似结果 ;
- 输入信息 : 在 提示词 中 , 明确该任务的输入信息 , 包括 参数 , 文字 , 图片 等信息 ;
- 输出信息 : 在 提示词 中 , 明确指定想要的输出结果 , 如 : 给出指定格式的结果 , HTML 文档 , XML 文档 等 ;
2、提示词的迭代、调优
使用大模型解决一个问题 , 找到好的 Prompt 提示词需要 持续的 迭代、调优 ;
让 GPT 大模型理解你的需求 , 将需求描述清楚 , 这个需要 不断完善需求的细节 , 不要认为一些所有人都认为是常理的事物就可以不描述 ;
大模型只是一个 根据概率生成词汇的机器 , 并不具备很多人的本能逻辑 , 需要把需求的各个细节尽可能的描述清楚 ;
描述的需求 , 不能有歧义 , 大模型也可会 出现 理解错误 的问题 ;
3、提示词基础示例
给定一段文字 ,
我叫小王,住在北京市海淀区清华东路16号,手机号是18588888888,爱好是打篮球
使用 ChatGPT 大模型提取其中的 学生姓名 , 家庭住址 和 电话 , 则使用如下提示词 :
从下面的文字中提取 学生姓名,家庭住址和电话 : 我叫小王,住在北京市海淀区清华东路16号,手机号是18588888888,爱好是打篮球
ChatGPT 给出的结果是 :
学生姓名: 小王
家庭住址: 北京市海淀区清华东路16号
电话: 18588888888
4、提示词 " 指定输出格式 " 示例
如果我们想要特定的输出格式 , 比如 XML 格式 , 第二轮对话中 , 追加提示词
请输出 XML 格式结果
得到如下输出结果 :
<student>
<name>小王</name>
<address>北京市海淀区清华东路16号</address>
<phone>18588888888</phone>
</student>
5、提示词 " 上下文语境 " 示例 - 多轮对话解决问题
在 智能客服 的应用场景中 ,
智能客服 与 客户 进行对话 ,
GPT 大模型生成的模型 , 需要参考之前的历史对话记录 , 构造一个上下文环境 , 生成后续内容 ;
每轮提问 , 都将历史对话记录放在提示词中 ;
提示词 :
当前扮演的角色是客服 , 与客户进行对话 , 回答客户的问题 , 之前的历史记录如下 :
客服 : 您好 , 请问您需要什么帮助?
客户 : 我想退款 ?
生成客服下一步的话术 , 尽量劝导客户不要退款 ;
GPT 模型输出 :
您好,感谢您的留言!我们很重视您的需求。请问是什么原因让您想要退款呢?或许我们可以帮您解决遇到的问题,或者提供一些优惠和额外的服务,让您有更好的体验。希望能找到一个令您满意的解决方案。
该任务就需要反复将客户的回复作为提示词 , 进行多轮对话 , 生成下一步的对话 ;
后续提示词 与 输出结果 : 每次都将双方的上一次对话 , 叠加到本次的提示词中 ;
6、提示词 " 增加约束 " 示例
如果对输出结果不太满意 , 可以在提示词中 增加约束 ,
对 GPT 大模型的 输出结果进行一定的约束 , 如 : 语气更加人性化 , 回答更加简短 , 增加一些数据支持 等 ;
约束提示词 可以 直接追加在 第一轮的 提示词中 , 也可以在输出结果完成后 , 在后续交互中 追加约束 ;
追加约束提示词 :
回答更加简短一些
三、思维链 Chain of Thought
1、思维链简介
思维链 ( CoT , Chain of Thought ) 是 GPT 大模型 的 独特的 推理能力 , 这是在进行 大模型 训练时 偶然发现的功能 ;
思维链 可以 使 大模型 执行复杂的推理逻辑 , 生成更可靠的输出结果 ;
大模型 会自动将 复杂问题 拆解成多个步骤 , 逐步解决每个步骤的子问题 , 并明确地展示如何解决中间步骤的问题 , 最终得到准确的输出结果 ;
2、思维链推理过程
思维链推理过程 :
- 拆解问题 : 将 复杂问题 拆解成 一系列更简单的步骤 ; 逐步处理这些步骤 , 不直接生成最终结果 ;
- 逐步处理 : 逐步处理拆解出的步骤 , 输出中间推理步骤 , 与人类解决问题的思考过程相似 ;
- 输出结果 : 经过多个步骤的生成 , 最终输出结果 ;
思维链 , 将 思考过程 完整的 展示出来 , 可以使用户了解问题的解决步骤 , 如果输出的结果不满意 , 可以针对有问题的步骤进行干预约束 ;
3、启用思维链的提示词指令
在提示词的末尾 , 追加
analyze the task step by step
或 中文
逐步分析任务
可以 激活思维链 , GPT 会给出思维过程 , 如何拆解问题 , 以及每个问题如何解决的 ;
4、思维链原理
使用了 思维链 指令后 , 就会触发 GPT 模型 将问题拆解出更详细的步骤 ;
每个步骤 都是下一个步骤的 " 上文 " ;
生成的 " 上文 " 越多 , 下文就 " 越准确 " ;
即使下文不准确 , 我们也可以一目了然的看出在哪个步骤开始偏离正确答案 , 方便下一轮的提示词约束该步骤生成正确的答案 ;
GPT 模型 生成的内容越多 , 得到的结果越准确 ;
5、思维链示例
计算一个算术运算题 , 在 ChatGPT 中输入如下提示词 :
计算 24÷3+5×2 的值
得到下面的结果 :
这个数学表达式可以按照先乘除后加减的原则来计算。所以,先计算乘法和除法,再计算加法和减法。
24 ÷ 3 + 5 × 2 24 \div 3 + 5 \times 2 24÷3+5×2
首先计算除法: 24 ÷ 3 = 8 24 \div 3 = 8 24÷3=8
然后计算乘法: 5 × 2 = 10 5 \times 2 = 10 5×2=10
最后计算加法: 8 + 10 = 18 8 + 10 = 18 8+10=18
因此, 24 ÷ 3 + 5 × 2 24 \div 3 + 5 \times 2 24÷3+5×2 的值为 18。
上述计算过程中 , 不仅给出了结果 , 还给出了计算过程 , 以及 大模型 是如何拆解问题的 ;
如果计算结果不对 , 是中间的某个步骤出现了问题 , 则可以使用提示词干预其中的某个步骤 , 让 GPT 重新生成结果 ;
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓