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

news2025/2/23 1:39:02

提示工程流程定义

提示工程是一种工程技术,用于设计生成式 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.coloradmin.cn/o/2265851.html

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

相关文章

金融租赁系统的发展与全球化战略实施探讨

内容概要 金融租赁系统的演变并非一帆风顺,像一场跌宕起伏的电影。首先,咱们得看看它的起源及现状。随着经济的快速发展,金融租赁逐渐作为一种灵活的融资手段崭露头角。在中国市场中,企业对设备和技术更新换代的需求日益迫切&…

1.flask介绍、入门、基本用法

flask与djiango的区别 djiango是一个大而全的框架。 djiango内部为我们提供了非常多的组件: orm/session/cookie/admin/form/modelform/路由/视图/模板/中间件/分页/auth/contenttype/缓存/信号/多数据库连接 flask 是一个轻量级的框架,本身没有什么太多的功能&a…

【vue2父组件调用子组件方法之slot的使用】

父组件调用子组件方法之slot的使用 具体功能需求: 一个页面,点击按钮,打开一个弹窗。弹窗有自定义表单和公共表单,提交的时候要获取两个表单的数据以及复显表单数据 为什么使用插槽了,因为我需要在弹窗中复用公共表单…

认识计算机网络

单单看这一个词语,有熟悉又陌生,让我们来重新认识一下这位大角色——计算机网络。、 一、是什么 以及 怎么来的 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路和通信设备连接起来,在网络操…

GitLab部署到阿里云服务器上

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。 一、安装 1.创建一…

windows nacos安装配置

GitHub下载压缩包 解压目录(注意不要用中文路径) 在mysql先创建数据库nacos,再执行sql脚本 配置数据库 #*************** Config Module Related Configurations ***************# ### If use MySQL as datasource: ### Deprecated conf…

ChildLife“童年时光杯”足球联赛启动 共促青少年健康成长

2024年12月21日至22日,由美国知名婴幼儿营养品牌ChildLife童年时光赞助的“童年时光杯”青少年足球联赛将在上海拉开帷幕。本次赛事U7/U8组别共有16支足球队参赛,包括上海幸运星足球俱乐部旗下的明星球队,以及其他青少年俱乐部的优秀队伍&…

动态规划<四> 回文串问题(含对应LeetcodeOJ题)

目录 引例 其余经典OJ题 1.第一题 2.第二题 3.第三题 4.第四题 5.第五题 引例 OJ 传送门Leetcode<647>回文子串 画图分析&#xff1a; 使用动态规划解决 原理&#xff1a;能够将所有子串是否是回文的信息保存在dp表中 在使用暴力方法枚举出所有子串&#xff0c;是…

Log4j1.27配置日志输出级别不起效

起因&#xff1a;构建独立版本debezuim使用时&#xff0c;日志一直打印debug信息。 原因&#xff1a;包冲突问题&#xff0c;进行排包操作。 参考log4j日志级别配置完成后不生效 系统一直打印debug日志_log4j不起作用-CSDN博客 1、application.properties logging.configc…

探索Flink动态CEP:杭州银行的实战案例

摘要&#xff1a;本文撰写自杭州银行大数据工程师唐占峰、欧阳武林老师。将介绍 Flink 动态 CEP的定义与核心概念、应用场景、并深入探讨其技术实现并介绍使用方式。主要分为以下几个内容&#xff1a; Flink动态CEP简介 Flink动态CEP的应用场景 Flink动态CEP的技术实现 Flin…

Git多人协作流程与git命令

目录 一、拉取&#xff1a;从仓库到本地1、第一次拉取2、后续的拉取 二、上传&#xff1a;从本地到仓库三、git commit版本信息标注 一、拉取&#xff1a;从仓库到本地 1、第一次拉取 # clone项目 git clone xxx2、后续的拉取 第一次拉取是指本地为空&#xff0c;如果本地已…

前端:改变鼠标点击物体的颜色

需求&#xff1a; 需要改变图片中某一物体的颜色&#xff0c;该物体是纯色&#xff1b; 鼠标点击哪个物体&#xff0c;哪个物体的颜色变为指定的颜色&#xff0c;利用canvas实现。 演示案例 代码Demo <!DOCTYPE html> <html lang"en"><head>&l…

[Unity] ShaderGraph动态修改Keyword Enum,实现不同效果一键切换

上次更新已然四个月前&#xff0c;零零散散的工作结束&#xff0c;终于有时间写点东西记录一下~ 实际使用中&#xff0c;经常会碰到同一个对象需要切换不同的材质&#xff0c;固然可以通过C#直接替换材质球。 或者在ShaderGraph中使用Comparison配合Branch实现切换&#xff…

电脑出现 0x0000007f 蓝屏问题怎么办,参考以下方法尝试解决

电脑蓝屏是让许多用户头疼的问题&#xff0c;其中出现 “0x0000007f” 错误代码更是较为常见且棘手。了解其背后成因并掌握修复方法&#xff0c;能帮我们快速恢复电脑正常运行。 一、可能的硬件原因 内存问题 内存条长时间使用可能出现物理损坏&#xff0c;如金手指氧化、芯片…

深度学习中的并行策略概述:1 单GPU优化

深度学习中的并行策略概述&#xff1a;1 单GPU优化 1 Training Larger Models on a Single GPU 在讨论模型的“扩展”时&#xff0c;往往会想到在多个GPU或多台机器上进行模型训练。不过&#xff0c;即便是在单个GPU上&#xff0c;也存在多种方法来训练更大规模的模型并提升…

数据结构(哈希表(中)纯概念版)

前言 哈希表&#xff08;Hash Table&#xff09;是计算机科学中的一个基础而重要的数据结构&#xff0c;它广泛评估各种算法和系统中&#xff0c;尤其是在需要快速查找、插入和删除操作的场景中。由于其O( 1)的平均时间复杂度&#xff0c;存储表在性能要求较高的应用中表现得非…

centos7的磁盘扩容

1、首先&#xff0c;确认你的磁盘是否已经正确识别并添加了新的空间。你可以使用lsblk或fdisk -l命令来查看 lsblk fdisk /dev/vda 2、我的情况是这样的&#xff0c;误操作将盘扩展为物理卷轴了&#xff0c;所以说是这样呈现的&#xff0c;如果有我的那种情况请先删除物理卷轴…

uniapp 微信小程序 页面部分截图实现

uniapp 微信小程序 页面部分截图实现 ​ 原理都是将页面元素画成canvas 然后将canvas转化为图片&#xff0c;问题是我页面里边本来就有一个canvas&#xff0c;ucharts图画的canvas我无法画出这块。 ​ 想了一晚上&#xff0c;既然canvas最后能转化为图片&#xff0c;那我直接…

ubuntu笔记

1.系统下载与虚拟机设置 系统下载https://cn.ubuntu.comhttps://releases.ubuntu.com 虚拟机设置: 桥接模式 在桥接模式下, 虚拟出来的操作系统就像是局域网中的一台独立的主机, 它可以访问网内任何一台机器主机网卡和虚拟网卡的IP地址处于同一个网段, 子网掩码、网关、DNS等…

音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…