写Prompt的技巧和基本原则

一.基本原则

1.一定要描述清晰你需要大模型做的事情,不要模棱两可
2.告诉大模型需要它做什么,不需要做什么

改写前:

请帮我推荐一些电影

改写后:

请帮我推荐2025年新出的10部评分比较高的喜剧电影,不要问我个人喜好等其他问题,只需要告诉我电影名字即可

3.Prompt 最好简洁易懂,并减少歧义,无关的内容不要写

二.技巧

1.给一些案例
2.设定大模型的角色/风格

指定他是一个老师,或者以鲁迅的风格写一篇小说

这样会使得大模型输出的内容有独特的风格

3.使用特殊符号将指令和需要处理的文本分开

可以用""文本""将指令和文本分开。根据我的测试,如果你的文本有多段,增加”“”会提升 AI 反馈的准确性 或者##文本##

Please summarize the following sentences to make them easier to understand.Text: """
OpenAI is an American artificial intelligence (AI) research laboratory consisting of the non-profit OpenAI Incorporated (OpenAI Inc.) and its for-profit subsidiary corporation OpenAI Limited Partnership (OpenAI LP). OpenAI conducts AI research with the declared intention of promoting and developing a friendly AI. OpenAI systems run on the fifth most powerful supercomputer in the world.[5][6][7] The organization was founded in San Francisco in 2015 by Sam Altman, Reid Hoffman, Jessica Livingston, Elon Musk, Ilya Sutskever, Peter Thiel and others,[8][1][9] who collectively pledged US$1 billion. Musk resigned from the board in 2018 but remained a donor. Microsoft provided OpenAI LP with a $1 billion investment in 2019 and a second multi-year investment in January 2023, reported to be $10 billion.[10]
"""

在吴恩达的 ChatGPT Prompt Engineering 课程中,还提到,你可以使用其他特殊符号来分割文本和 prompt,比如<><tag></tag> 等,课程中的案例是这样的(注意这个是 python 代码,需要关注的是 prompt 里的 text):

text = f"""
You should express what you want a model to do by \
providing instructions that are as clear and \
specific as you can possibly make them. \
This will guide the model towards the desired output, \
and reduce the chances of receiving irrelevant \
or incorrect responses. Don't confuse writing a \
clear prompt with writing a short prompt. \
In many cases, longer prompts provide more clarity \
and context for the model, which can lead to \
more detailed and relevant outputs.
"""prompt = f"""
Summarize the text delimited by triple backticks \
into a single sentence.
`{text}`
"""
4.指定大模型输出的格式json/markdown

可以让大模型输出后再检查输出的内容是否符合格式

5.告诉大模型需要做的每一步

将任务拆分成每一个步骤,让大模型按照这个步骤执行,比如:

prompt_2 = f"""
Your task is to perform the following actions:
1 - Summarize the following text delimited by<> with 1 sentence.
2 - Translate the summary into French.
3 - List each name in the French summary.
4 - Output a json object that contains thefollowing keys: french_summary, num_names.Use the following format:
Text: <text to summarize>
Summary: <summary>
Translation: <summary translation>
Names: <list of names in Italian summary>
Output JSON: <json with summary and num_names>Text: <{text}>
"""

6.Zero-Shot Chain of Thought

在问题的结尾里放一句 Let‘s think step by step (让我们一步步地思考),模型输出的答案会更加准确。

加上下面这个提示词效果可能会更好

Let's work this out in a step by step way to be sure we have the right answer.

7.Few-Shot Chain of Thought

向大语言模型展示一些少量的样例,并在样例中解释推理过程,大语言模型在回答提示时也会显示推理过程。这种推理的解释往往会引导出更准确的结果

四.Prompt框架

1.Basic Prompt Framework
  • Instruction(必须): 指令,即你希望模型执行的具体任务。
  • Context(选填): 背景信息,或者说是上下文信息,这可以引导模型做出更好的反应。
  • Input Data(选填): 输入数据,告知模型需要处理的数据。
  • Output Indicator(选填): 输出指示器,告知模型我们要输出的类型或格式。
