Prompt_Engineering提示词工程(一)

一、Prompt(提示词)

Prompt(提示词)是给AI模型交互文本片段,用于指导模型生成符合预期输出结果,提示词的目的是为模型提供一个上下文的任务,以便模型能够更准确地理解用户的意图,并生成相关的回应。

二、Prompt(提示词核心)

  1. 具体性

    • 差:“讲一下历史”
    • 好:“用300字简要概括第二次世界大战的主要起因,列出5个关键因素”
  2. 示例和格式

    • 差:“说说节假日分别有哪些?”

    • 好:"说说2025年中国节假日有哪些?以表格形式展示(包括序号、开始日期、结束日期、节假名称、周几范围,总天数)

      例如:

      序号| 开始日期 | 结束日期| 节假名称| 周几范围 | 总天数

      1 | 2025-04-04|2025-04-07|清明节|周四~周日|3天"

  3. 避免不精确

    • 差:“有5个用户,分别是A\B\C\D\E; 现在进行角色扮演,请猜出那个是水果。”

    • 好:"有5个用户,分别是A\B\C\D\E; 现在进行角色扮演,根据5个用户每一轮对话进行排除,

      ​ 其中分别代表A:苹果; B-西瓜; C-橘子;D-冬瓜;E-葡萄。

      ​ 请模拟至少4轮对话进行依次排除,猜出谁非正确水果。"

  4. 做还是不做:

    • 差:“现在由一组数依次是1~100。”
    • 好:“现在由一组数依次是1~100。分别求基数和,偶数和,基数积,偶数积,说出具体分析步骤,结果以表格形式展示。”
  5. 结构化表达

    • 差:“现在有2个用户分别是A和B,他具有很多属性; 年龄age, 性别sex, 身高height,体重weigth,角色role等,A用户年龄18,性别男,身高168cm,体重65kg,角色学生,B用户年龄38,性别男,身高178cm,体重75kg,角色教师”
    • 好:“现在有2个用户分别是A和B,他具有很多属性; 年龄age, 性别sex, 身高height,体重weigth,角色role等,A用户年龄18,性别男,身高168cm,体重65kg,角色学生,B用户年龄38,性别男,身高178cm,体重75kg,角色教师。请根据以上描述返回JSON数据结构,无需展示分析步骤,直接要结果。”
  6. 上下文支持

    • 差:“写首诗”
    • 好:“以秋天黄昏为背景,写一首8行的现代诗,表达时光流逝的感伤”

三、Prompt(提示词场景)

  1. 通用技巧

    提示词是与大模型沟通语言,在提问最好尽量满足以下场景,让大模型更好理解你的意图。

    • 具体性。
    • 示例和格式。
    • 避免不精确。
    • 做还是不做?
  2. Zero-Short(零样本)
    零样本提示不提供示例,直接向模型提出问题或任务。适用于模型已熟悉的任务或问题明确的场景。这对于一些简单的、明确的问题,非常高效。但对于一些复杂的问题,效果就不好了。

    • 可分析情感、归类总结、结构化输出、步骤实施等等。
  3. Few-Short(少量样本)

    ​ 少样本提示可以作为一种技术,以启用上下文学习,我们在提示中提供演示以引导模型实现更好的性能。

    少样本提示通过提供示例,让模型更清楚任务要求。适用于复杂或自定义任务。

    • 可语言翻译、综合计算、逻辑推理等等。
  4. COT(Chain-of-Thought, 思维链)

    ​ 思维链是一种链式思维,他不仅仅限于单步纵向思维,而是实现更复杂的推理能力,解决复杂问题。

    • Zero-Short-COT(零样本COT)。
    • Few-Short-COT(少量样本COT)。

    在这里插入图片描述

    标准的prompt思维链prompt
    Q:罗杰有5个网球。他又买了2罐网球。每个罐子有3个网球。他现在有多少个网球?Q:罗杰有5个网球。他又买了2罐网球。每个罐子有3个网球。他现在有多少个网球?
    A:答案是11个A:罗杰一开始有5个球。2罐3个网球,等于6个网球。5 + 6 = 11。答案是11。
    Q:自助餐厅有23个苹果。如果他们用20做午餐,又买了6个,他们有多少个苹果?Q:自助餐厅有23个苹果。如果他们用20做午餐,又买了6个,他们有多少个苹果?
    A:答案是27个A:自助餐厅最初有23个苹果。他们使用20个做午饭。23 - 20 = 3。他们又买了6个苹果,得到3+ 6= 9。答案是9个。
  5. COT-SC(Chain-of-Thought Self-Consistency, 思维链自一致性)

    大模型通过思维链方式得到结果有所偏离(产生幻觉),需多次论证后才能保证自一致性,自一致性性(自洽性)是指模型在生成文本时,能够保持内部逻辑的一致性,避免自相矛盾或与上下文不符的回答。
    在这里插入图片描述

  6. TOT(Tree-of-thought, 思维树)

    ​ 对于需要探索或预判战略的复杂任务来说,传统或简单的提示技巧是不够的。思维树基于思维链提示进行了总结,引导语言模型探索把思维作为中间步骤来解决通用问题。

    • 分层次思考。
    • 多路径探索。
    • 动态调整。
      在这里插入图片描述

