Prompt指南

news/2024/9/27 15:32:36

Prompt编写原则

创建 prompt 的两个原则

  1. 编写清晰、具体的指令;

    • 使用分隔符清晰地表示输入的不同部分,分隔符可以是:```,”“,<>,:,<tag> </tag>等;

    • 寻求结构化的输出,输出可以是 JSON, HTML 等格式;

    • 要求模型检查是否满足条件,如果任务包含不一定能满足的假设(条件),我们可以告诉模型先检查这些假设;

    • 提供少量示例,Few-shot prompting;

  2. 给 LLM 时间去思考;要求模型在提供最终的答案之前开展思维链或进行一系列相关的推理。

    • 指定完成任务所需的步骤

    • 指导模型在下结论之前找出一个自己的解法。对于需要判断一个已有的答案是否正确的情景,可以先让模型自行得出一个解法,再行比较两者来得出结论;

 

四种主要大模型应用场景的 prompt 编写举例:

  1. 文本概括总结(Summarizing)

    • 限制输出文本长度;

    • 通过提示词来设置对某个特定角度的侧重;

    • 如果只想要某一方面的信息,可以进行信息提取(Extract)而不是总结(Summarize);

  2. 推理(inferring)

    • 识别文本的情感和类别;

    • 商品信息提取;

    • 主题推断;

  3. 文本转换(Transforming)

    • 语言翻译;

    • 语气转换;

    • 文件格式转换;

    • 拼写及语法纠正;

  4. 文本扩展(Expanding)。输入短文本(一个主题或者一组说明)让模型生成更长的文本。可以定制邮件或者写一些议论段落。

Prompt框架

常见的prompt编写框架有以下几个

  • APE (Action Purpose Expect)提示词框架

    • 行动 (Action):定义需要完成的特定任务、行动或活动。这是框架的第一步,旨在明确要执行的具体任务或活动。

    • 目的 (Purpose):讨论意图或目标。这部分是为了解释为什么要执行这个特定的任务或活动,它的背后意图是什么,以及它将如何支持更大的目标或目标。

    • 期望 (Expectation):陈述期望的结果。在这最后一步,明确表述通过执行特定任务或活动期望实现的具体结果或目标。

  • BROKE提示词框架

    • 背景 (Background): 提供足够的背景信息,使 GPT 能够理解问题的上下文。

    • 角色 (Role): 设定特定的角色,让 GPT 能够根据该角色来生成响应。

    • 目标 (Objectives): 明确任务目标,让 GPT 清楚知道需要实现什么。

    • 关键结果 (Key Results): 定义关键的、可衡量的结果,以便让 GPT 知道如何衡量目标的完成情况。

    • 演变 (Evolve): 通过试验和调整来测试结果,并根据需要进行优化。

  • RACE提示词框架

    • 角色 (Role): 定义场景中人或实体的特定角色或功能。

    • 行动 (A - Action): 描述您想要做什么,明确您的请求或目标。

    • 结果 (C - Result): 描述期望的结果,让模型了解您希望实现什么。

    • 示例 (E - Example): 提供一个例子来说明您的观点,帮助模型更好地理解您的请求。

  • RISE提示词框架

    • 角色 (Role): 定义场景中人或实体的特定角色或功能。

    • 输入 (Input): 指定需要考虑的必要输入或因素。

    • 步骤 (Steps): 要求提供实现期望结果所需采取的详细步骤。

    • 期望 (Expectation): 描述期望的结果、成果或期望。

Prompt生成

github上有一个开源项目LangGPT, LangGPT是一个帮助你编写高质量提示词的工具,是一套模块化、标准化的提示词编写方法论——结构化提示词。为大众提供一套可操作、可复现的提示词方法论。

项目介绍 https://langgptai.feishu.cn/wiki/RXdbwRyASiShtDky381ciwFEnpe ,文中还有一些精选的prompt

github地址 https://github.com/langgptai/LangGPT/blob/main/README_zh.md

国内可直接使用kimi上的LangGPT 提示词专家 https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0

下面附上一个LangGPT中的提示词生成器的prompt:Prompt提示词生成器

# # Role:Prompt工程师
1. Don't break character under any circumstance.
2. Don't talk nonsense and make up facts.## Profile:
- Author:pp
- Version:1.4
- Language:中文
- Description:你是一名优秀的Prompt工程师,你熟悉[CRISPE提示框架],并擅长将常规的Prompt转化为符合[CRISPE提示框架]的优秀Prompt,并输出符合预期的回复。## Constrains:
- Role: 基于我的Prompt,思考最适合扮演的1个或多个角色,该角色是这个领域最资深的专家,也最适合解决我的问题。
- Profile: 基于我的Prompt,思考我为什么会提出这个问题,陈述我提出这个问题的原因、背景、上下文。
- Goals: 基于我的Prompt,思考我需要提给chatGPT的任务清单,完成这些任务,便可以解决我的问题。
- Skill:基于我的Prompt,思考我需要提给chatGPT的任务清单,完成这些任务,便可以解决我的问题。
- OutputFormat: 基于我的Prompt,基于我OutputFormat实例进行输出。
- Workflow: 基于我的Prompt,要求提供几个不同的例子,更好的进行解释。
- Don't break character under any circumstance.
- Don't talk nonsense and make up facts.## Skill:
1. 熟悉[CRISPE提示框架]。
2. 能够将常规的Prompt转化为符合[CRISPE提示框架]的优秀Prompt。## Workflow:
1. 分析我的问题(Prompt)。
2. 根据[CRISPE提示框架]的要求,确定最适合扮演的角色。
3. 根据我的问题(Prompt)的原因、背景和上下文,构建一个符合[CRISPE提示框架]的优秀Prompt。
4. Workflow,基于我的问题进行写出Workflow,回复不低于5个步骤
5. Initialization,内容一定要是基于我提问的问题
6. 生成回复,确保回复符合预期。## OutputFormat:、、、# Role:角色名称## Profile:- Author: YZFly- Version: 0.1- Language: 中文- Description: Describe your role. Give an overview of the character's characteristics and skills### Skill:1.技能描述12.技能描述23.技能描述34.技能描述45.技能描述5## Goals:1.目标12.目标23.目标34.目标45.目标5## Constrains:1.约束条件12.约束条件23.约束条件34.约束条件45.约束条件5## OutputFormat:1.输出要求12.输出要求23.输出要求34.输出要求45.输出要求5## Workflow:1. First, xxx2. Then, xxx3. Finally, xxx## Initialization:As a/an <Role>, you must follow the <Rules>, you must talk to user in default <Language>,you must greet the user. Then introduce yourself and introduce the <Workflow>.、、、## Initialization:接下来我会给出我的问题(Prompt),请根据我的Prompt1.基于[CRISPE提示框架],请一步一步进行输出,直到最终输出[优化Promot];2.输出完毕之后,请咨询我是否有需要改进的意见,如果有建议,请结合建议重新基于[CRISPE提示框架]输出。要求:请避免讨论[CRISPE提示框架]里的内容;不需要重复内容,如果你准备好了,告诉我。

 

 

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

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

相关文章

养生壶专用液位检测芯片SC01/SC01B/WS003B实现液位提醒,告别干烧和溢液!

养生壶专用液位检测芯片SC01/SC01B/WS003B实现液位提醒方案ICMAN液位方案轻松实现水箱水位的非接触式液位检测/ 精确测量/防干烧保护!抗干扰能力强——ESD 接触式8KV 空间放电15KV,EFT为4KV,CS为动态10V 液位检测—— 健康家电、清洁家电的液位检测、高低液位提醒等少不了!…

【工具】postman妙用

postman妙用本文记录postman的一些妙用: 1.配合公共参数&动态参数: 1.1 公共参数: 1.2 动态参数: 2.自动化 2.1 Runner2.2 Flow3.自动生成 3.1 根据请求自动生成代码或者命令

PARTV-Oracle实例架构-内存架构

14. 内存架构 14.1. Oracle是数据库内存结构简介 当实例启动时,Oracle数据库会分配一个内存区域并启动后台进程。这个内存区域存储以下信息:程序代码 每个已连接会话的信息,即使它当前未活跃 程序执行期间需要的信息,例如,正在从中提取行的查询的当前状态 锁数据等在进程间…

【微服务】一张图搞懂微服务架构设计

1.前言 当前,微服务架构在很多公司都已经落地实施了,下面用一张图简要概述下微服务架构设计中常用组件。不能说已经使用微服务好几年了,结果对微服务架构没有一个整体的认知,一个只懂搬砖的程序员不是一个好码农! 2.流量入口 Nginx 在上图中可以看到,Nginx 作为整个架构的…

【性能测试】关于性能测试的各种指标

本指标适用于使用性能测试进行性能测试项目技术质量评价依据,规范技术测试结果评价,统一性能测试技术测试质量度量。应用系统技术质量度量指标范围广泛,本文难以涵盖全部。 预期读者为测试管理人员、测试实施人员、技术支持人员、项目管理人员等系统技术质量相关人员。 1.系…

使用VSCode进行Qt开发插件QtSupport

使用VSCode进行Qt开发 插件Qt Support 使用VSCode进行Qt开发一般都是使用的官方插件Qt tools,使用起来并不是太方便,所以我选择Qt Support插件。 一、Qt Support功能可以创建项目 导入基于CMake的qt项目 可以添加Qt项目文件Designer Form Class Designer Form C++ class Tran…

给Java同仁单点的AI开胃菜--搭建一个自己的本地问答系统

这是我参与创作者计划的第1篇文章大家好,因为对AI大模型很感兴趣,相信很多兄弟们跟我一样,所以最近花时间了解了一些,有一些总结 分享给大家,希望对各位有所帮助;本文主要是目标是 讲解如何在本地 搭建一个简易的AI问答系统,主要用java来实现,也有一些简单的python知识…

MySQL 表的CRUD与复合查询

目录表的增删改查Create指定列插入单行数据+全列插入多行数据+全列插入插入否则更新替换 (replace)Retrieve标准语法SELECT列全列查询限制显示条目 limit (分页查询)基本语法:指定列查询select 查询字段为表达式表达式重命名去重WHERE 条件比较运算符逻辑运算符案例:结果排序 O…