prompt工程策略(三:使用 LLM 防护围栏创建系统提示)

原文:我是如何赢得GPT-4提示工程大赛冠军的
原文的原文: How I Won Singapore’s GPT-4 Prompt Engineering Competition


!!本内容仅适用于具有 System Prompt(系统提示)功能的 LLM。具有这一功能的最著名 LLM 是 ChatGPT。

1. 与 System Prompts 有关的术语

对于 ChatGPT,有大量资源使用 System PromptsSystem MessagesCustom Instructions 这三个术语,而且很多时候它们的意思似乎差不多。简单总结一下:

  • System Prompts 和 System Messages 是通过 ChatGPT 的 Chat Completions API 以程序化方式使用该 LLM 时使用的术语。
  • Custom Instructions 是通过 https://chat.openai.com/ 的用户界面使用 ChatGPT 时的术语。
    在这里插入图片描述
    不过整体而言,这三个术语指代的是同一对象。

2. System Prompts

System Prompts 是指附加的额外 prompt,其作用指示 LLM 理应的行为方式。之所以说这是额外附加的,是因为它位于「普通」prompt(也被称为用户 prompt)之外。

在一组聊天中,每一次你都要提供一个新的 prompt,System Prompts 的作用就像是一个 LLM 会自动应用的过滤器。这意味着,在一组聊天中,LLM 每次响应都要考虑 System Prompts

3 . 使用 System Prompts

使用 System Prompts 提供你希望 LLM 在整个聊天过程中全程记住的指令

4. System Prompts 应包含的内容

System Prompts 中的指令通常包含以下类别:

  • 任务定义,这样 LLM 在聊天过程中能一直记得要做什么
  • 输出格式,这样 LLM 能一直记得自己应该如何响应
  • 防护围栏,这样 LLM 能一直记得自己不应该如何响应。防护围栏(Guardrails)是 LLM 治理方面一个新兴领域,是指为 LLM 配置的可运行操作的边界。

举个例子,System Prompt 可能是这样的:

You will answer questions using this text: [insert text].
You will respond with a JSON object in this format: {“Question”: “Answer”}.
If the text does not contain sufficient information to answer the question, do not make up information and give the answer as “NA”.
You are only allowed to answer questions related to [insert scope]. Never answer any questions related to demographic information such as age, gender, and religion.

翻译:

你将使用以下文本回答问题:[insert text]。
你将使用以下格式的JSON对象进行响应:{“Question”:“Answer”}。
如果文本中没有包含足够的信息来回答问题,请不要编造信息,并给出“NA”的答案。
你只能回答与[insert scope]相关的问题。永远不要回答任何与人口统计信息有关的问题,如年龄、性别和宗教。

其中每部分的类别如下:
在这里插入图片描述

5. 「普通」prompt(用户 prompt) 包含的内容

System Prompt 会大致描述任务概况。在上面的 System Prompt 示例中,任务被定义为仅使用特定的文本进行问答,并指示 LLM 以 {“Question”: “Answer”} 的格式进行响应。

You will answer questions using this text: [insert text].
You will respond with a JSON object in this format: {“Question”: “Answer”}.

在这个案例中,聊天中的每个用户 prompt 都只是你希望得到文本解答的问题。举个例子,用户 prompt 可能是这样「What is the text about?」。而 LLM 的响应会是这样:{“What is the text about?”: “The text is about…”}。

但我们可以进一步泛化这个示例任务。在实践中,你更可能会有多个希望得到解答的问题,而不只是一个。在这个案例中,我们可以将上述 System Prompt 的第一行从

You will answer questions using this text: [insert text].

改为

You will answer questions using the provided text.

现在,每个用户 prompt 中都既包含执行问答所基于的文本,也包含所要回答的问题。

<text>
[insert text]
</text><question>
[insert question]
</question>

