从0开始学习大模型--Day05--理解prompt工程

news2025/5/11 20:11:05

提示词工程原理

N-gram:通过统计,计算N个词共同出现的概率,从而预测下一个词是什么。

深度学习模型:有多层神经网络组成,可以自动从数据中学习特征,让模型通过不断地自我学习不断成长,直到模型的反馈内容符合我们的预期。

如何编写提示词

提示词(prompt)

是指在使用大模型时,向型提供的一些指令或问题。这些指令作为模型的输入,引导模型产生所需要的输出。例如,在生成文本时,Prompt可能是一个问题或者一个句子开始的部分,模型需要根据这个提示来生成接下来的内容。简单来说,在使用大模型时,我们输入的内容,不管是问题,还是直接输入一个文件,都属于提示词。

使用提示词时出现偏差(准确性,相关性,偏见性)的原因

1、模型自身的问题:由于模型是根据训练数据来学习的,如果训练数据存在偏见或质量问题,那么模型生成的内容也可能会受到这些问题的影响。此外,模型有时也会产生与提示不相关的内容,或者理解不准确,从而导致输出结果的质量下降。

2、使用者问题:提问没有明显的逻辑结构,缺乏系统性,依赖个人经验,没有方法,只有语法;分享给别人时,在没有沟通过或者一起了解过相关项目内容时无法理解,也无法对其进行有效的修改;没有学习过如何编写有效的提示词。

prompt工程

旨在获取这些提示并帮助模型在其输出中实现高准确度和相关性,掌握提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。特别地,矢量数据库(以数字的方式将知识存储起来,比如把“苹果”变成[0,1,4,5,...],能帮助大模型在搜索知识时可以快速找到类似的内容,因为其保存的数字结构是类似的)、agent和promptpipeline (把简单提问加工成模型能看懂的“超级提示词”,类似于在输出反馈内容之前“打了个小抄”,让模型能够更好理解词语,比如提问“讲个笑话”,系统会自动加工为“你是个喜剧大师,用中文讲个关于程序员的冷笑话,不超过3句话”)已经被用作在对话中,作为向 LLM 提供相关上下文数据的途径。

编写prompt工程的注意点

Prompt格式:确定prompt的结构和格式,例如,问题形式、述形式、关键词形式等。

Prompt内容:选择合适的词语、短语或问题,以确保模型理解用户的意图。

Prompt上下文:考虑前文或上下文信息,以确保模型的回应与先前的对话或情境相关。

Prompt编写技巧:使用清晰、简洁和明了的语言编写prompt,以准确传达用户的需求。

Prompt优化:在尝试不同prompt后,根据结果对prompt进行调整和优化,以获得更满意的回应。

prompt工程的编写过程

Prompt 工程 的过程和机器学习的过程类似,都需要经过选代的过程。“从一个想法出发,通过一个基础的实现,在接近真实数据的测试集合上完成验证,分析失败的case;不断重复这个过程,直到100%满足的你的场景。

构建prompt的原则

1、清晰和明确的指令:模型的提示词需要清晰明确,避免模糊性和歧义。清晰性意味着提示词要直接表达出想要模型执行的任务,比如“生成一篇关于气候变化影响的文章”,而不是仅仅说“写一篇文章”。明确性则是指要具体说明任务的细节比如文章的风格、长度、包含的关键点等。这样,模型就可以更精确地理解任务要求,并产生与之相匹配的输出。

2、给模型思考的时间:这里的“时间”是比喻性的,意味着应该给模型足够的信息,让它能够基于充足的上下文来产生回应。这可能涉及到提供额外的描述,或者在复杂任务中分步骤给信息去引导模型。

在实践中,我们可以通过提供背景信息、上下文环境、以及相关细节来实现。例如,如果我们要模型续写一篇故事,可以先提供故事的背景信息人物关系和已发生的事件等,让模型有足够的“思考时间”,从而能够在现有信息的基础上进行合理的创作。而另一类实践场景,则是我们要充分引导大模型的思考路径,让模型沿着正确的道路得出正确的答案,即分步骤引导大模型思考。

prompt结构

一般来说,我们写的prompt要有背景(比如我的角色或身份是什么,我掌握了什么知识,我要完成什么任务),思考过程(一共要分为哪几个步骤去做,在这个过程中应该对每个步骤进行评估或者需要往哪个方向思考答案,并给出一个示例)和数据(可以是句子,简单的提问或者是文件或文章),输出的方式在没有硬性要求下一般都是以文本的形式进行输出,你也可以要求以json的格式(有时候存在输出的内容是要被拿取给后端使用的,以json的格式可以让后端接口直接使用)输出内容。

学习来源于B站教程:【基础篇】02.提示词深度讲解_哔哩哔哩_bilibili

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机视觉——基于树莓派的YOLO11模型优化与实时目标检测、跟踪及计数的实践

概述 设想一下,你在多地拥有多个仓库,要同时监控每个仓库的实时状况,这对于时间和精力而言,都构成了一项艰巨挑战。从成本和可靠性的层面考量,大规模部署计算设备也并非可行之策。一方面,大量计算设备的购…

【计算机视觉】OpenCV项目实战:OpenCV_Position 项目深度解析:相机定位技术

OpenCV_Position 项目深度解析:基于 OpenCV 的相机定位技术 一、项目概述二、技术原理(一)单应性矩阵(Homography)(二)算法步骤(三)相机内参矩阵 三、项目实战运行&#…

LAMMPS分子动力学基于周期扰动法的黏度计算

关键词:黏度,周期扰动法,SPC/E水分子,分子动力学,lammps 目前分子动力学计算黏度主要有以下方法:(1)基于 Green - Kubo 关系的方法。从微观角度出发,利用压力张量自相关函数积分计算…

