• 学习材料:https://www.hiascend.com/developer/courses/detail/1935520434893606913
  • 学习时长: 预计 30 分钟
  • 学习目的:
    1. 了解提示工程的定义与作用
    1. 熟悉提示工程的关键技术相关概念
    1. 掌握基于昇腾适配的大模型提示工程的入门及进阶指南

提示词工程介绍

NLP发展的四大范式

NLP(自然语言处理)发展的四大范式通常被概括为:

非神经网络时代的完全监督学习(特征工程):这一范式主要依赖于人工设计的规则或统计模型,需要大量的人工特征工程来完成特定的NLP任务 。

基于神经网络的完全监督学习(架构工程):随着深度学习的发展,开始使用如RNN、CNN等神经网络模型进行NLP任务,这一阶段侧重于模型架构的设计 。

预训练+精调范式(目标工程):利用大规模语料进行预训练,然后针对具体任务对模型进行微调(Fine-tuning)。

预训练+提示+预测范式(Prompting):这是近期兴起的一种范式,通过设计特定的提示(Prompt)来引导预训练模型生成所需的结果,减少了对大量标注数据微调的依赖。

这些范式的演进体现了NLP技术从依赖人工规则和特征,到利用深度神经网络,再到利用大规模预训练模型的发展历程。

什么是 Prompt

在大规模语言模型(LLM, Large Language Models)领域,Prompt 是一种结构化的输入序列,用于引导预训练的语言模型生成预期的输出。它通常包括明确的任务要求、背景信息、格式规定以及示例,以充分利用模型的能力,在特定任务中生成高质量的响应。

Prompt 的核心作用

  • 指导模型行为:通过提供清晰的任务描述和上下文,Prompt 告诉模型需要完成什么任务。
  • 控制输出质量:通过包含格式规范和示例,Prompt 可以帮助模型生成符合期望的输出。
  • 提高模型表现:Prompt 设计得当可以显著提升模型在特定任务中的表现,尤其是在零样本学习(Zero-Shot Learning)或少样本学习(Few-Shot Learning)场景中。

Prompt 的组成要素

  • 任务要求:明确告诉模型需要完成的任务,例如“翻译这段文字”、“回答这个问题”等。
  • 背景信息:提供与任务相关的上下文或背景知识,帮助模型更好地理解问题。
    格式规定:指定输出的格式要求,例如“请用简短的句子回答”、“按照时间顺序排列”等。
  • 示例:提供一个或多个示例,展示期望的输入和输出格式,帮助模型理解任务的具体要求。

Prompt 的工作原理
Prompt 被输入到大语言模型中,模型根据 Prompt 中的信息生成相应的输出。以下是其工作流程:

  • 输入 Prompt:用户向模型提供一个结构化的输入序列(Prompt),其中包含任务描述、背景信息、格式要求和示例。
  • 模型处理:大语言模型根据 Prompt 的内容,结合其预训练的知识和能力,生成符合任务要求的输出。
  • 生成文本:模型输出一段文本,作为对 Prompt 的响应。

举例说明:

帮助小学四年级的学生写一篇600字的人工智能介绍

Prompt 怎样发挥作用

Prompt 的作用机制可以分为多个步骤,从输入到最终输出的生成过程。

  1. 接受输入
  • 用户输入 Prompt:用户向大语言模型提供一个结构化的输入序列(Prompt),其中包含任务描述、背景信息、格式要求和示例等。
    Prompt 的内容:
  • 任务要求:明确告诉模型需要完成的任务,例如翻译、问答、摘要等。
  • 背景信息:提供与任务相关的上下文或背景知识,帮助模型更好地理解问题。
  • 格式规定:指定输出的格式要求,例如“请用简短的句子回答”、“按照时间顺序排列”等。
    示例:提供一个或多个示例,展示期望的输入和输出格式,帮助模型理解任务的具体要求。
  1. 文本处理与编码
  • 分词(Tokenization):将 Prompt 中的文本分解为基本单元(tokens)。这些 tokens 可能是单词、子词(subword)、字符或其他单位,具体取决于模型的设计。
  • 编码(Encoding):将分词后的 tokens 转换为模型能够理解的数值表示(通常是向量形式)。这个过程通常使用预训练的语言模型中的嵌入层(Embedding Layer)完成。
  • 上下文窗口限制:由于大多数大语言模型具有上下文窗口限制(例如 GPT-3 的 2048 tokens 或 GPT-4 的更长上下文窗口),Prompt 的长度需要控制在模型支持的范围内。
  1. 模型计算
  • 输入到模型:经过编码的 Prompt 被输入到大语言模型中。模型是一个深度神经网络,通常基于 Transformer 架构。
    自回归生成:大语言模型通常是自回归式的,这意味着它会逐个生成输出 token。模型根据当前已生成的部分输出和输入的 Prompt,预测下一个最可能的 token。
  • 注意力机制:Transformer 模型的核心是注意力机制(Attention Mechanism),它允许模型关注输入序列中的不同部分,从而更好地理解和生成输出。
    概率分布:在每个时间步,模型会输出一个概率分布,表示每个可能的 token 出现的概率。模型会选择概率最高的 token 作为当前的输出。
  1. 生成输出
  • 逐步生成:模型根据概率分布逐步生成输出 token,直到满足停止条件(例如达到最大长度、生成特殊结束标记等)。
  • 输出解码:生成的 token 序列被解码回原始文本形式,形成最终的输出。
  1. 格式调整与后处理
  • 格式调整:根据 Prompt 中的格式要求,对生成的输出进行调整。例如,如果 Prompt 要求输出为列表形式,但模型生成的是连续文本,可能需要手动分割或调整格式。
  • 后处理:对输出进行进一步的优化,例如去除重复内容、修正语法错误、调整语气等。
  • 质量检查:验证输出是否符合任务要求,必要时可以重新调整 Prompt 或使用其他方法改进结果。

