当前位置: 首页 > 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

相关文章:

深入理解Prompt工程

前言:因为大模型的流行,衍生出了一个小领域“Prompt工程”,不知道大家会不会跟小编一样,不就是写提示吗,这有什么难的,不过大家还是不要小瞧了Prompt工程,现在很多大模型把会“Prompt工程”作为…...

代码随想录算法训练营day6 | 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1.两数之和

文章目录 哈希表键值 哈希函数哈希冲突拉链法线性探测法 常见的三种哈希结构集合映射C实现std::unordered_setstd::map 小结242.有效的字母异位词思路复习 349. 两个数组的交集使用数组实现哈希表的情况思路使用set实现哈希表的情况 202. 快乐数思路 1.两数之和思路 总结 今天是…...

vue3 vxe-table 点击行,不显示选中状态,加上设置isCurrent: true就可以设置选中行的状态。

1、上个图&#xff0c;要实现这样的&#xff1a; Vxe Table v4.6 官方文档 2、使用 row-config.isCurrent 显示高亮行&#xff0c;当前行是唯一的&#xff1b;用户操作点击选项时会触发事件 current-change <template><div><p><vxe-button click"sel…...

Linux没有telnet 如何测试对端的端口状态

前段时间有人问uos没有telnet&#xff0c;又找不到包。 追问了一下为什么非要安装telnet&#xff0c;答复是要测试对端的端口号。 这里简单介绍一下&#xff0c;测试端口号的方法有很多&#xff0c;telent只是在windows上经常使用&#xff0c;linux已很少安装并使用该命令&…...

花几千上万学习Java,真没必要!(二十九)

1、基本数据类型包装类&#xff1a; 测试代码1&#xff1a; package apitest.com; //使用Integer类的不同方法处理整数。 //将字符串转换为整数&#xff08;parseInt&#xff09;和Integer对象&#xff08;valueOf&#xff09;&#xff0c; //将整数转换回字符串&#xff08;…...

C#如何引用dll动态链接库文件的注释

1、dll动态库文件项目生成属性中要勾选“XML文档文件” 注意&#xff1a;XML文件的名字切勿修改。 2、添加引用时XML文件要与DLL文件在同一个目录下。 3、如果要是添加引用的时候XML不在相同目录下&#xff0c;之后又将XML文件复制到相同的目录下&#xff0c;需要删除引用&am…...

WordPress原创插件:自定义文章标题颜色

插件设置截图 文章编辑时&#xff0c;右边会出现一个标题颜色设置&#xff0c;可以设置为任何颜色 更新记录&#xff1a;从输入颜色css代码&#xff0c;改为颜色选择器&#xff0c;更方便&#xff01; 插件免费下载 https://download.csdn.net/download/huayula/89585192…...

Unity分享:继承自MonoBehaviour的脚步不要对引用类型的字段在声明时就初始化

如果某些字段在每个构造函数中都要进行初始化&#xff0c;很多人都喜欢在字段声明时就进行初始化&#xff0c;对于一个非继承自MonoBehaviour的脚步&#xff0c;这样做是没有问题的&#xff0c;然而继承自MonoBehaviour后就会造成内存的浪费&#xff0c;为什么呢&#xff1f;因…...

.NET Core中如何集成RabbitMQ

在.NET Core中集成RabbitMQ主要涉及到几个步骤&#xff0c;包括安装RabbitMQ的NuGet包、建立连接、定义队列、发送和接收消息等。下面是一个简单的指南来展示如何在.NET Core应用程序中集成RabbitMQ。 目录 1. 安装RabbitMQ.Client NuGet包 2. 建立连接 3. 定义队列 4. 发…...

嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化:智能物流管理系统设计思路流程(附代码示例)

目录 项目概述 系统设计 硬件设计 软件设计 系统架构图 代码实现 1. STM32微控制器与传感器代码 代码讲解 2. MQTT Broker设置 3. 数据接收与处理 代码讲解 4. 数据存储与分析 5. 数据分析与可视化 代码讲解 6. 数据可视化 项目总结 项目概述 随着电子商务的快…...