2.CRISPE Prompt Framework
  • CR: Capacity and Role(能力与角色)。你希望 ChatGPT 扮演怎样的角色。
  • I: Insight(洞察力),背景信息和上下文(坦率说来我觉得用 Context 更好)。
  • S: Statement(指令),你希望 ChatGPT 做什么。
  • P: Personality(个性),你希望 ChatGPT 以什么风格或方式回答你。
  • E: Experiment(尝试),要求 ChatGPT 为你提供多个答案。

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

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

相关文章

【React】基于 React+Tailwind 的 EmojiPicker 选择器组件

1.背景 React 写一个 EmojiPicker 组件&#xff0c;基于 emoji-mart 组件二次封装。支持添加自定义背景 、Emoji 图标选择&#xff01;并在页面上展示&#xff01; 2.技术栈 emoji-mart/data 、emoji-mart : emoji 图标库、元数据 tailwindcss: 原子化 CSS 样式库 antd : 组…

Qt中绘制不规则控件

在Qt中绘制不规则控件可通过设置遮罩&#xff08;Mask&#xff09;实现。以下是详细步骤: ‌继承目标控件‌&#xff1a;如QPushButton或QWidget。‌重写resizeEvent‌&#xff1a;当控件大小变化时&#xff0c;更新遮罩形状。‌创建遮罩区域‌&#xff1a;使用QRegion或QPain…

Parallel_Scheduling_of_DAGs_under_Memory_Constraints论文阅读

内存约束下的 DAG 并行调度 点击阅读原文语雀链接更清晰 摘要 科学工作流通常被建模为任务的有向无环图&#xff08;DAG&#xff09;&#xff0c;这些任务代表计算模块及其依赖关系&#xff0c;依赖关系表现为任务生成的数据被其他任务使用。这种形式化方法允许使用运行时系统&…

探索MVC、MVP、MVVM和DDD架构在不同编程语言中的实现差异

MVC与MVP/MVVM/DDD架构对比&#xff0c;不同语言实现 MVC 分层架构设计概述 模型-视图-控制器&#xff08;Model-View-Controller&#xff0c;简称 MVC&#xff09;是一种经典软件架构设计&#xff0c;通过分层解耦&#xff0c;使得系统结构清晰和易于维护&#xff0c;具有良…

一文读懂 UML:基础概念与体系框架

UML 图是一种标准化的建模语言&#xff0c;在软件开发和系统设计等领域有着广泛的应用。以下是对 UML 图各类图的详细介绍&#xff1a; 1.用例图 定义&#xff1a;用例图是从用户角度描述系统功能的模型图&#xff0c;展现了系统的参与者与用例之间的关系。作用&#xff1a;帮…

Spring 及 Spring Boot 条件化注解(15个)完整列表及示例

Spring 及 Spring Boot 条件化注解完整列表及示例 1. 所有条件化注解列表 Spring 和 Spring Boot 提供了以下条件化注解&#xff08;共 15 个&#xff09;&#xff0c;用于在配置类或方法上实现条件化注册 Bean 或配置&#xff1a; 注解名称作用来源框架Conditional自定义条件…

【Kafka】深入探讨 Kafka 如何保证一致性

文章目录 Kafka 基本概念回顾​副本角色​ 数据写入一致性​同步副本&#xff08;ISR&#xff09;集合​数据读取一致性​故障处理与一致性恢复​总结​ 在分布式系统领域&#xff0c;数据一致性是至关重要的一环。作为一款高性能的分布式消息队列系统&#xff0c;Kafka 在设计…

从入门到精通:SQL注入防御与攻防实战——红队如何突破,蓝队如何应对!

引言&#xff1a;为什么SQL注入攻击依然如此强大&#xff1f; SQL注入&#xff08;SQL Injection&#xff09;是最古老且最常见的Web应用漏洞之一。尽管很多公司和组织都已经采取了WAF、防火墙、数据库隔离等防护措施&#xff0c;但SQL注入依然在许多情况下能够突破防线&#…

【算法day27】有效的数独——请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。

36. 有效的数独 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请参考示例…

leetcode 2360. 图中的最长环 困难

给你一个 n 个节点的 有向图 &#xff0c;节点编号为 0 到 n - 1 &#xff0c;其中每个节点 至多 有一条出边。 图用一个大小为 n 下标从 0 开始的数组 edges 表示&#xff0c;节点 i 到节点 edges[i] 之间有一条有向边。如果节点 i 没有出边&#xff0c;那么 edges[i] -1 。…