为什么需要提示词工程

Prompt 工程(Prompt Engineering)是通过精心设计和优化 Prompt,以引导大语言模型(LLM)生成高质量、符合预期的输出的过程


1. LLM 的黑盒特性
  • LLM 是一个黑盒:尽管大语言模型经过大量数据预训练,具有强大的语言理解和生成能力,但其内部工作机制对于用户来说是不透明的。模型的推理过程是一个复杂的神经网络计算过程,用户无法直接控制或干预。
  • 结果依赖于输入:LLM 的输出高度依赖于输入的 Prompt。即使是同一模型,在面对不同的 Prompt 时,可能会生成截然不同的结果。

2. 提高任务完成质量
  • 明确任务需求:通过精心设计 Prompt,可以更清晰地传达任务要求,帮助模型更好地理解用户的意图。
  • 提供上下文信息:Prompt 可以包含背景知识、示例等上下文信息,为模型提供更多的线索,从而生成更准确、更符合预期的输出。
  • 控制输出格式:通过在 Prompt 中指定格式要求(如列表、段落、表格等),可以引导模型生成符合特定格式的输出。

3. 实现零样本学习与少样本学习
  • 零样本学习(Zero-Shot Learning):在没有额外训练数据的情况下,通过设计合适的 Prompt,可以让模型直接完成新任务。例如,让模型完成从未见过的任务类型(如翻译、问答、摘要等)。
  • 少样本学习(Few-Shot Learning):通过在 Prompt 中提供少量示例,可以显著提升模型在新任务上的表现。这种方法避免了重新训练模型的高昂成本,同时能够快速适应新的应用场景。

4. 不更新模型参数即可调整行为
  • 无需重新训练:Prompt 工程的核心优势在于,它可以在不更新模型参数的前提下,通过调整 Prompt 来改变模型的行为。这对于大规模语言模型尤为重要,因为重新训练这些模型的成本极高(计算资源、时间、资金等)。
  • 灵活性强:通过调整 Prompt,可以快速适应不同的任务需求,而无需对模型本身进行修改。

5. 改善用户体验
  • 定制化输出:通过优化 Prompt,可以生成更加个性化、符合用户需求的输出。例如,根据用户的偏好调整语气、风格、内容深度等。
  • 减少试错成本:精心设计的 Prompt 可以显著提高模型的首次响应质量,减少用户反复尝试的次数,提升整体使用体验。

以下是一个具体的例子,说明 Prompt 工程的重要性:

场景:生成旅行攻略
  • 原始 Prompt
    我想去杭州玩,请帮我做一份攻略。
    

  • 问题:输出较为笼统,缺乏具体细节(如行程安排、预算、推荐景点的价格等)。

  • 优化后的 Prompt

    我想去杭州玩,请综合考虑为我做一份旅行攻略。请注意,我们从北京出发,行程5天,旅行人数3人,有一名2岁小孩,我不太喜欢行程太紧凑,希望包含吃穿住行四个方面内容,预算1万元。推荐的景点请附上价格以及最佳订票时间。
    

改进:输出更加详细、个性化,充分考虑了用户的行程安排、预算限制、家庭成员情况等,提供了更具实用价值的信息。