.net core docker部署教程和细节问题

在.NET Core中实现Docker一键部署&#xff0c;通常涉及以下几个步骤&#xff1a;编写Dockerfile以定义镜像构建过程、构建Docker镜像、运行Docker容器&#xff0c;以及&#xff08;可选地&#xff09;使用自动化工具如Docker Compose或CI/CD工具进行一键部署。以下是一个详细的…...

php数据库链接

Php超全局变量 GET 和 POST 都创建一个数组&#xff08;例如 array&#xff08; key1 > value1&#xff0c; key2 > value2&#xff0c; key3 > value3&#xff0c; ...&#xff09;&#xff09;。此数组包含键/值对&#xff0c;其中 键是表单控件的名称&#xff0c;…...

python+vue3+onlyoffice在线文档系统实战20240726笔记,左侧菜单实现和最近文档基本实现

解决右侧高度过高的问题 解决方案&#xff1a;去掉右侧顶部和底部。 实现左侧菜单 最近文档&#xff0c;纯粹文档 我的文档&#xff0c;既包括文件夹也包括文件 共享文档&#xff0c;别人分享给我的 基本实现代码&#xff1a; 渲染效果&#xff1a; 简单优化 设置默认菜…...

vue中的nexttrick

Vue.js 是一个用于构建用户界面的渐进式框架&#xff0c;它允许开发者通过声明式的数据绑定来构建网页应用。在 Vue 中&#xff0c;nextTick 是一个非常重要的 API&#xff0c;它用于延迟回调的执行&#xff0c;直到下次 DOM 更新循环之后。 为什么使用 nextTick&#xff1f; …...

【BUG】已解决:ModuleNotFoundError: No module named ‘requests‘

ModuleNotFoundError: No module named ‘requests‘ 目录 ModuleNotFoundError: No module named ‘requests‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&a…...

深入理解JS中的发布订阅模式和观察者模式

