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

news2024/11/29 6:37:47

作者:Andrew Macri, Garrett Spong

 

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

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

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

 

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

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

用提示三明治开始新的对话适用于为最受欢迎的 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 发送和接收的匿名数据。

结论

将生成式人工智能纳入工作流程时,制作即时三明治可以提高响应的一致性。 调整提示时,使用提示三明治的三层: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

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

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

相关文章

Mybatis-plus动态条件查询QueryWrapper的使用

Mybatis-plus动态条件查询QueryWrapper的使用 一:queryWrapper介绍 queryWrapper是mybatis plus中实现查询的对象封装操作类,可以封装sql对象,包括where条件,order by排序,select哪些字段等等,他的层级关…

【C语言初阶】指针篇—下

目录 4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算 5. 指针和数组6. 二级指针7. 指针数组 C语言初阶—指针上 点击跳转 4. 指针运算 指针 整数指针-指针指针的关系运算 4.1 指针整数 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>int main() {in…

【VALSE2023】0610 胡瀚《视觉自监督学习年度进展评述》

from&#xff1a; https://www.bilibili.com/video/BV1J44y1w79r 文章目录 自监督学习年度进展技术进展趋势一&#xff1a;掩码图像建模的改进技术进展二&#xff1a;发现掩码图像建模对**大模型**比较友好技术进展三&#xff1a;针对**小模型**的掩码图像建模训练技术进展四&a…

51单片机学习--DS18B20温度读取温度报警器

需要先编写OneWire模块&#xff0c;再在DS18B20模块中调用OneWire模块的函数 先根据原理图做好端口的声明&#xff1a; sbit OneWire_DQ P3^7;接下来像之前一样把时序结构用代码模拟出来&#xff1a; unsigned char OneWire_Init(void) {unsigned char i;unsigned char Ac…

Android学习之路(1) 文本设置

Android学习之路(1) 文本 一、设置文本内容 设置文本内容的两种方式&#xff1a; 一种是在XML文件中通过属性android:text设置文本代码如下 <TextViewandroid:id"id/tv_hello"android:layout_width"wrap_content"android:layout_height"wrap_c…

54款宝藏级AIGC工具分享(claude,Midjourney,Stable Diffusion等)

随着ChatGPT的一波又一波高潮&#xff0c;生成式AI逐渐进入人们视野&#xff0c;并开始大行其道&#xff0c;正如人们所说&#xff1a;AI用的好&#xff0c;天天下班早&#xff01; 当然&#xff0c;有效的利用AI不但能下班早&#xff0c;还能在上班时间摸鱼&#xff0c;就如潘…

【AI量化模型】跑通baseline

跑通baseline 任务学习内容特征工程模型训练与验证 bug未纠错的结果 任务 教程部署在百度 AI Studio&#xff0c;可以一键fork运行代码&#xff0c;选择*v100 32g1*的配置&#xff0c;baseline运行大约20分钟&#xff0c;再加上进阶部分大约40分钟 学习内容 特征工程 构建基…

数据结构(c++语言版) 邓俊辉 第五章:二叉树学习笔记

5.1二叉树及其表示 树是由节点和边组成的。 1.有根树 树是由顶点(vertex)和边(edge)组成。树的每个顶点也叫节点(node)。 2.深度与层次 由树的连通性&#xff0c;每一节点与根都有一条路径相连&#xff1a;根据树的无环性&#xff0c;由根通往每个节点的路径必然唯一。 节点v…

在e2studio中使用DAP进行开发调试(基于DShanMCU-RA6M5开发板)

在e2studio中使用DAP进行开发调试&#xff08;基于DShanMCU-RA6M5开发板&#xff09; 百问网瑞萨MCU文档教程在线学习&#xff1a; http://renesas-docs.100ask.net 目录 文章目录 在e2studio中使用DAP进行开发调试&#xff08;基于DShanMCU-RA6M5开发板&#xff09;目录1. 资…

【GPT-3 】创建能写博客的AI工具

一、说明 如何使用OpenAI API&#xff0c;GPT-3和Python创建AI博客写作工具。 在本教程中&#xff0c;我们将从 OpenAI API 中断的地方继续&#xff0c;并创建我们自己的 AI 版权工具&#xff0c;我们可以使用它使用 GPT-3 人工智能 &#xff08;AI&#xff09; API 创建独特的…

【c语言】-- 结构体

&#x1f4d5;博主介绍&#xff1a;目前大一正在学习c语言&#xff0c;数据结构&#xff0c;计算机网络。 c语言学习&#xff0c;是为了更好的学习其他的编程语言&#xff0c;C语言是母体语言&#xff0c;是人机交互接近底层的桥梁。 本章来学习结构体。 让我们开启c语言学习之…

c++:day4

1.思维导图 2.shell函数获取uid和gid&#xff0c;并用变量接 #!/bin/bashfunction fun() {read -p "输入用户名" necho uid:id -u $necho gid:id -g $n } afun echo $a3.冒泡、选择和快排代码整理 /**************************************************************…

MySQL游标(二十九)

二八佳人体似酥&#xff0c;腰悬利剑斩愚夫&#xff0c;虽然不见人头落,暗里教君骨髓枯。 上一章简单介绍了MySQL流程控制(二十八) ,如果没有看过,请观看上一章 一. 游标 一.一 什么是游标 虽然我们也可以通过筛选条件 WHERE 和 HAVING&#xff0c;或者是限定返回记录的关键…

冒泡排序 简单选择排序 插入排序 快速排序

bubblesort 两个for循环&#xff0c;从最右端开始一个一个逐渐有序 #include <stdio.h> #include <string.h> #include <stdlib.h>void bubble(int *arr, int len); int main(int argc, char *argv[]) {int arr[] {1, 2, 3, 4, 5, 6, 7};int len sizeof(…

yolov5代码解读之​detect.py文件【超详细的好吗!点进来看阿很用心的!】

yolov5的代码一直在更新&#xff0c;所以你们代码有些部分可能不太一样&#xff0c;但大差不差。 先给大家看一下项目结构&#xff1a;&#xff08;最好有这个项目&#xff0c;且跑通过&#xff09; detect.py文件&#xff1a;它可以预测视频、图片文件夹、网络流等等。 如何…

重磅!百度再放大招,文心大模型3.5三大维度、20项指标遥遥领先

近日&#xff0c;清华大学新闻与传播学院沈阳团队发布《大语言模型综合性能评估报告》&#xff08;下文简称“报告”&#xff09;&#xff0c;报告显示百度文心一言在三大维度20项指标中综合评分国内第一&#xff0c;超越ChatGPT&#xff0c;其中中文语义理解排名第一&#xff…

Crond和sudo

目录 前言 一、Crond &#xff08;一&#xff09;、一次性任务 &#xff08;二&#xff09;、周期性任务 1./etc/crontab中加入 2.使用crontab命令编辑计划任务 二、sudo 1.sudo概念 2.sudo提权 总结 前言 crond是linux下用来周期性的执行某种任务或等待处理某些事件的…

[CKA]考试之Sidecar代理

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Context 将一个现有的 Pod 集成到 Kubernetes 的内置日志记录体系结构中&#xff…

关于多媒体视频翻译,你了解多少?

近年来&#xff0c;随着多媒体视频行业的快速发展&#xff0c;观看中外视频已成为数千万人的日常习惯&#xff0c;进而促进了视频翻译需求量的不断增加。那么&#xff0c;如何做好多媒体视频翻译服务&#xff0c;关于多媒体视频翻译&#xff0c;你了解多少&#xff1f; 据了解&…

浅谈智能低压电动机保护控制器的研发及其应用

安科瑞 华楠 摘 要&#xff1a;低压电动机保护控制器是整套工业生产自动化电动机拖动系统中的重要的核心器件&#xff0c;可以实现工业自动化生产过程中电动机远程系统监控与控制的智能化管理&#xff0c;帮助用户及 时了解电动机的运行状况&#xff0c;为电动机设备状态分析…