大模型(LLM)提示工程(Prompt Engineering)初识
大模型提示工程(Prompt Engineering)是指设计和优化给定任务的输入提示,以便从大型语言模型(如GPT-4、GPT-3等)中获得最佳输出。其核心目标是通过合理设计输入内容(提示词或提示结构),引导模型产生符合预期的响应。大模型提示工程不仅是一个技术问题,还需要一定的创意和对模型行为的理解。
下面是一个详细的解释,结合具体的使用示例来说明如何进行大模型提示工程。
1. 基础概念
大模型提示工程的核心概念是通过设计输入(prompt),让语言模型能够理解并生成目标输出。通过调整提示的语法、上下文以及细节层次,可以显著提高模型输出的质量和相关性。
2. 简单提示设计
最基础的提示设计就是给定一个清晰明确的问题或指令。下面是一个简单的示例:
示例:
提示(Prompt): “请列举五个经典的Web开发框架,并简要描述每个框架的特点。”
期望输出:
1. React: 一个由Facebook开发的用于构建用户界面的JavaScript库,特点是虚拟DOM和组件化开发。
2. Angular: 由Google维护的前端框架,特点是双向数据绑定和依赖注入。
3. Vue.js: 轻量级的前端框架,注重渐进式开发和易用性,具有响应式数据绑定。
4. Django: 一个高效的Python框架,特点是快速开发、内建ORM和强大的管理界面。
5. Flask: 一个小巧的Python框架,适用于构建轻量级的Web应用,灵活性高且易于扩展。
这个例子展示了一个直接的问题类型提示,模型理解了问题并作出详细的回答。
3. 高级提示设计
当任务复杂时,提示需要包含更多的细节和上下文信息。例如,开发人员可能会给模型提供结构化的提示,要求模型遵循一定的格式或约定。
示例:
提示(Prompt):
"我正在设计一个教育类Web应用。请推荐五个适用于Web开发的框架,并且按照以下要求列出每个框架:
- 框架名称
- 特点(简要描述)
- 适用场景(例如,适用于单页应用、企业级应用等)
- 优缺点分析"
期望输出:
1. React - 特点:基于组件的开发模型,虚拟DOM技术,支持单向数据流。 - 适用场景:单页应用(SPA)、动态交互式UI。 - 优缺点分析:优点是性能高、生态系统丰富;缺点是学习曲线陡峭,过于依赖JavaScript。2. Angular - 特点:一个全栈框架,包含内置的路由、表单管理、HTTP客户端等功能。 - 适用场景:企业级应用、复杂应用,特别是需要跨多个平台的情况。 - 优缺点分析:优点是功能全面,适合大规模项目;缺点是学习曲线较陡,体积较大。3. Vue.js - 特点:渐进式框架,支持响应式数据绑定,易于集成和使用。 - 适用场景:适合中小型应用,尤其适合需要快速开发和灵活扩展的场景。 - 优缺点分析:优点是上手快、易于调试;缺点是相较于React和Angular生态不够成熟。4. Django - 特点:Python开发框架,注重快速开发,具有内置的ORM和管理后台。 - 适用场景:Web开发,特别是需要数据库集成的后台管理系统。 - 优缺点分析:优点是开发效率高,安全性强;缺点是灵活性稍差,可能不适合轻量级应用。5. Flask - 特点:轻量级Python框架,提供基础的Web功能,适用于构建微服务。 - 适用场景:API服务、轻量级Web应用、微服务架构。 - 优缺点分析:优点是灵活、易于扩展;缺点是没有内建的工具和功能,开发者需要更多的自定义。
这个提示给了模型更明确的结构和要求,从而帮助模型生成符合格式的输出。
4. 使用模板和上下文
有时,提示的结构不仅仅是一个简单的问题,而是带有更多上下文或者是多步骤的任务。例如,生成一个SQL查询,或者根据历史对话生成一个更复杂的答复。
示例:
提示(Prompt):
"假设你是一个数据库管理员,下面是一个包含多个表格的数据库。请根据给定的表格结构编写SQL查询,找出过去30天内销售总额最高的10个客户。
表格:
customers
(客户表):customer_id
(int),name
(varchar)orders
(订单表):order_id
(int),customer_id
(int),order_date
(date),total_amount
(float)
期望输出:
SELECT c.name, SUM(o.total_amount) AS total_sales
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
WHERE o.order_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
ORDER BY total_sales DESC
LIMIT 10;
在这个示例中,提示中包含了任务的背景信息(表格结构、需求等),并要求模型生成一个具体的SQL查询。
5. 动态提示生成与调整
在实际应用中,开发人员需要根据不同的任务动态调整提示。尤其是在交互式对话系统或者生成式任务中,提示工程可以根据模型的反馈进行进一步优化。
示例:
假设在一个AI对话系统中,用户想要了解某个技术的详细信息。开发人员可以根据用户的请求调整模型的提示:
初始提示(Prompt): “请简要介绍Vue.js框架的主要特点。”
用户要求更详细: 用户可能后续会要求更详细的技术细节。此时,开发人员可以动态修改提示,使其更具深度。
修改后的提示:
“请详细介绍Vue.js框架的工作原理,特别是响应式数据绑定和组件生命周期。”
6. 常见提示工程技巧
- 明确目标:明确你想从模型中得到什么样的输出。例如,如果是生成代码,确保提示包含结构和要求;如果是回答问题,确保问题尽可能清晰。
- 多轮互动:对于复杂问题,分步提示有时比一次性提示更有效。
- 具体要求:越具体的要求,模型生成的回答越符合预期。不要仅仅要求“列出框架”,而是要求“列出框架并给出优缺点”。
- 引导式提示:给出框架或模板,帮助模型产生结构化输出。
7. 总结
大模型提示工程是一个技术与创意结合的过程,开发人员需要理解模型的工作方式,并通过精心设计的提示来引导模型生成更符合需求的输出。无论是简单的任务提示,还是复杂的多步骤问题,提示的设计和优化都在提高模型效能方面扮演着至关重要的角色。
相关文章:
大模型(LLM)提示工程(Prompt Engineering)初识
大模型提示工程(Prompt Engineering)是指设计和优化给定任务的输入提示,以便从大型语言模型(如GPT-4、GPT-3等)中获得最佳输出。其核心目标是通过合理设计输入内容(提示词或提示结构)࿰…...

