为生成式人工智能制作 prompt 三明治

2023-10-23 22:59

本文主要是介绍为生成式人工智能制作 prompt 三明治,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:Andrew Macri, Garrett Spong

当多次询问同一问题时,大型语言模型 (LLM) 可能会给出不一致的答案。 例如,如果你请求帮助编写 Elasticsearch 查询,有时生成的查询可能会被 API 调用包装,即使我们没有请求它。 当将生成式人工智能集成到需要特定格式响应(例如查询)的分析师工作流程时,这种有时微妙、有时戏剧性的变化会增加复杂性。 在短期内,LLM 提供商可能会提供供应商特定技术的拼凑而成,以提高响应的可重复性。

幸运的是,除了这些新兴的特定于供应商的技术之外,还有一种通用模式可以在对话开始时构建提示以将其引向正确的方向。 我们将制作一个 prompt 三明治,以提高与您首选的法学硕士聊天的质量和一致性。 我们将探索 prompt 三明治的各个部分,并说明其在 Elastic AI Assistant 中的实际应用。

DALL E 2 生成的提示图像:赛博朋克(cyberprunk)递给蒸汽朋克人工智能助手一份三明治

Elastic AI Assistant 集成了 Elastic Security 检测警报、事件、规则和数据质量检查,作为生成 AI 聊天的上下文。 该助手可以帮助快速制作三明治,并通过值的字段级假名(pseudonymization)化来降低隐私风险。

为生成式人工智能制作 prompt 三明治

用提示三明治开始新的对话适用于为最受欢迎的 LLM 撰写提示,并为高质量和一致的回复定下基调,因为它:

  • 引导助理的对话和角色
  • 提供背景信息
  • 提出问题或提出请求

考虑以下快速三明治的示例:

You are an expert in Elastic Security. I have an alert for a user named alice. How should I investigate it?

该提示可以解构为三个垂直堆叠的部分,类似于三明治:

  _________________________________________________
 /                                                 \
|     You are an expert in Elastic Security.       | (1)
 \ _______________________________________________/
 +------------------------------------------------+
 |    I have an alert for a user named alice.     |  (2)
 +------------------------------------------------+
 /                                               \
|     How should I investigate it?               |   (3)
 \_______________________________________________/

提示三明治的每一层都有一个名称和特定用途:

  1. System prompt
  2. Context
  3. User prompt

每层的独特用途概述如下:

目的

例子

System prompt

Steers the conversation and role of the assistant

You are an expert in Elastic Security.

Context

Data or metadata, which may be structured or freeform

I have an alert for a user named alice.

User prompt

Asks a question or makes a request

How should I investigate it?

在构建和调整提示的可重复性时,这种三层格式提供了有关构建提示以及首先修改哪些部分的指导。

System promt - 系统提示

系统提示是三明治的顶层,使用角色提示等通用技术来构建对话和助理的角色。

一个系统提示可以与许多不同的上下文和用户提示组合。

在构建新提示或调整现有提示以获得更一致的响应时,通常最好从现有系统提示开始并向用户提示添加特定指令。 如果在需要时保留详细信息,则系统提示的可重用性更高。

考虑修改或创建新系统提示的原因包括:

  • 在众多用户提示中重复相同的指令
  • 请求包含或排除答案类别
  • 需要向不同的受众(例如安全分析师或高管)解释结果

Context - 上下文

上下文是三明治的中间层,通常是数据或元数据。 在向第三方 LLMs 提供提示中的背景信息时,牢记数据隐私至关重要。 大多数流行的 LLMs 接受结构化格式(如逗号分隔值)或非结构化文本的上下文数据或元数据。

上下文数据可能包含可能识别个人身份的信息。 为了降低隐私风险,特定值在作为聊天上下文发送之前可能会被替换。 例如,当 user.name 作为上下文发送到 LLM 时,jem(user.name 字段的值)可能会替换为新生成的唯一 ID,如 3a4a99d0-60a5-4ab9-99dd-b6786da5b8b2。 当收到来自 LLM 的响应时,唯一 ID 将替换为原始值。 该技术是假名化的一个例子,因为如果没有附加信息,数据主体的重新识别是不切实际的。

稍后我们将讨论 Elastic AI Assistant 的数据匿名化功能如何提供可定制的字段级选项,用于包含、排除和生成某些类型的结构化上下文(例如警报)的伪匿名值。

User promt - 用户提示

用户提示是三明治的底层。 我们在这里提出诸如 “How should I investigate it?”之类的问题。 或提出请求,例如总结此警报。

优化重复性提示时,请考虑请求特定格式的输出。 例如,你可以将 format your output in markdown syntax 添加到用户提示中。

通常,你将创建比系统提示多得多的用户提示。 在完善提示以确保一致性时,用户提示应该是你的起点。

在 Elastic AI Assistant 中构建可重复的提示

现在你已经了解了如何识别提示三明治中的各层,接下来让我们研究一下该技术的实际应用,以在 Elastic AI Assistant 中构建可重复的提示。