完整回答:chat.qwen.ai/s/d13f90f2-2443-4b10-9420-33ae40e895ac?fev=0.0.166


Prompt 典型应用场景

Prompt 的典型应用场景

Prompt 是一种强大的工具,广泛应用于自然语言处理(NLP)和图像生成等领域。通过精心设计的 Prompt,可以引导模型完成各种复杂任务,并生成高质量的输出


1. 自然语言处理领域

在自然语言处理领域,Prompt 主要用于指导大语言模型完成特定的语言相关任务。以下是一些典型应用场景:

(1) 文本生成
  • 任务描述:根据给定的提示词或上下文,生成符合要求的文本内容。
  • 应用场景
    • 故事创作:例如,“请续写一个关于未来世界的科幻故事,主角是一名年轻的科学家。”
    • 新闻撰写:例如,“根据以下事件摘要,撰写一篇新闻报道:某城市发生地震,造成多人伤亡。”
    • 邮件撰写:例如,“请帮我写一封感谢信,感谢客户对我们的支持。”
(2) 翻译
  • 任务描述:将一种语言的文本翻译成另一种语言。
  • 应用场景
    • 多语言支持:例如,“请将这段英文翻译成中文:The quick brown fox jumps over the lazy dog.”
    • 实时翻译:例如,在跨语言交流中,使用 Prompt 实现即时翻译。
(3) 问答系统
  • 任务描述:根据问题生成准确的答案。
  • 应用场景
    • 知识检索:例如,“请问巴黎圣母院的历史背景是什么?”
    • 客服机器人:例如,“如何更换手机号码?”
(4) 摘要生成
  • 任务描述:从长文本中提取关键信息,生成简洁的摘要。
  • 应用场景
    • 新闻摘要:例如,“请为以下新闻文章生成一段50字的摘要。”
    • 学术论文摘要:例如,“请为这篇研究论文生成一份简短的摘要。”
(5) 文本分类
  • 任务描述:根据文本内容将其归类到特定的类别。
  • 应用场景
    • 情感分析:例如,“请判断以下评论的情感倾向:正面、负面或中性。”
    • 主题分类:例如,“请将这篇文章归类为科技、娱乐或体育。”
(6) 代码改写与解释
  • 任务描述:根据代码片段生成解释或改写代码。
  • 应用场景
    • 代码解释:例如,“请解释以下代码的功能:for i in range(len(arr)): arr[i] += 1
    • 代码优化:例如,“请将这段代码改写为更高效的版本。”
(7) 对话系统
  • 任务描述:模拟人类对话,生成连贯的回复。
  • 应用场景
    • 虚拟助手:例如,“你好,我想预订一张明天去北京的机票。”
    • 聊天机器人:例如,“今天天气怎么样?”
(8) 创意写作
  • 任务描述:根据提示生成创意性的文本内容。
  • 应用场景
    • 诗歌创作:例如,“请写一首关于秋天的五言绝句。”
    • 剧本创作:例如,“请为一部电影编写一个开头场景。”

2. 图像领域

在图像生成和处理领域,Prompt 也被广泛应用于指导模型完成特定任务。以下是一些典型应用场景:

(1) 图像生成
  • 任务描述:根据文本描述生成相应的图像。
  • 应用场景
    • 艺术创作:例如,“生成一幅描绘森林中的精灵跳舞的图像。”
    • 广告设计:例如,“生成一张展示现代办公室环境的图片。”
(2) 风格转换
  • 任务描述:将图像转换为特定的艺术风格。
  • 应用场景
    • 艺术效果:例如,“将这张照片转换为梵高的《星夜》风格。”
    • 复古效果:例如,“将这张照片添加复古滤镜,使其看起来像老照片。”
(3) 图像编辑
  • 任务描述:根据提示修改图像中的某些元素。
  • 应用场景
    • 背景替换:例如,“将这张照片中的背景替换为海滩。”
    • 人物修饰:例如,“将照片中的人物头发颜色改为金色。”
(4) 自动标注
  • 任务描述:根据图像内容生成标签或描述。
  • 应用场景
    • 图像分类:例如,“这张图片的内容是什么?”
    • 目标检测:例如,“请标记出图像中的所有行人。”
(5) 视频生成
  • 任务描述:根据文本描述生成视频内容。
  • 应用场景
    • 动画制作:例如,“生成一段描述太空探险的动画视频。”
    • 虚拟现实:例如,“根据用户输入的场景描述生成虚拟现实内容。”

3. 其他领域

除了 NLP 和图像领域,Prompt 还可以应用于其他领域,例如:

