prompt的演变

简介: 如今,试验prompt和提示工程已司空见惯。通过创建和运行提示的过程,用户可以体验 LLM 的生成能力。文本生成是大型语言模型的元能力,及时工程是解锁它的关键。在试验 Prompt Engineering 时收集到的首要原则之一是不能明确要求生成模型做某事。相反,用户需要了解他们想要实现的目标并模仿该愿景的启动。模仿的过程被称为prompt设计、prompt或铸造。

image.png

随着功能的增加,提示工程的复杂性将不可避免地增加。在这里,我解释了如何将复杂性引入到提示工程的过程中。

静态prompt

如今,试验prompt和提示工程已司空见惯。通过创建和运行提示的过程,用户可以体验 LLM 的生成能力。

文本生成是大型语言模型的元能力,及时工程是解锁它的关键。

在试验 Prompt Engineering 时收集到的首要原则之一是不能明确要求生成模型做某事。

相反,用户需要了解他们想要实现的目标并模仿该愿景的启动。模仿的过程被称为prompt设计、prompt或铸造。

Prompt Engineering 是向 LLM 提供指导和参考数据的方式。

在提示中引入集合结构可以从 LLM 获得更准确的响应。例如,如下所示,可以对提示进行上下文设计,为 LLM创建上下文参考。

上下文设计的提示通常由三个部分组成,instructioncontextquestion

这是上下文提示的实际示例:

prompt = """使用提供的文本尽可能如实回答问题,如果答案未包含在下面的文本中,则说“我不知道” 背景:2020 年夏季奥运会男子跳高
项目
采用2021 年 7 月 30 日至 8 月 1 日在奥林匹克体育场举行。来自 24 个国家的 33 名运动员参加了比赛;可能的总人数取决于除了通过分数或排名的 32 个资格赛(没有普遍名额)之外,还有
多少国家使用普遍名额进入运动员
于 2021 年使用)。
意大利运动员 Gianmarco Tamberi 和卡塔尔运动员 Mutaz Essa Barshim 成为比赛的联合获胜者
当他们清除 2.37m 时,他们两人之间的平局。坦贝里和巴尔希姆都同意分享金牌,这
在奥运会历史上是罕见的,不同国家的运动员同意分享同一枚奖牌。
特别是 Barshim 被听到问比赛官员“我们能有两个金牌吗?” 作为对
“跳下”的回应。白俄罗斯的 Maksim Nedasekau 获得铜牌。这枚奖牌是意大利和白俄罗斯在男子跳高项目上的首枚奖牌
,意大利和卡塔尔在男子跳高项目上的首枚金牌,以及卡塔尔男子跳高项目连续第三枚奖牌
(均由巴尔希姆获得)。
Barshim 成为继瑞典的Patrik Sjöberg(1984 年至 1992 年)之后第二个在跳高比赛中获得三枚奖牌的人。
问:谁赢得了 2020 年夏季奥运会男子跳高冠军?
A:""" 
openai.Completion.create( 
    prompt=prompt, 
    temperature=0, 
    max_tokens=300, 
    top_p=1, 
    frequency_penalty=0, 
    presence_penalty=0, 
    model=COMPLETIONS_MODEL 
)["choices"][0]["text "].strip("\n")

在此阶段,提示本质上是静态的**,不构成较大应用程序的一部分。

prompt模板

静态prompt的下一步是prompt模板化。

静态prompt被转换为模板,其中键值被占位符替换。占位符在运行时被替换为应用程序值/变量。

有些人将模板化称为实体注入prompt注入

在下面来自DUST 的模板示例中,您可以看到占位符${EXAMPlES:question}${EXAMPlES:answer}并且${QUESTIONS:question}这些占位符在运行时被替换为值。

prompt模板允许prompt存储、重新使用共享和编程。生成prompt可以合并到程序中以进行编程、存储和重复使用。

模板是带有占位符的文本文件,可以在运行时在其中插入变量和表达式。

prompt Pipelines

在prompt Pipelines的情况下,预定义的提示模板填充了来自用户的问题或请求。指导 LLM 的prompt中包含的上下文或参考是从知识库中检索的数据。

Prompt Pipelines 也可以描述为对提示模板的智能扩展。

因此,预先定义的prompt模板中的变量或占位符被填充(也称为prompt注入)来自用户的问题,以及要从知识库中搜索的知识。

来自知识存储的数据充当要回答的问题的上下文参考。拥有这些可用的信息可以防止 LLM出现错乱。该过程还有助于防止 LLM 使用模型中当时不准确的过时或旧数据。

随后,将组合的提示发送给 LLM,并将 LLM 响应返回给用户。

