《深入浅出LLM基础篇》(五):Propmt工程优化

🎉AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于 前沿论文解读、资料共享、行业最新动态以、实践教程、求职相关(简历撰写技巧、面经资料与心得)多方面综合学习平台,强烈推荐AI小白及AI爱好者学习,性价比非常高! 限时优惠加入星球 ➡️点击链接
专栏介绍: 本作者推出全新系列《深入浅出LLM》专栏,将分为基础篇、进阶篇、实战篇等,本文为基础篇具体章节如导图所示(导图为常见LLM问题,导图专栏后续更新!),将分别从各个大模型模型的概念、经典模型、创新点、微调、分布式训练、数据集、未来发展方向、RAG、Agent及项目实战等各种角度展开详细介绍,欢迎大家关注。
👨‍💻作者简介: CSDN、阿里云人工智能领域博客专家,新星计划计算机视觉导师,百度飞桨PPDE,专注大数据与AI知识分享。✨公众号:GoAI的学习小屋 ,免费分享书籍、简历、导图等,更有交流群分享宝藏资料,关注公众号回复"加群"或➡️点击链接 加群。

《深入浅出LLM基础篇》目录

《深入浅出LLM基础篇》(一):大模型概念与发展
《深入浅出LLM基础篇》(二):大模型基础知识

《深入浅出LLM基础篇》(三):大模型结构分类

《深入浅出LLM基础篇》(四):主流大模型分类介绍

《深入浅出LLM基础篇》(五):Propmt工程优化

《深入浅出LLM基础篇》(五):Propmt工程优化

导读:本篇为《《深入浅出LLM基础篇》(五):Propmt工程优化,主要讨论各自Propmt优化的tips,与效果差进行对比展示。由于 OpenAI模型的训练方式,特定的提示格式效果特别好,可以产生更有用的模型输出。OpenAI 的官方提示工程指南通常是提示技巧的最佳起点,大家有好的也可以在评论区交流学习。

注:本文参考 OpenAI API 进行快速工程的最佳实践

下面开始正式介绍一些效果很好的提示格式,但您可以随意探索不同的格式,它们可能更适合您的任务。

经验法则和示例

注意:" {此处输入文本} "是实际文本/上下文的占位符

1.使用最新模型

为了获得最佳效果,我们通常建议使用最新、性能最强的模型。较新的模型往往更容易提示工程师。

2. 将指令放在提示符的开头,并使用###或""将指令和上下文分开

效果较差❌:

将下面的文字总结为最重要的要点列表。

{在此处输入文本}

更好✅:

将下面的文字总结为最重要的要点列表。

文字:""

{在此处输入文本}

""

3. 尽可能具体、详细地描述所需的背景、结果、长度、格式、风格等

具体说明背景、结果、长度、格式、风格等

效果较差❌:

写一首关于 OpenAI 的诗。

更好✅:

以{著名诗人}的风格写一首关于 OpenAI 的简短励志诗,重点介绍最近的 DALL-E 产品发布(DALL-E 是一个文本到图像的 ML 模型)

4. 通过示例阐明所需的输出格式

效果较差❌:

提取以下文本中提到的实体。提取以下 4 种实体类型:公司名称、人名、特定主题和主题。

文本:{text}

展示并说明 - 当展示特定格式要求时,模型会做出更好的响应。这也使得以编程方式可靠地解析多个输出变得更加容易。

更好✅:

提取下面文本中提到的重要实体。首先提取所有公司名称,然后提取所有人名,然后提取符合内容的特定主题,最后提取一般的总体主题

所需格式:

公司名称:<comma_separated_list_of_company_names>

人名:-||-

特定主题:-||-

一般主题:-||-

文本:{text}

5. 从零样本开始,然后是少样本,都不起作用,然后进行微调

✅ Zero shot

从以下文本中提取关键字。

文本:{text}

关键字:

✅ 小样本few shots - 提供几个示例

从下面相应的文本中提取关键词。

文本 1:Stripe 提供 API,Web 开发人员可以使用这些 API 将支付处理集成到他们的网站和移动应用程序中。

关键词 1:Stripe、支付处理、API、Web 开发人员、网站、移动应用程序

文本 2:OpenAI 训练了非常擅长理解和生成文本的尖端语言模型。我们的 API 提供对这些模型的访问,可用于解决几乎任何涉及处理语言的任务。

关键词 2:OpenAI、语言模型、文本处理、API。

文本 3:{text}

关键词 3:

✅微调:在此处查看微调最佳实践。

6. 减少"空洞"和不精确的描述

效果较差❌:

该产品的描述应该比较简短,只有几句话,不要太多。

更好✅:

使用3到5个句子的段落来描述该产品。

7. 不要只说不该做什么,而要说该做什么

效果较差❌:

以下是代理与客户之间的对话。请勿询问用户名或密码。请勿重复。

客户:我无法登录我的帐户。

代理:

更好✅:

以下是代理与客户之间的对话。代理将尝试诊断问题并提出解决方案,同时避免询问任何与 PII 相关的问题。不要询问 PII(例如用户名或密码),而是让用户参考帮助文章 www.samplewebsite.com/help/faq

客户:我无法登录我的帐户。

代理:

8. 代码生成专用 - 使用"引导词"推动模型向特定模式发展

效果较差❌:

编写一个简单的 Python 函数,

  1. 询问我一个英里数
  2. 将英里转换为公里

在下面的代码示例中,添加" import "提示模型应该开始用 Python 编写。(类似地," SELECT "是 SQL 语句开头的一个很好的提示。)

更好✅:

编写一个简单的 Python 函数,

  1. 询问我一个英里数
  2. 将英里转换为公里

import

9. 使用"生成任何内容"功能

可以使用"生成任何内容"功能来描述任务或预期的自然语言输出并接收定制的提示。

参数

通常,我们发现model和是改变模型输出最常用的参数。temperature

  1. model-性能更高的型号通常更昂贵,并且可能具有更高的延迟。
  2. temperature-衡量模型输出不太可能的标记的频率。 越高temperature,输出越随机(通常越有创意)。 但是,这与"真实性"不同。 对于大多数事实用例(例如数据提取和真实的问答),temperature0 是最好的。
  3. max_tokens(最大长度) - 不控制输出的长度,而是对 token 生成的硬性截止限制。理想情况下,您不会经常达到此限制,因为您的模型会在它认为完成时或达到您定义的停止序列时停止。
  4. stop(停止序列) - 一组字符(标记),当生成时,将导致文本生成停止。
    其他参数说明请参见API参考。

propmt参考学习资料

https://learnprompting.org/zh-Hans/docs/introduction

相关推荐
余生H37 分钟前
transformer.js(三):底层架构及性能优化指南
javascript·深度学习·架构·transformer
果冻人工智能1 小时前
2025 年将颠覆商业的 8 大 AI 应用场景
人工智能·ai员工
代码不行的搬运工1 小时前
神经网络12-Time-Series Transformer (TST)模型
人工智能·神经网络·transformer
石小石Orz1 小时前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
罗小罗同学1 小时前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
孤独且没人爱的纸鹤1 小时前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭1 小时前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~1 小时前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码1 小时前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
zhangfeng11331 小时前
pytorch 的交叉熵函数,多分类,二分类
人工智能·pytorch·分类