(1) 数据分析
  • 任务描述:根据数据生成报告或分析结果。
  • 应用场景
    • 财务分析:例如,“根据这份财报,生成一份年度财务总结。”
    • 市场调研:例如,“根据调查数据,生成一份市场趋势分析报告。”
(2) 游戏开发
  • 任务描述:生成游戏脚本、情节或角色对话。
  • 应用场景
    • 剧情生成:例如,“生成一个冒险游戏的开场情节。”
    • NPC 对话:例如,“为游戏角色设计一段对话。”
(3) 教育
  • 任务描述:生成教学材料或练习题。
  • 应用场景
    • 课程设计:例如,“根据这个主题,生成一份适合初中生的学习计划。”
    • 习题生成:例如,“生成10道关于代数的练习题。”
(4) 医疗
  • 任务描述:根据医学数据生成诊断报告或治疗建议。
  • 应用场景
    • 病例分析:例如,“根据患者的病历,生成一份初步诊断报告。”
    • 药物推荐:例如,“根据患者症状,推荐合适的药物。”

最后以一个文生图结束今天的学习:

时尚大片,暖光感,红色吊带亮片连衣裙,V领设计,带着宝石耳钉,坐在柜子上。背着一面镜子,光影,灯光照在镜子上,灯光倒映在人身上。近处隐约看到一些黄色的光晕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917517.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917517.shtml
英文地址,请注明出处:http://en.pswp.cn/news/917517.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka与其他消息队列(如 RabbitMQ, ActiveMQ)相比,有什么优缺点?