大数据-256 离线数仓 - Atlas 数据仓库元数据管理 正式安装 启动服务访问 Hive血缘关系导入
点一下关注吧!!!非常感谢!!持续更新!!! Java篇开始了! 目前开始更新 MyBatis,一起深入浅出! 目前已经更新到了: Hadoop࿰…...
gaussian_splatting 构建submodules的diff-gaussian-rasterization失败报错
c:\program files\nvidia gpu computing toolkit\cuda\v11.8\include\crt/host_config.h(231): fatal error C1083: 无法打开包括文件: “crtdefs.h”: No such file or directory 配置: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc.profil…...
template<typename Func, typename = void> 在类模板中的应用
1、基础语法 在 C 中,template<typename Func, typename void> 这一模板声明不仅仅限于函数模板,它在类模板中同样具有强大的应用。结合 SFINAE(Substitution Failure Is Not An Error)和 类型特征(type trait…...
如何确保数据大屏的交互设计符合用户需求?(附实践资料下载)
确保数据大屏的交互设计符合用户需求是一个多步骤的过程,涉及到用户研究、设计原则、原型测试和持续迭代。以下是一些关键步骤和策略: 用户研究: 目标用户识别:明确大屏的目标用户群体,包括他们的背景、角色和需求。用…...
Linux使用教程及常用命令大全
Linux是一个开源的操作系统,具有高度的可定制性和可扩展性。以下是一份 Linux 使用教程及常用命令的总结,帮助你快速入门 Linux。 1. 安装 Linux 下载 Linux 安装程序(可参考我的这篇文章):VMware虚拟机超详细安装Linu…...

基于openlayers 开发vue地图组件
先看效果 主要功能如下: 测量图源更换放大缩小地图添加点hover点数据切换到地图位置;也设定层级2D3D切换,3D为cesium开发,技术交流可以加V:bloxed 地图工具做了插槽,分为toolbar(左上角工具…...

音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现
音视频入门基础:AAC专题系列文章: 音视频入门基础:AAC专题(1)——AAC官方文档下载 音视频入门基础:AAC专题(2)——使用FFmpeg命令生成AAC裸流文件 音视频入门基础:AAC…...

【C++】B2069 求分数序列和题目解析与优化详解
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述输入格式输出格式输入输出样例输入:输出: 💯解题思路分析题目解题步骤 💯代码实现我的代码实现实现特点 老师的代码…...

4.FPGA如何实现设计
在前面分别引入了,LUT的知识,全局时钟网络,以及FPGA内部的资源。 LUT的知识: 在FPGA设计中实现的逻辑运算在不借用其他的硬核的基础上都是在LUT中通过查表的方式进行完成的,比如实现的c a & b;就是将a&b的所…...

SO-CNN-LSTM-MATT蛇群算法优化注意力机制深度学习多特征分类预测
SO-CNN-LSTM-MATT蛇群算法优化注意力机制深度学习多特征分类预测(多输入单输出) 目录 SO-CNN-LSTM-MATT蛇群算法优化注意力机制深度学习多特征分类预测(多输入单输出)分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matl…...

大模型-Ollama使用相关的笔记
大模型-Ollama使用相关的笔记 解决Ollama外网访问问题(配置ollama跨域访问)Postman请求样例 解决Ollama外网访问问题(配置ollama跨域访问) 安装Ollama完毕后, /etc/systemd/system/ollama.service进行如下修改&#…...

OpenCV计算机视觉 02 图片修改 图像运算 边缘填充 阈值处理
目录 图片修改(打码、组合、缩放) 图像运算 边缘填充 阈值处理 上一篇文章: OpenCV计算机视觉 01 图像与视频的读取操作&颜色通道 图片修改(打码、组合、缩放) # 图片打码 import numpy as np a cv2.imre…...

langchain使用FewShotPromptTemplate出现KeyError的解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

tryhackme-Cyber Security 101-Linux Shells(linux命令框)
目的:了解脚本和不同类型的 Linux shell。 任务1:Introduction to Linux Shells(Linux Shell 简介) 作为操作系统的常规用户,我们都广泛使用图形用户界面 (GUI) 来执行大多数操作。只需点击几…...
亚远景-ISO 21434标准涵盖了哪些方面?
ISO 21434标准《道路车辆—网络安全工程》全面涵盖了汽车网络安全领域,其目的是确保汽车电子系统在整个产品生命周期中的网络安全性能。具体来说,该标准包括以下几个方面: 1. 术语和定义 :提供汽车网络安全相关的术语、概念和定义…...

第3章 集合与关系
2024年12月24日一稿 2024年12月26日二稿 🐰3.1 集合的概念和表示法 🦘3.1.1 集合的表示 🦘3.1.2 基本概念 🐰3.2 集合的运算 🦘3.2.1 集合的基本运算 🦘3.2.2 有穷计数集 🦘3.2.3 广义交和广义…...

【vmware】|设置共享文件夹
目的: 虚拟机中设置共享文件夹,本地物理机中可以搜到该共享文件夹 1、虚拟机: 设置共享文件夹 右键属性-共享页码进行下列设置 点击网络和共享中心,检查下列选项 二、在本地物理机中启用网络发现: 此时,刷新网络…...

Log4j1.27配置日志输出级别不起效
起因:构建独立版本debezuim使用时,日志一直打印debug信息。 原因:包冲突问题,进行排包操作。 参考log4j日志级别配置完成后不生效 系统一直打印debug日志_log4j不起作用-CSDN博客 1、application.properties logging.configc…...

计算机图形学知识点汇总
一、计算机图形学定义与内容 1.图形 图形分为“图”和“形”两部分。 其中,“形”指形体或形状,存在于客观世界和虚拟世界,它的本质是“表示”;而图则是包含几何信息与属性信息的点、线等基本图元构成的画面,用于表达…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...