下面是在文档和问题数据被注入之前的prompt模板示例。

prompt链接

prompt链接是将多个prompt链接或排序以形成更大应用程序的过程。prompt序列可以串联或并联排列。

当prompt按顺序排列时,链中的提示(也称为节点)通常取决于链中前一个节点的输出。在某些情况下,数据处理和决策制定案例是在提示/节点之间实现的。

L LM 用途广泛,具有开放式功能。

在某些情况下,进程需要并行运行,例如,可以在用户与聊天机器人对话时并行启动用户请求。

Prompt Chaining 将主要由用于输入的对话式 UI 组成。输出也将主要是非结构化的对话输出。因此创建了一个数字助理或聊天机器人。提示链接也可用于流程和管道启动并通知用户结果的 RPA 场景。

当通过可视化编程 UI链接大型语言模型提示时,功能的最大部分将是促进创作过程的 GUI。

下面是用于prompt工程和prompt链创作的此类 GUI 的图像。此设计源自华盛顿大学和谷歌进行的研究。

综上所述

“最后一英里”一词经常用于生成式 AI 和大型语言模型 (LLM) 的生产实施环境中。确保人工智能的实施确实解决了企业问题并实现了可衡量的商业价值。

生产实施需要面对客户的严格和审查,以及持续扩展、更新和改进的需求。

LLM 的生产实施需求:

  1. 用于微调 LLM 的精选和结构化数据
  2. 生成 AI 的监督方法
  3. 基于 LLM 的应用程序的可扩展和可管理的生态系统
目录
相关文章
|
1月前
|
JSON 人工智能 自然语言处理
Prompt进阶系列4:LangGPT(构建高性能Prompt实践指南)--结构化Prompt
Prompt进阶系列4:LangGPT(构建高性能Prompt实践指南)--结构化Prompt
|
1月前
|
人工智能 自然语言处理 搜索推荐
揭秘ChatGPT的Prompt方法:原理与应用总结
揭秘ChatGPT的Prompt方法:原理与应用总结
73 0
|
1月前
|
自然语言处理
ChatGPT Prompt顶级思维框架:LangGPT
ChatGPT作为当前最先进的对话生成模型,能够满足各种文本生成需求。然而,要充分利用其强大的功能,合理而全面的指令设置(Prompt Engineering)是关键。 今天,我要与大家分享一种名为“LangGPT”的思维框架,它可以帮助你更有效地构建ChatGPT的提示词。
|
7月前
|
人工智能 JSON 自然语言处理
大模型Prompt工程的重要性及构建方法
非常非常有用的一片宝藏文章,主要阐述了大模型prompt构建的一些基础方法,能够起到很好的帮助,本文转载至https://mp.weixin.qq.com/s/7X68fNdOOYfk5Qg9iEM2lA,该公众号的其他文章也很有用,推荐大家关注。
|
1月前
|
人工智能 搜索推荐 安全
GPT Prompt编写的艺术:如何提高AI模型的表现力
GPT Prompt编写的艺术:如何提高AI模型的表现力
229 0
|
6天前
|
存储 机器学习/深度学习 自然语言处理
大模型Prompt-Tuning技术进阶
近年来,随着Prompt-Tuning技术的崛起,研究者们发现,在拥有超过10亿参数的大规模模型上,采用Prompt-Tuning相较于传统的Fine-tuning方法能带来显著的性能提升。特别是在小样本甚至零样本学习场景下,Prompt-Tuning能够极大地激发模型的潜力。这一成就的取得主要归功于三个关键因素:模型庞大的参数量、训练过程中使用的海量语料,以及精心设计的预训练任务。
|
1月前
|
人工智能 安全 API
【AI大模型应用开发】1.3 Prompt攻防(安全) 和 Prompt逆向工程
【AI大模型应用开发】1.3 Prompt攻防(安全) 和 Prompt逆向工程
84 0
|
1月前
|
人工智能 程序员 API
【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt
【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt
84 0
|
11月前
|
机器学习/深度学习 人工智能 JSON
在LLM浪潮下,prompt工程师需要很懂算法吗?
最近AI大神吴恩达推出prompt教程并给出了prompt构建三大原则,Prompt Engineering Guide也提出了诸多技巧,受AI技术的快速发展的影响,你觉得在LLM浪潮下,prompt工程师需要很懂算法吗?欢迎一起来聊一聊~
25422 50
在LLM浪潮下,prompt工程师需要很懂算法吗?
|
8月前
|
人工智能 自然语言处理
如何理解人工智能领域 LLM 的 No notion of time or chronological order 这一局限性?
如何理解人工智能领域 LLM 的 No notion of time or chronological order 这一局限性?