Kafka、RabbitMQ 和 ActiveMQ 是三种最主流的消息中间件,它们的设计和适用场景有所不同。 我们可以通过一个简单的表格来快速了解它们的核心区别: 核心对比一览特性 / 维度KafkaRabbitMQActiveMQ核心模型分布式、持久化的日志系统 (Dumb Broker / Smart …

Kubernetes架构和部署

k8s组件 master节点:管理节点 管理平面组件 api server : api gateway controller manager scheduler etcd 数据库 worker节点:被管理节点,运行容器 kubelet:k8s agent container runtime:docker,containerd,cri-o kube-proxy:service 网络 कुबेरनेट…

建造者模式及优化

建造者模式是一种创建型设计模式,它将复杂对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。核心思想是指挥者定流程,建造者填细节,通过多个步骤逐步构建对象,并允许灵活组合这些步骤以生成不同配置的…

【09】C++实战篇——C++ 生成静态库.lib 及 C++调用lib,及实际项目中的使用技巧

文章目录1 C 静态库.lib 生成1.1 静态库lib的生成方法和使用方法1.2 创建静态库项目1.3 编写.h 和 .cpp文件1.4 设置 及 生成 DLL2 调用 C 静态库lib2.1 新建LIBtest及测试代码2.2 静态库配置 及代码调用测试3 实际项目中的使用技巧、及通用设置3.1 设置lib输出路径3.2 设置头文…

飞算JavaAI:从写不出代码到丝滑开发,飞算JavaAI把小白从编程深渊捞进了正轨---它都让我怀疑自己是不是多余的!

开篇介绍 对于很多初学者来说,编程是一项既有趣又充满挑战的任务。面对复杂的代码和繁琐的开发流程,常常会感到无从下手。不过,现在有了飞算JavaAI,这一切都将变得简单起来。 它有啥实用功能呢? 比如: …

关于tresos Studio(EB)的MCAL配置之GtmCfg

Generic Time Module通用时钟模块GeneralGtmCfg_DevErrorDetect开发者错误检测开关GtmCfg_DemErrorReporting诊断错误报告开关GtmCfg_VersionInfoApi获取版本信息的接口开关GtmCfg_ConfigSetClockManagementUnitGlobal_Clock_Control_Numerator全局时钟分频器的分子Global_Cloc…

深入探索Weaviate:构建高效AI应用的数据库解决方案

在当今数据驱动的世界中,高效地存储、检索和处理大规模数据成为了AI应用开发的关键挑战。Weaviate作为一个开源的向量搜索引擎,凭借其强大的功能和灵活的架构,正逐渐成为开发者构建智能AI应用的首选工具。本文将深入探讨Weaviate的核心概念、…

【开源】一款开源、跨平台的.NET WPF 通用权限开发框架 (ABP) ,功能全面、界面美观

文章目录一、开源地址二、框架介绍三、技术路线四、适用场景五、功能模块六、框架演示截图一、开源地址 Gihub地址: https://github.com/HenJigg/wpf-abp B站学习视频:https://www.bilibili.com/video/BV1nY411a7T8?spm_id_from333.788.player.switch&…

信创缓存中间件-TongRDS(Redis平替)安装

TongRDS 是由东方通开发的国产 分布式内存数据缓存中间件,功能类似于 Redis,但它是完全自主研发的国产产品,是国内信创的一大重要组件。它兼容 Redis 的接口,能做到应用代码无需改动即可替换使用。TongRDS是没有直接的下载地址的。…

Git链接备用手册

三板斧及其他:git init:初始化git仓库git add . :将所在文件夹中的所有文件加入到暂存区git commit -m 自定义记录信息 :将暂存区中的数据放到Git的仓库(本地)中,并进行记录(自定义&#xff0…

零信任网络概念及在网络安全中的应用

零信任网络概念及在网络安全中的应用 零信任网络(Zero Trust Network)是一种颠覆传统边界安全的架构理念,其核心是**“永不信任,始终验证”**(Never Trust, Always Verify)。它假设网络内外均存在威胁&…

GaussDB case when的用法

1 case函数的类型case具有两种格式&#xff0c;简单case函数和case搜索函数。这两种方式&#xff0c;大部分情况下可以实现相同的功能。1.1 简单case函数语法case column when <condition> then value when <condition> then value ...... else value end;示例case…

Git用法记录

代码中冲突标记的含义&#xff1a;<<<<<<< HEAD 标记当前分支&#xff08;或本地&#xff09;的旧代码作为分隔线 >>>>>>> [commit哈希] 标记从其他分支合并过来的新代码&#xff08;这里的 c472b4b... 是提交哈希&#xff09; 暂存…

解决Android Studio中创建的模拟器第二次无法启动的问题

Android Studio中创建的模拟器&#xff0c;首次启动时一切正常。但是关闭模拟器&#xff0c;下一次启动时一直显示&#xff1a;Connecting to the Emulator&#xff0c;无法启动。无法启动的原因通常是默认开启了模拟器的快速启动功能&#xff0c;首次启动时是“冷启动”&#…

Linux设备驱动架构相关文章

学习一个领域&#xff0c;最好是从多个角度去学习&#xff0c;总有一个角度适合你。学习Linux驱动&#xff0c;从架构的角度把握&#xff0c;比直接看代码更容易接受。以架构为主&#xff0c;结合细节学习&#xff0c;我称之为自上而下的学习方法&#xff0c;就一个字&#xff…

YOLOv13 汉化优化部署版本:超图增强自适应视觉感知的目标检测系统

目录 &#x1f4d6; 项目概述&#x1f680; YOLOv13 核心特性&#x1f4ca; 性能对比&#x1f5bc;️ 可视化效果&#x1f527; 项目优化改进⚙️ 快速部署指南▶️ 运行使用&#x1f4dd; 使用示例&#x1f527; 故障排除&#x1f31f; 项目特色&#x1f517; 相关链接&#…

uni-app webview的message监听不生效(uni.postmessage is not a function)

uni-app开发app web-view组件message事件不触发背景子页面是h5&#xff08;非uni-app版&#xff09;子页面是h5&#xff08;uni-app版&#xff09;背景 大致背景是 在uni-app开发的客户端app中使用web-view嵌入h5页面&#xff0c;在h5中通过postmessage API触发父组件web-view…

【异常案例分析】使用空指针调用函数(非虚函数)时,没有崩溃在函数调用处,而是崩在被调用函数内部

目录 1、问题说明 2、代码段地址与数据段地址 3、使用空指针调用BindWindow函数&#xff08;非虚函数&#xff09;&#xff0c;没有崩在BindWindow函数的调用处&#xff0c;而是崩在函数内部 3.1、虚函数调用的二次寻址 3.2、崩溃在被调用函数内部 4、总结 C软件异常排查…

锁定中科院1区TOP!融合LSTM与Attention做时间序列预测 !

Transformer虽火&#xff0c;但在数据少、要求稳的时序预测场景中&#xff0c;LSTM仍是首选。尤其加上注意力机制后&#xff0c;更是弥补了LSTM的短板&#xff0c;增强了性能&#xff0c;实现了更精确的预测。这种组合不仅应用场景广泛&#xff0c;工业界爱&#xff0c;学术界也…

在不可更改系统上构建数据响应机制的可选策略

在现代企业信息系统架构中&#xff0c;我们常常面临如下挑战&#xff1a;某个业务系统属于“不可变更系统”&#xff0c;我们既不能修改其业务逻辑&#xff0c;也不能对其核心代码做任何侵入式改动。但与此同时&#xff0c;我们又需要对该系统中的某些关键业务数据变更做出响应…