四、Prompt Engineering(提示工程)

提示工程(Prompt Engineering) 也可以被称为「指令工程」,提示工程的核心思想是,通过精心设计的提示Prompt,可以显著提高模型的性能和输出质量。它是与AI交互的核心技能之一,尤其在自然语言处理NLP领域至关重要。

  • 貌似简单,但其实意义非凡。(提问的智慧)
  • Prompt 是 AGI 时代的「编程语言」
  • 提示工程师是 AGI 时代的「程序员」

如果要学好提示工程,那么其实就是要知道如何对咱们的Prompt进行调优,与大模型进行更好的交互。
在这里插入图片描述

  • 提示工程(Prompt Engineering):
    直接使用预训练的模型,并通过设计巧妙的提示(prompt)来引导模型生成所需的输出。
  • RAG(Retrieval Augmented Generation, RAG):
    模型通过引入外部知识来增强其生成能力。这可能是通过检索相关文本、知识图谱或其他数据源来实现的。
  • 微调(Fine-tuning):
    已经预训练好的模型会在特定领域的数据上进行优化也就是通过领域特定的数据来精炼预训练模型,以提高其在该领域的性能。
  • 预训练(Pre-training):
    金字塔的顶部是“预训练”阶段,这通常意味着从头开始训练一个机器学习模型。这一阶段使用大量的数据进行训练,以建立一个基本的、能够处理多种任务的模型。

五、提示工程基于那些组成。

Prompt Engineering工程是什么? 一切在提示之前的内容

在这里插入图片描述
这张概念图以直观的方式揭示了提示工程(Prompt Engineering)的核心要素及其运作流程。图中清晰地展示了在给定提示之前,涉及的一系列关键步骤和组件,这些共同构成了提示工程的整体框架。

首先,图的左侧列出了几个重要的组成部分:

  • 数据库和其他信息存储(Databases & Other InfoStores)

    这是信息的源头,包含了各种相关的数据库和知识库,它们为AI模型生成输出或输入提供了丰富的素材。

  • 工作流程(Workflows)

    输入工作流程描述了如何将人类的想法和意图转化为机器可理解的指令。这可能涉及多个步骤,如数据预处理、特征提取、提示设计等。在Prompt中扮演着指导者的角色,它用简单的语句清晰地规划出大模型处理任务的整体流程。这个流程通常包括欢迎用户、获取用户输入、处理用户输入、输出结果、结束对话等关键步骤。通过这样的流程设计,我们可以确保大模型在与用户的交互过程中,能够按照预定的逻辑和顺序进行工作,从而提高交互的效率和准确性。Workflow的设计还可以根据具体的应用场景和需求进行定制和优化。例如,在某些复杂的场景中,我们可能需要添加更多的处理步骤或条件判断来确保大模型能够正确地理解和处理用户的输入。而在一些简单的场景中,我们则可以简化Workflow的设计,以提高交互的速度和便捷性。

  • 提示库(Prompt Libraries)

    AI提示库是存储各种经过验证和优化的提示的集合。这些提示可以被重复使用或稍作修改以适应不同的任务或需求。

  • 提示词设计指南(Prompt Recipe)

    提示配方是指创建有效提示的一系列步骤或指南。它可能包括选择适当的语言风格、确定提示的结构、添加必要的上下文信息等。

    • 角色(Role)

      提示角色指的是在提示中扮演的特定角色或身份。例如,提示可能要求AI模型以专家的身份回答问题,或以某种特定的风格(如正式、幽默等)进行写作。

    • 任务指令(Task Instructions)

      任务指令是明确告诉AI模型需要执行的具体任务。这些指令应该清晰、具体,以便AI模型能够准确理解并执行。

    • 上下文(Context)

      上下文是指与提示相关的信息或背景知识。提供足够的上下文可以帮助AI模型更好地理解提示,并生成更相关、更准确的输出。

  • 生成性提示(Prompting)

    在生成式AI的应用中,可以通过设计巧妙的提示词,让模型生成符合特定场景、风格或主题的文本。 通过调整提示的内容和结构,可以实现对模型输出的精细控制,从而满足不同的应用场景和需求。

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

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