unity通过transform找子物体只能找子级

unity通过transform找子物体只能找子级,孙级以及更低级别都找不到,只能找到自己的下一级 如果要获取孙级以下的物体,最快的方法还是直接public挂载

ThinkPad T440P如何从U盘安装Ubuntu24.04系统

首先制作一个安装 U 盘。我使用的工具是 Rufus ,它的官网是 rufus.ie ,去下载最新版就可以了。直接打开这个工具,选择自己从ubuntu官网下载Get Ubuntu | Download | Ubuntu的iso镜像制作U盘安装包即可。 其次安装之前,还要对 Thi…

嵌入式开发学习(阶段二 C语言基础)

C语言:第05天笔记 内容提要 分支结构 条件判断用if语句实现分支结构用switch语句实现分支结构 分支结构 条件判断 条件判断:根据某个条件成立与否,决定是否执行指定的操作。 条件判断的结果是逻辑值,也就是布尔类型值&#…

从人体姿态到机械臂轨迹:基于深度学习的Kinova远程操控系统架构解析

在工业自动化、医疗辅助、灾难救援与太空探索等前沿领域,Kinova轻型机械臂凭借7自由度关节设计和出色负载能力脱颖而出。它能精准完成物体抓取、复杂装配和精细操作等任务。然而,实现人类操作者对Kinova机械臂的直观高效远程控制一直是技术难题。传统远程…

NX949NX952美光科技闪存NX961NX964

NX949NX952美光科技闪存NX961NX964 在半导体存储领域,美光科技始终扮演着技术引领者的角色。其NX系列闪存产品线凭借卓越的性能与创新设计,成为数据中心、人工智能、高端消费电子等场景的核心组件。本文将围绕NX949、NX952、NX961及NX964四款代表性产品…

【Bootstrap V4系列】学习入门教程之 组件-输入组(Input group)

Bootstrap V4系列 学习入门教程之 组件-输入组(Input group) 输入组(Input group)Basic example一、Wrapping 包装二、Sizing 尺寸三、Multiple addons 多个插件四、Button addons 按钮插件五、Buttons with dropdowns 带下拉按钮…

VS “筛选器/文件夹”

每天学习一个VS小技巧: 我在VS创建筛选器的时候,想要想要同步计算机上的文件目录,但是发现并未 同步。 例如我在这儿创建了一个筛选器IoManager 但是在UI这个文件夹里并未创建对应的IoManager文件夹 我右击也没有打开文件所在位置 然后我…

powerbuilder9.0中文版

经常 用这个版本号写小软件,非常喜欢这个开发软件 . powerbuilder9.0 非常的小巧,快捷,功能强大,使用方便. 我今天用软件 自己汉化了一遍,一些常用的界面都已经翻译成中文。 我自己用的,以后有什么界面需要翻译,再更新一下。 放在这里留个…

基于C语言的TCP通信测试程序开发指南

一、TCP通信基础原理 1.1 通信流程概述 TCP通信采用客户端-服务器模型,核心流程如下: 服务器端: 创建套接字(Socket) 绑定地址和端口(Bind) 开始监听(Listen) 接受…

教育系统源码如何支持白板直播与刷题功能?功能开发与优化探索

很多行业内同学疑问,如何在教育系统源码中支持白板直播和刷题功能?本篇文章,小编将从功能设计、技术实现到性能优化,带你全面了解这个过程。 一、白板直播功能的核心需求与技术挑战 实时交互与同步性 白板直播的核心是“实时性”。…

再度深入理解PLC的输入输出接线

本文再次重新梳理: 两线式/三线式传感器的原理及接线、PLC的输入和输出接线,深入其内部原理,按照自己熟悉的方式去理解该知识 在此之前,需要先统一几个基础知识点: 在看任何电路的时候,需要有高低电压差&…

k8s(11) — 探针和钩子

钩子和探针的区别: 在 Kubernetes(k8s)中,钩子(Hooks)和探针(Probes)是保障应用稳定运行的重要机制,不过它们的用途和工作方式存在差异,以下为你详细介绍&…

使用jmeter对数据库进行压力测试

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 前言 很多人提到 jmeter时,只会说到jmeter进行接口自动化或接口性能测试,其实jmeter还能对数据库进行自动化操作。个人常用的场景有以下&…

Kubernetes生产实战(十四):Secret高级使用模式与安全实践指南

一、Secret核心类型解析 类型使用场景自动管理机制典型字段Opaque (默认)自定义敏感数据需手动创建data字段存储键值对kubernetes.io/dockerconfigjson私有镜像仓库认证kubelet自动更新.dockerconfigjsonkubernetes.io/tlsTLS证书管理Cert-Manager可自动化tls.crt/tls.keykube…

05 mysql之DDL

一、SQL的四个分类 我们通常可以将 SQL 分为四类,分别是: DDL(数据定义语言)、DML(数据操作语言)、 DCL(数据控制语言)和 TCL(事务控制语言)。 DDL 用于创建…

电池热管理CFD解决方案,为新能源汽车筑安全防线

在全球能源结构加速转型的大背景下,新能源汽车产业异军突起,成为可持续发展的重要驱动力。而作为新能源汽车 “心脏” 的电池系统,其热管理技术的优劣,直接决定了车辆的安全性、续航里程和使用寿命。电池在充放电过程中会产生大量…

TransmittableThreadLocal:穿透线程边界的上下文传递艺术

文章目录 前言一、如何线程上下文传递1.1 ThreadLocal单线程1.2 InheritableThreadLocal的继承困境1.3 TTL的时空折叠术 二、TTL核心设计解析2.1 时空快照机制2.2 装饰器模式2.3 采用自动清理机制 三、设计思想启示四、实践启示录结语 前言 在并发编程领域,线程上下…