Elasticsearch:什么是提示工程 - prompt engineering?

提示工程流程定义

提示工程是一种工程技术,用于设计生成式 AI 工具(generative AI tools)的输入,以调整大型语言模型并优化输出

提示(prompts)被称为输入,而由生成性 AI 工具生成的答案是输出。在输入层面上的准确性和特异性 —— 这就是提示工程的作用 —— 决定了生成性 AI 工具如何生成更准确和更具体的答案。通过有效的提示工程,生成性 AI 工具可以更好地执行其生成任务,例如生成代码、撰写营销文案、创建图像、分析和综合文本等。

提示工程结合了逻辑和编码的原理。它还需要一些人类的创造力。提示工程的要求可能因技术而异,但大多数生成式 AI 工具可以处理自然语言提示或查询。换句话说,提示工程就像问一个问题,带有具体的指示,有助于指导如何准备答案。

更多阅读 “为生成式人工智能制作 prompt 三明治”。

提示工程的基础知识

要了解提示工程的基础知识,重要的是要回顾一下生成式人工智能(generative AI)和大型语言模型 ( large language models - LLMs)。

生成式人工智能或 gen AI 是指可以生成内容的人工智能类型,内容可以是文本、代码、图像、音乐或视频。大型语言模型是使 gen AI 能够产生输出的底层技术的一部分。

LLMs 是人工智能中自然语言的支柱。它们支持任何与文本相关的应用程序:分析、综合、翻译、识别和生成。大型语言模型在大量信息(通常是文本)上进行训练,并从这些文本中学习模式,这使它们能够在查询时生成预测或输出。

了解 LLM 的预测方面是理解提示工程工作原理的关键:

  • 你输入一个输入 - 提示(prompt)。它可能包括一个输出指示器,让模型知道生成的响应应采用什么格式。
  • 模型通过使用从训练数据中学习到的推论和模式(以数字的形式)进行 “思考”。在此过程中,它会尝试识别模式,这就是生成的结果被称为预测的原因。
  • 然后它会生成输出 —— 响应。

因此,在基本层面上,有效的提示可能包含指令(instruction)或问题(question),并得到上下文(context)、输入或示例的支持。

以下是提示工程的一个基本示例:

Input:

Plants are

有了此提示,我们希望 AI 能够完成句子。但是,它缺乏特异性。当输入到 OpenAI 的 ChatGPT 3.5 模型中时,它会生成以下输出:

因此,我们尝试通过添加省略号来澄清。

Input:

Plants are…

省略号足以生成完成句子的输出。然而,该模型表现得过于出色:

由于我们不需要有关植物的完整百科全书条目,因此我们指定了说明。

Input:

Complete the sentence:
Plants are

现在模型产生以下输出:

我们可以继续具体化我们的指令:

这种迭代指令调整是即时工程的基本原理。它会因模型而异,并根据所需任务采用各种格式。

提示工程为何重要?

提示工程是生成式人工智能领域的一项重要实践,因为它可以改进人工智能工具,从而改善用户体验和用户从模型中获得的结果。

零样本训练就是这样一种工程技术,它包括输入不属于模型训练数据的提示以生成特定结果。

开发人员可能会尝试使用这种类型的提示工程来调整大型语言模型(如 GPT-3),以改进其作为客户服务聊天机器人的应用,或其特定于行业的内容生成能力 —— 想想合同、营销电子邮件等等。

让我们在一个现实生活中的例子中看看提示工程的重要性:

一家电子商务公司选择构建一款包含生成式 AI 工具的应用程序来改善其客户服务。他们要求 AI 助手能够评估客户情绪、查看客户文件和客户记录,并为客户提供与其查询相关的选项。该公司将需要在提示工程的帮助下对该工具进行微调,以便根据公司销售的产品或服务的具体情况执行这些特定任务。在这种情况下,提示工程可确保应用程序中的 AI 助手对公司和用户都有用。该公司可能还希望在客户输入之前包含提示 - 以确保客户体验的安全,并且不会让工具被滥用。例如,旨在确保良好用户体验的提示可能如下所示:“仅回答与电子商务或购物体验相关的问题。” 对于与电子商务或购物无关的问题,请回复 “我无法回答该问题,请考虑联系客户支持。”/An e-commerce company chooses to build an application that incorporates a generative AI tool to improve its customer service. They require the AI assistant to have the ability to assess customer sentiment, review customer files and customer transcripts, and provide the customer with options relevant to their queries. The company will need to fine-tune the tool with the help of prompt engineering to perform these specific tasks specifically and in the context of the products or services the company sells. In this scenario, prompt engineering ensures that the AI assistant in the application is useful to both the company and the user. The company may also want to include prompts before a customer's input – to ensure the safety of the customer's experience and to not open up the tool to misuse. For example, a prompt designed to ensure a good user experience may look like this: "Respond only to questions that are relevant to e-commerce or shopping experiences." For questions that are not related to e-commerce or shopping, reply with "I cannot respond to that question, consider contacting customer support instead."