这里,我们依然使用 XML 标签作为分隔符,以一种结构化的方式为 LLM 提供这两段所需信息。此处 XML 标签中使用的名词是 textquestion对应于 System Prompt 中使用的名词,这样一来 LLM 就能理解这些标签与 System Prompt 指令有何关联。

System Prompt 应能给出整体任务指令,而每个用户 prompt 应提供你希望执行任务时使用的确切细节。比如在这个案例中,这个确切的细节是text 和question。

补充: 让 LLM 防护围栏变得动态化

  • 固定防护围栏:通过 System Prompt 中的几句话添加的。
  • 动态防护围栏:英伟达团队开发的 NeMo Guardrails 能让用户配置与 LLM 之间的期望对话流,从而在聊天的不同位置设置不同的防护围栏,实现随聊天不断演进的动态防护围栏。

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

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

相关文章

工业无风扇计算机的优点

无风扇计算机往往采用紧凑且密封的外形&#xff0c;使其坚固耐用&#xff0c;使其能够在需要现场工程师进行维护之前承受恶劣的环境数年。机载移动部件较少或没有移动部件会降低组件无法按预期运行的可能性&#xff0c;或者更糟糕的是发生故障和损坏。采用工业组件和较低的散热…

您的文件和驱动器上的“密码保护”有多安全?

某些行业&#xff08;例如医疗保健、法律和公司&#xff09;的人们在通过电子邮件发送文件时通常依赖密码保护&#xff0c;认为它可以提供足够的安全性来防止窥探。然而&#xff0c;对 PDF 或 Excel 文件进行简单的密码保护并不像看起来那样万无一失。 使用密码保护文件而不加…

亿级流量系统架构设计与实战

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

Spring AI开发前期开发指导(maven依赖下载问题解决)

文章目录 说明开发条件网络环境准备本地环境准备开发工具准备 特殊说明maven配置项目jar一致下载错误解决可行的版本搭配 说明 动力节点视频教程地址&#xff0c;本文章学习该教程&#xff0c;同时说明的maven配置问题导致的项目依赖下载失败的问题和其他问题的记录。 开发条…

浅谈SiC MOSFET之双脉冲原理

1.双脉冲实验实验的必要性 在平常的使用中&#xff0c;我们基本通过芯片手册来了解功率器件的各种性能参数&#xff0c;但是手册中的参数的测量环境都是在理想状态下&#xff0c;与实际使用或多或少都会有差别。通过双脉冲实验可以获取器件在真实工况下的参数&#xff0c;对于产…

Runes 生态一周要览 ▣ 2024.5.06-5.12

1、香港「Runes Asia 2024」符文峰会之行圆满结束。 2、BEVM 宣布首次大规模 RUNES 空投现已结束&#xff01;符文桥即将上线。 3、来自 Book of Blob 的交互式视听信息铭刻了第一个 Epic Sat 在 coinex 上市交易。 4、 Binance Research 发布了对 Runes 的报告。 5、HOPE•…

redis报错500

之前自己举一反三把value也给序列化了&#xff1a; 然后报错了&#xff1a; 原因是这里传入的是Integer类型&#xff0c;序列化的话就变为string类型了

Android Studio 查看打开Room数据库数据

关于作者&#xff1a; CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP&#xff0c;带领团队单日营收超千万。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业化变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览…

漏桶算法:稳定处理大量突发流量的秘密武器!

漏桶算法的介绍 我们经常会遇到这样一种情况&#xff1a;数据包的发送速率不稳定&#xff0c;而网络的带宽有限。如果在短时间内有大量的数据包涌入&#xff0c;那么网络就会出现拥塞&#xff0c;数据包的丢失率就会增大。为了解决这个问题&#xff0c;人们提出了一种叫做“漏…

lerna实战(一)

前言 将大型代码仓库分割成多个独立版本化的 软件包&#xff08;package&#xff09;对于代码共享来说非常有用。但是&#xff0c;如果某些更改 跨越了多个代码仓库的话将变得很 麻烦 并且难以跟踪&#xff0c;并且&#xff0c; 跨越多个代码仓库的测试将迅速变得非常复杂。 …

