当前位置: 首页 > news >正文

深入理解Prompt工程

前言:因为大模型的流行,衍生出了一个小领域“Prompt工程”,不知道大家会不会跟小编一样,不就是写提示吗,这有什么难的,不过大家还是不要小瞧了Prompt工程,现在很多大模型把会“Prompt工程”作为招聘条件,甚至作为一个岗位,小编在这里浅浅的总结一下

1. 什么是Prompt工程?

Prompt工程(Prompt Engingering),也被称为上下文提示(In-Context Prompting),指的是通过结构化文本等方式来完善提示词,引导LLM输出我们期望的结果。
简单一点来说,就是给LLM模型一些提示或者说指令,让LLM模型清晰准确的知道我们要干什么

  • 那给什么样的提示或者指令能更好更准确输出我们想要的结果呢???怎么设计这样的指令呢???
    这就是Prompt工程要考虑的事情!!!

2. Prompt工程由哪些部分组成?

Prompt工程针对不同的任务设计了不同的提示模版,一般包含下述几部分:

  • 角色: 给 AI 定义一个最匹配任务的角色,比如:「你是一位软件工程师」「你是一位小学老师」
  • 指示: 对任务进行描述
  • 上下文: 给出与任务相关的其它背景信息(尤其在多轮交互中)
  • 例子: 必要时给出举例,学术中称为 one-shot learning, few-shot learning 或 in-context learning;实践证明其对输出正确性有很大帮助
  • 输入: 任务的输入信息;在提示词中明确的标识出输入
  • 输出: 输出的格式描述,以便后继模块自动解析模型的输出结果

3. 如何写好Prompt工程(调优)

(1)学会定义角色

大模型对 prompt 开头和结尾的内容更敏感。
先定义角色,其实就是在开头把问题域收窄,减少二义性。

(2)学会举例

举例子可以让模型快速get到我们的意图,方便好用,并且效果不错

4. 案例说明

举一个小编深有体会的栗子~
相信读研的小伙伴都会遇到的场景,假如小编现在在写论文,需要将下述这段中文翻译成一段英文:

Yaowei Li等人设计了一个跨模态表示对齐器,使用一组正交基和双门机制来学习全局跨模态对齐,并通过三重对比损失进行全局对齐。

以chatgpt4为例:

prompt:请将下述内容翻译成英文:
【prompt+上述内容】输入到chatgpt4中,得到如下输出:


Yaowei Li and colleagues designed a cross-modal representation aligner that employs a set of orthogonal bases and a dual-gating mechanism to learn global cross-modal alignment. This alignment is achieved through a triplet contrastive loss.


prompt:假如你是一名专业的学术论文撰稿者,你现在正在写论文,对下述内容进行翻译,使其符合学术论文表达: 【prompt+上述内容】 输入到chatgpt4中,得到如下输出:


Yaowei Li et al. have developed a cross-modal representation aligner that leverages a set of orthogonal bases and a dual-gate mechanism to facilitate global cross-modal alignment. The alignment process is optimized using a triplet contrastive loss function to ensure comprehensive alignment across modalities.


5. 参考

  • https://blog.csdn.net/qq_36372352/article/details/138027055
  • https://zhuanlan.zhihu.com/p/666572032

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • GO集成方式、Java文字识别接口集成方法
  • Odoo 17 仪表盘开发指南:打造高效的数据可视化中心
  • CSS前端面试题——怎么用CSS实现一个宽高自适应的正方形?
  • .NET Core中如何集成RabbitMQ
  • C++初阶学习——探索STL奥秘——标准库中的string类
  • PyCharm2024 专业版激活设置中文
  • 论文总结:A Survey on Evaluation of Large Language Models-鲁棒性相关内容
  • 爬虫基本原理入门
  • Preact:轻量级替代React的选择
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 亲子游戏(200分) - 三语言AC题解(Python/Java/Cpp)
  • STM32H7的LPUART基础和唤醒示例
  • Kylin Cube资源使用限制:优化大数据查询性能的策略
  • 人工智能:大语言模型提示注入攻击安全风险分析报告下载
  • 【多线程】单例模式
  • leetcode-114. 二叉树展开为链表
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 3.7、@ResponseBody 和 @RestController
  • es的写入过程
  • Git学习与使用心得(1)—— 初始化
  • HashMap ConcurrentHashMap
  • HTTP 简介
  • jQuery(一)
  • Js基础知识(四) - js运行原理与机制
  • Lucene解析 - 基本概念
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前端学习笔记之观察者模式
  • 如何进阶一名有竞争力的程序员?
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​字​节​一​面​
  • #Ubuntu(修改root信息)
  • #图像处理
  • $.ajax中的eval及dataType
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (3)llvm ir转换过程
  • (k8s)Kubernetes本地存储接入
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (三)终结任务
  • (一) storm的集群安装与配置
  • (转)http-server应用
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .htaccess配置常用技巧
  • .NET 5种线程安全集合
  • .NET Project Open Day(2011.11.13)
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .net连接MySQL的方法
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @Autowired注解的实现原理
  • @property括号内属性讲解
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [20180129]bash显示path环境变量.txt
  • [android] 切换界面的通用处理