提示工程的类型

对于每种类型的任务或期望输出,都有一种相关的提示工程类型。以下是几种提示工程技术:

  • 指导性提示(Instructional prompting):与上述示例一样,这种类型的提示工程要求设计者制作一个带有明确指示的提示,以实现期望的输出。
  • 少量提示(Few-shot prompting):虽然零次提示是一种不向模型提供所需答案示例的提示,但少量提示包括输入一些示例来演示你希望模型如何响应。
  • 思路链提示(Chain-of-thought prompting):这种技术适用于数学问题,包括在提示中列出推理步骤,以便模型在输出中提供其推理。
  • 生成知识提示(Generated knowledge prompting):这种技术有助于微调大型语言模型,方法是向其提供事实以及与事实相关的信息,以便它首先生成基于知识的输出。然后,二次输入将提示模型事实的准确性,以及它在第一个输出中产生的知识。作为回应,模型应该输出对查询的准确响应。这是一种用于提高大型语言模型准确性的技术。
  • 思路树提示(Tree-of-thought prompting):该技术通过概括思路链提示并将自然语言中间步骤或想法输入模型,实现更复杂的问题解决。思路树提示使语言模型能够自我评估中间想法对问题解决的影响。换句话说,它是一种提示工程技术,鼓励模型经历深思熟虑的推理过程。

这是几种提示工程技术的非详尽列表。随着对生成式人工智能和大型语言模型的研究不断深入,各种新的提示工程技术将会出现。

提示工程的挑战和局限性

虽然提示工程有助于最大限度地利用生成式 AI 技术,但它也带来了一些与对抗性提示、事实性和偏见相关的挑战和局限性。

对抗性提示是一种提示注入,它从大型语言模型中诱发 “对抗性行为”。它给用户带来了重要的安全问题,这些类型的提示可能会劫持输出并影响模型的准确性。

有各种记录在案的对抗性提示类型,包括提示泄露和越狱 —— 这些技术旨在让大型语言模型做它从未打算做的事情。这种行为往往是有害的。因此,虽然提示工程可以帮助改进大型语言模型,但恶意提示工程可能会产生相反的效果。

大型语言模型生成的输出的事实性和偏见也指出了提示工程的局限性。大型语言模型的好坏取决于它所训练的数据。这些数据本身就包含模型学习到的偏见。因此,即使在得到有效提示后,模型也会生成有偏见的回答,或者看似非常有说服力但可能根本不准确或不符合事实的回答。这些错误也称为幻觉。一些额外的提示工程(在输入字符串中添加上下文和知识)可能有助于改善输出,但用户必须首先知道模型生成的原始输出是错误的。

要充分利用提示工程的潜力,用户必须运用洞察力并应用验证技术或流程。

从人类层面来看,提示工程将颠覆就业市场。据麦肯锡称,生成式人工智能有可能自动完成占用员工 70% 时间的工作任务。提示工程已经是某些领域备受追捧的专业技能,很可能成为大多数员工的基本要求。行业和组织将面临提高员工技能的挑战。

有效提示工程的策略

提示工程结合了编码、逻辑和一些艺术。有效提示工程的策略应依赖于上述所有因素。请考虑以下策略:

一开始要保持简单……

开始时要保持简单。提示设计是一个迭代过程,因此从小处着手有助于你了解模型如何响应以及如何塑造提示以获得最佳结果。

具体化

输入级别的特异性可确保输出级别的准确性。在指令中使用主动命令,例如 “完成 - Complete”、“总结 - Summarize”、“翻译 - Translate” 等,并添加修饰符来为模型设置明确的解释界限,例如 “将此文本翻译成加拿大法语” 或 “用 100 个或更少的字总结玛丽雪莱的《弗兰肯斯坦》”。

考虑我们关于提示工程基础知识的示例。在完善提示时,我们会指定我们希望模型在完成句子时告诉我们有关植物的信息。

告诉它该做什么(而不是不该做什么)

以正面表达的方式说明你希望模型完成的任务,而不是告诉它不该做什么。也就是说,避免使用否定表述。再次强调,使用主动语态的提示,并明确具体的期望结果。

简洁

虽然具体是关键,但重要的是平衡具体性与简洁性和精确性。长提示,即使很具体,也常常会使模型混乱。