相关文章

【设计模式】面向对象开发学习OOPC

PLOOC-裸机思维 PLOOC-git OOPC精要——撩开“对象”的神秘面纱 C/C面向对象编程之封装-KK 面向过程,本质是“顺序,循环,分支”面向对象,本质是“继承,封装,多态”参考的书籍:《UMLOOPC嵌入式…

软考高级--案例分析

架构风格 重点 交互方式数据结构控制结构扩展方法 分类 管道-过滤器风格 数据流 数据仓储风格 星型结构以数据为中心,其他构件围绕数据进行交互 企业服务总线esb 定义 以一个服务总线充当中间件的角色,把各方服务对接起来,所有服务…

01_背包问题

package org.josh; import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner new Scanner(System.in); int n scanner.nextInt(); // 物品数量 long w scanner.nextLong(); // 背包容量,使用long防止溢出 int[] v …

esp32-idf Linux 环境安装教程

一、提前说明 1. 系统环境 Ubuntu22.04 2. 适配芯片 ESP32S3 3. idf版本 v5.4.1(截止2025年4月13日为最新版本) 二、安装步骤 1. 安装前置依赖 sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev l…

JavaScript 输入输出语句

在JavaScript中,输入和输出是与用户交互的基础。无论是从用户那里获取信息还是向用户展示结果,正确使用输入输出语句都是至关重要的。本文将详细介绍JavaScript中常用的输入输出方法及其应用场景。 一、输出语句 (一)console.lo…

TCP 如何在网络 “江湖” 立威建交?

一、特点: (一)面向连接 在进行数据传输之前,TCP 需要在发送方和接收方之间建立一条逻辑连接。这一过程类似于打电话,双方在通话前需要先拨号建立连接。建立连接的过程通过三次握手来完成,确保通信双方都…

文章记单词 | 第29篇(六级)

一,单词释义 AI /ˌeɪ ˈaɪ/ abbr. 人工智能(Artificial Intelligence)inventory /ˈɪnvəntri/ n. 存货清单;财产清单;库存货物;存货;v. 编制目录;开列清单;盘存cha…

【C#】.NET 8适配器模式实战:用C#实现高可用系统集成与接口桥接艺术

系统集成挑战与适配器模式的价值 当需要整合不同架构或API的系统时,接口兼容性问题往往成为拦路虎。**适配器设计模式(Adapter Pattern)**通过转换接口形态,完美解决这种不兼容性问题。本文将通过C# .NET 8实战演示适配器模式的基…

Nginx基础到全面掌握高性能Web服务核心

目录 前言 第一部分:Nginx基础入门 1.1 什么是Nginx? 1.2 Nginx的典型应用场景 第二部分:Nginx安装与部署 2.1 在不同操作系统上安装Nginx 2.2 验证安装与基本操作 第三部分:Nginx配置详解 3.1 核心配置文件解析 3.2 虚…

C语言中while的相关题目

一、题目引入 以下程序中,while循环的循环次数是多少次? 二、代码分析 首先要明确的一点 while循环是当循环条件为真 就会一直循环 不会停止 while中i是小于10的 说明i可以取到0 1 2 3 4 5 6 7 8 9 进入第一个if判断i小于1为真时执行continue i0是为真的 执行continue 后…