发布/订阅模式(Publish/Subscribe)和观察者模式(Observer Pattern)在概念上非常相似,都是用于实现对象之间的松耦合通信。尽管它们在实现细节和使用场景上有所不同,但核心思想是相通的。 观察者模式 直接通信:在观察者模式中,观察者(Observer)直接订阅主题(Subject…...

网站IPv6支持率怎么检测?

在当今数字化的时代&#xff0c;IPv6的推广和应用已经成为网络发展的重要趋势。IPv6拥有更大的地址空间、更高的安全性和更好的性能&#xff0c;对于满足日益增长的网络需求至关重要。对于网站所有者和管理员来说&#xff0c;了解其网站对IPv6的支持率是评估网站性能和兼容性的…...

react中简单的配置路由

1.安装react-router-dom npm install react-router-dom 2.新建文件 src下新建page文件夹&#xff0c;该文件夹下新建login和index文件夹用于存放登录页面和首页&#xff0c;再在对应文件夹下分别新建入口文件index.js&#xff1b; src下新建router文件用于存放路由配置文件…...

RocketMQ消息短暂而又精彩的一生(荣耀典藏版)

目录 前言 一、核心概念 二、消息诞生与发送 2.1.路由表 2.2.队列的选择 2.3.其它特殊情况处理 2.3.1.发送异常处理 2.3.2.消息过大的处理 三、消息存储 3.1.如何保证高性能读写 3.1.1.传统IO读写方式 3.2零拷贝 3.2.1.mmap() 3.2.2sendfile() 3.2.3.CommitLog …...

Linux中的文件操作

linux中exec*为加载器&#xff0c;可以将程序加载到内存。 main()函数也是函数&#xff0c;也要被调用&#xff0c;也要被传参 故在一个程序中exec*系列的函数先被执行 程序替换中execve是系统调用&#xff0c;其他的都是封装。 进程程序替换 1.创建子进程的目的&#xff1…...

linux-系统函数

Linux 系统函数详解 Linux 系统函数是用户程序与内核交互的底层接口&#xff0c;通过系统调用&#xff08;syscall&#xff09;实现。以下是核心分类及典型函数&#xff1a; 1. 文件操作函数 #include <fcntl.h> int open(const char *pathname, int flags, mode_t mode)…...

CanCanCan控制器助手终极指南:load_and_authorize_resource深度解析与最佳实践

CanCanCan控制器助手终极指南&#xff1a;load_and_authorize_resource深度解析与最佳实践 【免费下载链接】cancancan The authorization Gem for Ruby on Rails. 项目地址: https://gitcode.com/gh_mirrors/ca/cancancan CanCanCan是Ruby on Rails最强大的授权gem&…...

IndexTTS-2-LLM语音合成应用:无障碍辅助与内容创作指南

IndexTTS-2-LLM语音合成应用&#xff1a;无障碍辅助与内容创作指南 1. 语音合成技术概述 1.1 什么是智能语音合成 智能语音合成&#xff08;Text-to-Speech&#xff0c;TTS&#xff09;技术能够将文字信息转换为自然流畅的语音输出。IndexTTS-2-LLM作为新一代语音合成系统&a…...

Zotero效率翻倍!Zutilo插件保姆级配置指南(附我常用的10个快捷键方案)

Zotero效率革命&#xff1a;用Zutilo插件打造键盘流文献工作流 每天面对数百篇文献&#xff0c;你是否厌倦了在鼠标和键盘间反复切换&#xff1f;科研老手都知道&#xff0c;真正的效率提升往往来自那些能减少手指移动距离的微小优化。Zutilo正是Zotero生态中那个被严重低估的…...

360周鸿祎:智能体技术破圈,引领产业全面重构与独角兽机遇

【导语&#xff1a;在2026中关村论坛年会全球独角兽企业大会上&#xff0c;360集团创始人周鸿祎围绕“龙虾”等新一代智能体技术&#xff0c;阐述其带来的产业变革机遇&#xff0c;涉及互联网、软件等多领域重构&#xff0c;有望催生大量独角兽企业。】智能体技术“破圈”&…...

3步实现风扇智能控制:Windows系统散热与噪音平衡全指南

3步实现风扇智能控制&#xff1a;Windows系统散热与噪音平衡全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

深入解析 Promise 核心原理,从零手写实现到实战应用

1. Promise 基础概念与使用场景 1.1 什么是 Promise&#xff1f; 想象你点了一份外卖&#xff0c;商家给你一个取餐号而不是立即给你食物。这个取餐号就是 Promise&#xff0c;它代表一个未来才会完成的操作&#xff08;外卖送达&#xff09;。在 JavaScript 中&#xff0c;Pro…...

CANopen协议实战指南:从对象字典到PDO映射

1. CANopen协议入门&#xff1a;从零理解工业通信基石 第一次接触CANopen协议时&#xff0c;我被它复杂的术语和抽象的概念搞得晕头转向。直到在某个电机控制项目中被迫深入使用后&#xff0c;才发现这套协议设计得如此精妙。CANopen本质上是一种建立在CAN总线上的应用层协议&a…...

不用公网IP!用cpolar内网穿透实现PicHome多设备同步的3种方案对比

零公网IP实现PicHome多端同步&#xff1a;cpolar内网穿透全方案解析 在数字资产爆炸式增长的今天&#xff0c;如何安全高效地管理个人媒体库成为现代人的刚需。PicHome作为一款开源网盘系统&#xff0c;凭借其Docker化部署的便捷性和AI增强的媒体管理能力&#xff0c;正在成为家…...

如何快速上手VNote:跨平台Markdown笔记软件的完整指南

如何快速上手VNote&#xff1a;跨平台Markdown笔记软件的完整指南 【免费下载链接】vnote A pleasant note-taking platform. 项目地址: https://gitcode.com/gh_mirrors/vn/vnote VNote是一款基于Qt开发的免费开源Markdown笔记应用&#xff0c;专为追求高效编辑体验的用…...