在提示大型语言模型时,请考虑如何响应一组执行任务的指令。你是否清楚地知道要求你做什么?你是否因为简报太长或太冗长而迷失了方向?这种想法,加上你对大型语言模型工作方式的理解,将指导你的提示工程以获得最佳结果。

使用 Elastic 进行提示工程

Elasticsearch Relevance Engine (ESRE)专为人工智能驱动的搜索应用程序而设计,融合了自然语言处理 (natural language processing - NLP) 和生成式 AI,旨在提升客户的搜索体验。

由 Elasticsearch Relevance Engine 提供支持的 Elastic 安全性与可观察性 AI 助手(Elastic's AI Assistants),能够协助你的团队进行警报调查、事件响应以及查询生成或转换。这些 AI 助手还能提供提示建议,助力你的团队在网络安全和可观察性操作中更高效地工作。

提示工程资源

  • 通过 Elastic 学习更多关于大型语言模型的信息
  • 选择 LLM:《2024 开源 LLM 入门指南》
  • 了解如何使用 Elastic 掌握生成式 AI 的工作原理

你接下来应该做什么

你接下来应该做什么无论你何时准备好……我们可以通过以下 4 种方式帮助你将数据引入你的业务:

  • 开始免费试用,了解 Elastic 如何帮助你的业务。
  • 浏览我们的解决方案,了解 Elasticsearch 平台的工作原理以及我们的解决方案如何满足你的需求。
  • 通过我们的 45 分钟网络研讨会了解如何设置你的 Elasticsearch 集群并开始数据收集和提取。
  • 与你认识的喜欢阅读这篇文章的人分享这篇文章。通过电子邮件等方式与他们分享。

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

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

相关文章

html <a>设置发送邮件链接、打电话链接 <a href=“mailto:></a> <a href=“tel:></a>

1.代码 <ul><li>电话&#xff1a;<a href"tel:18888888888">188-8888-8888</a></li><li>邮箱&#xff1a;<a href"mailto:10000qq.com">10000qq.com</a></li><li>邮箱&#xff1a;<a hre…

前端关于pptxgen.js个人使用介绍

官方文档链接:Quick Start Guide | PptxGenJS git地址&#xff1a;https://github.com/gitbrent/PptxGenJS/ 1. 安装命令 npm install pptxgenjs --save yarn add pptxgenjs 2. 示例demo import pptxgen from "pptxgenjs"; // 引入pptxgen // 1. Create a Presenta…

【机器人】机械臂位置、轨迹和转矩控制概要

仍旧以 RRR&#xff08;三连杆&#xff09;为例&#xff0c;实现控制&#xff0c;可以采用以下步骤。这里的控制包括 位置控制轨迹控制 轨迹跟踪控制&#xff0c; 具体根据应用需求选择。以下是实现 RRR 机械臂控制的完整过程&#xff1a; 1. 定义机器人模型 通过 Denavit-H…

Python tkinter写的《电脑装配单》和 Html版 可打印 可导出 excel 文件

Python版 样图&#xff1a; 说明书&#xff1a; markdown # 电脑配置单使用说明书 ## 一、软件简介 电脑配置单是一个用于创建和比较两套电脑配置方案的工具软件。用户可以选择各种电脑配件,输入数量和价格,软件会自动计算总金额,并支持导出和打印配置单。 ## 二、主要功能 1. …

android studio更改应用图片,和应用名字。

更改应用图标&#xff0c;和名字 先打开AndroidManifest.xml文件。 更改图片文件名字&#xff08; 右键-->构建-->重命名&#xff08;R&#xff09;&#xff09;

Vue Web开发(十)

1. 用户管理新增&#xff0c;搜索&#xff0c;编辑&#xff0c;删除 本节课完成用户列表表单设计&#xff0c;使用table组件&#xff0c;同样模块化组件&#xff0c;CommonTable.vue组件&#xff0c;并且在User页面中引入&#xff0c;mock实现数据模拟&#xff0c;最终完成用户…

人工智能在VR展览中扮演什么角色?

人工智能&#xff08;AI&#xff09;在VR展览中扮演着多重关键角色&#xff0c;这些角色不仅增强了用户体验&#xff0c;还为展览的组织者提供了强大的工具。 接下来&#xff0c;由专业从事VR展览制作的圆桌3D云展厅平台为大家介绍AI在VR展览中的一些主要作用&#xff1a; 个性…

学工管理系统-职校信息化管理平台

学工管理系统是一种致力于提升职校管理效率和信息化水平的重要工具。它综合运用了现代信息技术和学工管理理念&#xff0c;为学校提供了全面、科学、高效的管理平台。 学工管理系统在学校管理中发挥着重要的作用。它能够实现学生信息的完整管理&#xff0c;包括学籍、课程、成绩…

如何测量分辨率

一、什么是分辨率&#xff1f; 分辨率指的是分清物体细节的能力。分辨率是一个成像系统还原空间频率的能力。一些人只是简单的用分辨率去描述极限分辨率&#xff0c;但是相机在在不同的对比度的情况下还原低&#xff0c;中和高频率的能力&#xff0c;也可以显示全面综合的信息。…

MySQL数据库下载及安装教程

链接&#xff1a;MySQL数据库下载及安装教程&#xff08;最最新版&#xff09;_mysql下载安装-CSDN博客 亲测安装成功了&#x1f495; 把这个路径放到系统环境变量里头 MD!我这安到C盘去了&#xff0c;就很烦&#x1f92c;&#x1f621; 在CMD登录试一下 mysql -h localhos…

RadiAnt DICOM - 基本主题 :从 PACS 服务器打开研究

正版序列号获取&#xff1a;https://r-g.io/42ZopE RadiAnt DICOM Viewer PACS 客户端功能允许您从 PACS 主机&#xff08;图片存档和通信系统&#xff09;搜索和下载研究。 在开始之前&#xff0c;您需要确保您的 PACS 服务器和 RadiAnt 已正确配置。有关配置说明&#xff0c…

时间管理系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

智能座舱进阶-应用框架层-Handler分析

首先明确&#xff0c; handler是为了解决单进程内的线程之间的通信问题的。我也需要理解Android系统中进程和线程的概念&#xff0c; APP启动后&#xff0c;会有三四个线程启动起来&#xff0c;其中&#xff0c;有一条mainUITread的线程&#xff0c;专门用来处理UI事件&#xf…

构建高性能异步任务引擎:FastAPI + Celery + Redis

在现代应用开发中&#xff0c;异步任务处理是一个常见的需求。无论是数据处理、图像生成&#xff0c;还是复杂的计算任务&#xff0c;异步执行都能显著提升系统的响应速度和吞吐量。今天&#xff0c;我们将通过一个实际项目&#xff0c;探索如何使用 FastAPI、Celery 和 Redis …

go面试问题

1 Go的内存逃逸如何分析 go build -gcflags-m main_pointer.go 2 http状态码 300 请求的资源可包括多个位置&#xff0c;相应可返回一个资源特征与地址的列表用于用户终端&#xff08;例如&#xff1a;浏览器&#xff09;选择 301 永久移动。请求的资源已被永久的移动到新U…

JVM性能优化一:初识内存泄露-内存溢出-垃圾回收

本文主要是让你充分的认识到什么叫做内存泄露&#xff0c;什么叫做内存溢出&#xff0c;别再傻傻分不清了&#xff0c;别再动不动的升级服务器的内存了。 文章目录 1.基本概念1.1.内存泄露1.2.内存溢出1.3.垃圾回收1.4.内存泄露-垃圾回收-内存溢出三者的关系关系 2.代码示例2.…

安装milvus以及向量库增删改操作

首先电脑已经安装了docker windows电脑可下载yml文件 https://github.com/milvus-io/milvus/releases/download/v2.4.6/milvus-standalone-docker-compose.yml 创建milvus文件夹&#xff0c;并在这个目录下创建五个文件夹&#xff1a;conf、db、logs、pic、volumes、wal 然后…

ARP..

ARP 0 前言 真正接触到现网才发现ARP十分重要&#xff0c;无论是排错还是S-MLAG都需要用到ARP这个协议&#xff0c;以前对于ARP的理解比较混乱&#xff1b;所以这次对其中的主要内容做个梳理&#xff1b;一定要学好ARP&#xff01;&#xff01;&#xff01; 1 ARP的概念 Ar…

单片机上电后程序不运行怎么排查问题?

1.电源检查。使用电压表测量单片机的电源电压是否正常&#xff0c;确保电压在规定的范围内&#xff0c;如常见的5V。 2.复位检查。检查复位引脚的电压是否正常&#xff0c;在单片机接通电源时&#xff0c;复位引脚通常会有一个高电平&#xff0c;按下复位按钮时&#xff0c;复位…

SKETCHPAD——允许语言模型生成中间草图,在几何、函数、图算法和游戏策略等所有数学任务中持续提高基础模型的性能

概述 论文地址&#xff1a;https://arxiv.org/pdf/2406.09403 素描是一种应用广泛的有效工具&#xff0c;包括产生创意和解决问题。由于素描能直接传达无法用语言表达的视觉和空间信息&#xff0c;因此从古代岩画到现代建筑图纸&#xff0c;素描在世界各地被用于各种用途。儿童…