在整个 Elastic Security 中单击 “Chat” 按钮会将数据(例如下面屏幕截图中的示例警报)作为聊天的上下文:

单击 “Chat” 按钮会将警报作为上下文带入聊天中

Clicking the Chat button brings the alert as context into a chat

提示三明治的三层 - (1) System prompt、(2)  Context 和 (3) User promt - 在下面的屏幕截图中进行了标记。 

Elastic AI Assistant 带注释的屏幕截图

在将任何数据发送到 LLM 之前,你可以使用 Elastic AI Assistant 的内联 editing promt(编辑提示)预览(如上所示)来:

  • 添加新的、编辑或删除 system prompts
  • 添加附加 context、删除 context,并针对某些类型的数据,配置字段级匿名化
  • 预览或编辑通过 Quick prompts 功能选择的用户提示

可以通过下面屏幕截图中显示的设置选择创建自定义系统提示和用户提示:

创建自定义 system prompt

上面的 “Settings” 视图还配置数据匿名化的默认值。

数据匿名化(假名化)

Elastic AI 助手可以选择为某些类型的上下文数据(例如警报)提供匿名化,以便你可以:

  • 允许或拒绝将特定字段作为上下文发送给 LLM
  • 打开或关闭特定字段的匿名化
  • 按字段或批量设置上述默认值

只有下面 Alert (from summary) 示例警报(来自摘要)上下文中 Allowed (允许) 的字段才会发送到 LLM:

在上面的例子中,三个字段的值在发送到LLM时都会被匿名化。 你可以接受配置的默认值或与预览交互以切换特定字段。

查看实际发送的内容

单击 “Showed anonymized” 开关即可显示聊天中发送至 LLM 和从 LLM 接收的匿名数据,如下面的动画 gif 所示:

Review what was actually sent

上图:“Show anonymized” 开关显示从 LLM 发送和接收的匿名数据。

结论

将生成式人工智能纳入工作流程时,制作 prompt 三明治可以提高响应的一致性。 调整提示时,使用提示三明治的三层:System prompt、Context 和User prompt 作为更改内容以及何时更改的指导。

将数据作为上下文发送给 LLM 时,请记住隐私的重要性。 Elastic AI Assistant 的匿名功能仅允许将特定字段发送到 LLM 并对特定值应用字段级假名化,从而降低隐私风险。

开始免费试用 Elastic Cloud,免费试用 Elastic AI Assistant。 有关更多信息,包括如何将其与你选择的模型集成,请阅读我们的文档。

如果你是开发人员,请查看 Elasticsearch Relevance Engine™ (ESRE​​)、向量搜索以及 Elastic 对 LangChain 的第一个贡献。

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

在这篇博文中,我们可能使用了第三方生成式人工智能工具,这些工具由其各自所有者拥有和运营。 Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任,也不对你使用此类工具可能产生的任何损失或损害负责。 使用人工智能工具处理个人、敏感或机密信息时请务必谨慎。 你提交的任何数据都可能用于人工智能培训或其他目的。 无法保证你提供的信息将得到安全或保密。 在使用之前,你应该熟悉任何生成式人工智能工具的隐私惯例和使用条款。

Elastic、Elasticsearch 和相关标志是 Elasticsearch N.V. 的商标、徽标或注册商标。 在美国和其他国家。 所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。

原文:Crafting Prompt Sandwiches for Generative AI | Elastic Blog

这篇关于为生成式人工智能制作 prompt 三明治的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/270995

相关文章

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

基于人工智能的智能家居语音控制系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 随着物联网(IoT)和人工智能技术的发展,智能家居语音控制系统已经成为现代家庭的一部分。通过语音控制设备,用户可以轻松实现对灯光、空调、门锁等家电的控制,提升生活的便捷性和舒适性。本文将介绍如何构建一个基于人工智能的智能家居语音控制系统,包括环境准备

从希腊神话到好莱坞大片,人工智能的七大历史时期值得铭记

本文选自historyextra,机器之心编译出品,参与成员:Angulia、小樱、柒柒、孟婷 你可能听过「技术奇点」,即本世纪某个阶段将出现超级智能,那时,技术将会以人类难以想象的速度飞速发展。同样,黑洞也是一个奇点,在其上任何物理定律都不适用;因此,技术奇点也是超越未来理解范围的一点。 然而,在我们到达那个奇点之前(假设我们能到达),还存在另一个极大的不连续问题,我将它称之

[Day 73] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI在健康管理中的應用實例 1. 引言 隨著健康管理需求的提升,人工智能(AI)在該領域的應用越來越普遍。AI可以幫助醫療機構提升效率、精準診斷疾病、個性化治療方案,以及進行健康數據分析,從而改善病患的健康狀況。這篇文章將探討AI如何應用於健康管理,並通過具體代碼示例說明其技術實現。 2. AI在健康管理中的主要應用場景 個性化健康建議:通過分析用戶的健康數據,如飲食、運動、睡眠等,AI可

OpenStack离线Train版安装系列—0制作yum源

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack镜像制作系列5—Linux镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录 CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作