PySpur: AI 智能体可视化开发平台

GitHub&#xff1a;https://github.com/PySpur-Dev/pyspur 更多AI开源软件&#xff1a;发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - 小众AI PySpur是一个开源的轻量级可视化AI智能体工作流构建器&#xff0c;旨在简化AI系统的开发流程。通过拖拽式界面&#xff0c;用户…

vcpkg安装及使用教程,以安装matio库解析mat文件为例

vcpkg安装及使用教程,以安装matio库解析mat文件为例 1. vcpkg安装2 安装matio三方库3 将三方库集成到VS中3.1 全局集成3.2 集成到特定工程4 结语Vcpkg 是微软开发的一款开源的 C/C++ 包管理工具,旨在简化 C/C++ 项目依赖库的安装和管理。它支持跨平台(Windows、Linux、macO…

LLM架构解析:NLP基础(第一部分)—— 模型、核心技术与发展历程全解析

本专栏深入探究从循环神经网络&#xff08;RNN&#xff09;到Transformer等自然语言处理&#xff08;NLP&#xff09;模型的架构&#xff0c;以及基于这些模型构建的应用程序。 本系列文章内容&#xff1a; NLP自然语言处理基础&#xff08;本文&#xff09;词嵌入&#xff0…

【Rtklib入门指南】2. 使用RTKLIB GUI进行观测数据分析

数据准备 下载2025年1月1日的香港CORS站数据和观测星历&#xff0c;详情参照如下博客&#xff1a; 使用GAMP_GOOD进行hk数据下载教程-CSDN博客 分析工具 RTKLIB 2.4.3 demo5&#xff08;也可以选用RTKLIB2.4.2&#xff0c;但不建议使用RTKLIB2.4.3&#xff09; 分析流程 …

suse15 sp1使用华为云软件源yum源zypper源

登录suse15终端&#xff0c; cd /etc/zypp/repos.d/进入目录后执行以下命令&#xff1a; zypper ar -fcg https://mirrors.huaweicloud.com/opensuse/distribution/leap/15.1/repo/oss HuaWeiCloud:15.1:OSS zypper ar -fcg https://mirrors.huaweicloud.com/opensuse/distribu…

首屏加载时间优化解决

&#x1f916; 作者简介&#xff1a;水煮白菜王&#xff08;juejin/csdn同名&#xff09; &#xff0c;一位前端劝退师 &#x1f47b; &#x1f440; 文章专栏&#xff1a; 高德AMap专栏 &#xff0c;记录一下平时学习在博客写作中记录&#xff0c;总结出的一些开发技巧✍。 感…

Sentinel[超详细讲解]-1

定义一系列 规则 &#x1f47a;&#xff0c;对资源进行 保护 &#x1f47a;&#xff0c; 如果违反的了规则&#xff0c;则抛出异常&#xff0c;看是否有fallback兜底处理&#xff0c;如果没有则直接返回异常信息&#x1f60e; 1. 快速入门 1.1 引入 Sentinel 依赖 <depend…

02-Docker 使用

docker:快速构建、运行、管理应用的工具,可以帮助我们下载应用镜像,创建并运行镜像的容器,从而快速部署应用 1、部署mysql 先停掉虚拟机中的MySQL,确保你的虚拟机已经安装Docker,且网络开通的情况下,执行下面命令即可安装MySQL(注意:若服务器上已经有mysql 占用了330…

@DeclareParents 注解实现接口功能增强:Spring中通过接口引入实现功能增强的完整示例

以下是Spring中通过接口引入实现功能增强的完整示例&#xff1a; // 1. 目标接口及实现类 package com.example;public interface Service {void doSomething(); }Component class ServiceImp implements Service {Overridepublic void doSomething() {System.out.println(&qu…

HTML中数字和字母不换行显示

HTML中数字和字母不换行显示的默认行为及如何通过CSS的word-wrap和word-break属性进行调整。 在HTML中标签中的数字和字母默认是不换行的&#xff0c;如果要将他们换行&#xff0c;在CSS中添加”word-wrap: break-word;” 即可解决 语法&#xff1a;word-wrap: normal|break-w…