Spring MVC 介绍及其使用(详细)

目录 一.什么是SpringMVC呢&#xff1f; 1.1MVC的介绍 1.2SpringMVC和MVC的关系 二.SpringMVC的学习 第一步&#xff1a;创建项目 第二步&#xff0c;SpringMVC的连接 第三步&#xff0c;Spring MVC获取参数 第四步 SpringMVC的输出 总结 特点和优势 核心组件 一.什…

发布一个属于自己的 npm工具包

我们可以发布一个属于自己的工具包到 npm 服务上&#xff0c;方便自己和其他开发者使用&#xff0c;参与社区贡献&#xff0c;操作步骤如下&#xff1a; 创建与发布 npm 初始化工具包&#xff0c;package.json 填写包的信息 (包的名字是唯一的)注册账号 https://www.npmjs.co…

Springboot打包jar如何后台启动和查看日志?

如何后台启动Spring Boot的fat jar 使用nohup命令启动&#xff1a; 在Linux或Unix系统中&#xff0c;你可以使用nohup命令来启动jar包&#xff0c;以确保即使你关闭了终端或断开了SSH连接&#xff0c;程序仍然可以在后台运行。命令格式如下&#xff1a;nohup java -jar yourapp…

利用matplotlib和KNeighborsClassifier,进行DBSACN聚类算法

代码&#xff1a; # -*- coding: utf-8 -*- """ Created on Sat May 11 10:23:50 2024author: admin """ # 调用库 import numpy as np import matplotlib.pyplot as plt # 调用人工智能模型库 from sklearn.neighbors import KNeighborsClassi…

009.Rx(Reactive Extenstions)的关系

响应式扩展库在组成响应式系统的应用程序中发挥作用&#xff0c;它与消息驱动的概念相关。Rx不是在应用程序或服务器之间移动消息的机制&#xff0c;而是在消息到达时负责处理消息并将其沿着应用程序内部的执行链传递的机制。需要说明的是&#xff0c;即使您没有开发包含许多组…

【MySQL数据库】丨高可用之MHA集群部署

一、准备工作 1.1 修改主机名 vim /etc/hosts# 添加对应主机 192.168.28.128 mha1 192.168.28.131 mha2 192.168.28.132 mha31.2 关闭防火墙及修改selinux # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭自启动# 修改selinux vim /etc/sy…

nginx配置域名与IP访问服务冲突问题

在最近的一次开发中遇到一个问题&#xff0c;我在云服务器上部署了两个服务&#xff0c;A服务和B服务&#xff0c; A服务在服务器中用的端口是80端口&#xff0c;所以我在浏览器访问的地址就是 B服务在服务器中用的是9818端口&#xff0c;所以我在浏览器访问的是 现在我给B服务…

Apache访问控制与虚拟主机

目录 一. Web服务简介 以下是一些 Web 服务的基本概念和特征 以下是一些主流的 Web 服务器 WEB 服务协议 二. Apache 服务的搭建与配置 2.1 Apache 介绍 2.2 Apache安装 2.3 Apache目录介绍 三. 访问控制 四. 修改默认网站发布目录 五. 虚拟主机 5.1 基于域名的虚拟…

产品经理也要学个PMP证书?

随着互联网行业竞争的加剧&#xff0c;越来越多的互联网公司将产品经理视为重点培养对象。为了提升自身能力&#xff0c;许多产品经理选择考取项目管理专业认证PMP&#xff08;Project Management Professional&#xff09;。那么&#xff0c;PMP对产品经理来说是否真的有帮助呢…

发布订阅模式

一、常见的发布订阅模式 1、Dom的事件 Event addEventListener dispatchEvent //订阅中心 const event new Event(zyk); //订阅 document.addEventListener(zyk, (value)>{console.log(我收到了&#xff1a;, value) }); //发布 document.dispatchEvent(e, 1); docume…