idea 创建 maven-scala项目

文章目录 idea 创建 maven-scala项目1、创建普通maven项目并且配置pom.xml文件2、修改项目结构1)创建scala目录并标记成【源目录】2)导入scala环境3)测试环境 idea 创建 maven-scala项目 1、创建普通maven项目并且配置pom.xml文件 maven依赖…

微服务之间调用外键“翻译”的方法概述

写在前面的话&#xff1a;减少strean流操作&#xff0c;减少多层嵌套for循环。使用普通for循环和map的方式进行转换&#xff0c; 第一步查询数据 List<Student> findList studentDao.findList(findMap); 第二步准备遍历和赋值 if(CollectionUtil.isNotEmpty(findLis…

Spring Boot 中集成 Disruptor_高性能事件处理框架

1. 引言 1.1 什么是 Disruptor Disruptor 是一个高性能的事件处理框架,广泛应用于金融交易系统、日志记录、消息队列等领域。它通过无锁机制和环形缓冲区(Ring Buffer)实现高效的事件处理,具有极低的延迟和高吞吐量的特点。 1.2 为什么使用 Disruptor 高性能:通过无锁机…

Java中equals与 “==” 的区别

首先我们要掌握基本数据类型和引用类型的概念 基本数据类型&#xff1a; byte&#xff0c;short&#xff0c;int,long,float,double,boolean,char 基本的八大数据类型都各自封装着包装类&#xff0c;提供了更多的方法&#xff0c;并且都是引言类型 引用类型&#xff1a; 引…

青少年编程与数学 02-016 Python数据结构与算法 11课题、分治

青少年编程与数学 02-016 Python数据结构与算法 11课题、分治 一、分治算法的基本原理二、分治算法的实现步骤快速排序算法代码示例&#xff08;Python&#xff09; 三、分治算法的复杂度分析四、分治算法的优缺点优点&#xff1a;缺点&#xff1a; 五、分治算法的应用&#xf…

RFID技术概览

一、RFID技术定义 RFID&#xff08;Radio Frequency Identification&#xff0c;射频识别&#xff09; 是一种通过无线电信号识别目标对象并获取相关数据的非接触式自动识别技术。它利用射频信号的空间耦合&#xff08;电感或电磁耦合&#xff09;实现无物理接触的信息传递与目…

【C++游戏引擎开发】第13篇:光照模型与Phong基础实现

一、Phong模型数学原理 1.1 光照叠加公式 L = k a I a + k d I d max ⁡ ( 0 , n ⋅ l ) + k s I s max ⁡ ( 0 , r ⋅ v ) α L = k_a I_a + k_d I_d \max(0, \mathbf{n} \cdot \mathbf{l}) + k_s I_s \max(0, \mathbf{r} \cdot \mathbf{v})^\alpha L=ka​Ia​+kd​Id​max(0…

C语言中数组与指针:差异、应用及深度剖析

在C语言编程领域中&#xff0c;数组和指针是极为重要的概念&#xff0c;它们各自扮演着独特的角色&#xff0c;既有着紧密的联系&#xff0c;又存在显著的区别。深入理解它们的作用与差异&#xff0c;是掌握C语言编程的关键。 数组&#xff1a;数据的有序集合 数组是一组具有相…

【AI大模型】大模型RAG技术Langchain4j 核心组件深入详解

目录 一、前言 二、Langchain4j概述 2.1 Langchain4j 是什么 2.2 Langchain4j 主要特点 2.3 Langchain4j 核心组件 2.4 Langchain4j 核心优势 三、Langchanin4j组件应用实战 3.1 前置准备 3.1.1 导入如下依赖 3.1.2 获取apikey 3.1.3 获取官方文档 3.2 聊天组件 3.…

Web渗透之文件包含漏洞

文件包含漏洞原理 1、源代码 <?php$filename $_GET[filename]; include $filename; //或include_once,require,require_onceecho "欢迎来到PHP的世界.";?> 2、利用条件 php.ini中alllow_url_fopenOn(默认开启)和allow_url_includeOff(默认关闭)要开启…