如何写好大模型提示词?来自大赛冠军的经验分享(基础篇)

提示工程(Prompt Engineering)是一门融合了艺术和科学的学科——这门学科不仅需要理解技术,还需要一定的创造力和战略思维。 以下是我在学习过程中学到的提示工程(Prompt Engineering)策略汇编,这些策略可以驱动任何大语言模型(LLM)精准执行需求,甚至超常发挥!

作者注:

在撰写本文时,我力图摒弃已在网上广泛讨论和记录的传统提示工程(Prompt Engineering)技术。相反,撰写本文的目的是给大家介绍我在实验中学到的新见解,以及对某些技术的不同理解。希望你会喜欢阅读这篇文章!

本系列文章包括以下内容,其中🔵指的是适合初学者的提示语(prompt)技巧,而🔴指的是高级策略(具体内容后续马上推送给大家):

1.[🔵]使用 CO-STAR 框架构建提示语

2.[🔵] 使用分隔符(delimiters)将提示语分段

3.[🔴] 使用 LLM guardrails 创建 system prompts(译者注:“guardrails” 指的是一种保护机制或限制,用于确保大语言模型生成的内容符合特定标准或要求,防止产生不准确、不合适或有害的信息。)

4.[🔴] 仅使用 LLM(无需插件或代码)分析数据集——将介绍一个使用 GPT-4 分析真实 Kaggle 数据集的实践示例

01 [🔵]使用 CO-STAR 框架构建提示语

有效的提示语(prompt)结构对于从 LLM 那里获得最佳回答至关重要。CO-STAR 框架是新加坡政府科技署数据科学与人工智能团队的心血结晶,是构建提示语(prompt)的便捷模板。其考虑到了影响 LLM 回答的有效性和相关性的所有关键方面,从而有效地优化 LLM 的回答。

CO-STAR framework — Image by author

其工作原理如下:

  • (C)Context:提供任务的背景信息

    有助于 LLM 理解正在讨论的具体语境,确保其回答是相关的。

  • (O)Objective:确定希望 LLM 执行的任务是什么

    明确目标任务有助于 LLM 将其回答重点放在实现某一特定任务上。

  • (S)Style:指明希望 LLM 使用的写作风格

    可以设置为某位著名人物的写作风格,也可以是某个专业领域的专家,比如商业分析专家或首席执行官。这样能够引导 LLM 以符合用户需求的方式和用词做出回答。

  • (T)Tone:需要确定大模型回答用户提示词的态度

    这样可确保 LLM 的回答与所需的情感或语境相呼应。例如,正式、幽默、感同身受等。

  • (A)Audienc:确定回答的对象

    根据回答对象的身份(如某一领域的专家、初学者、儿童等)量身定制 LLM 的回答,确保其在所需的语境中是恰当和可以理解的。

  • (R)Response:提供 LLM 回答的格式

    该功能可以让 LLM 以下游任务所需的准确格式输出。例如,列表、JSON(JavaScript Object Notation)、专业报告等。对于大多数以编程方式在下游操作 LLM 回答的 LLM 应用程序来说,JSON输出格式是最理想的。

1.1 CO-STAR的实际应用

以下是一个 CO-STAR 框架为何实用的实际案例。假设您是一名社交媒体经理(social media manager),需要帮助起草一则 Facebook 帖子,以宣传公司的新产品。

没有使用 CO-STAR 的提示语(prompt)可能如下所示:

Write a facebook post to advertise my company’s new product. My company’s name is Alpha and the product is called Beta, a new ultra-fast hairdryer.

以下是 GPT-4 的输出结果:

Introducing the Revolutionary Beta Hairdryer by Alpha!

  • Say goodbye to long, tedious hair drying sessions! Alpha is proud to unveil the Beta, our latest innovation in haircare technology.

  • Ultra-Fast Drying: The Beta is designed to cut your drying time in half, thanks to its advanced, powerful motor. Get ready faster and enjoy more time doing what you love!

Shop Now: [Link to product page]

虽然内容已经足够了,但这个输出实在过于普通,缺乏引起公司受众产生共鸣所需的,与其他产品的必要细微差异和有针对性的吸引力。

下面将介绍一个 CO-STAR 框架的使用案例,它会提醒您在提示语(prompt)中添加目标任务的其他信息,特别是在之前的 quick prompt 中缺少的STYLE(风格)、TONE(语气)和AUDIENCE(受众)等信息:

CONTEXT

I want to advertise my company’s new product. My company’s name is Alpha and the product is called Beta, which is a new ultra-fast hairdryer.

OBJECTIVE

Create a Facebook post for me, which aims to get people to click on the product link to purchase it.

STYLE

Follow the writing style of successful companies that advertise similar products, such as Dyson.

TONE

Persuasive

AUDIENCE

My company’s audience profile on Facebook is typically the older generation. Tailor your post to target what this audience typically looks out for in hair products.

RESPONSE

The Facebook post, kept concise yet impactful.

通过使用 CO-STAR 框架,GPT-4 的回答变得更有针对性、更有效:

Embrace Effortless Elegance with Alpha Beta — The Ultra-Fast Hairdryer for the Wise Generation.

Rediscover the joy of simple, effective hair care with Alpha Beta. Our latest innovation is more than just a hairdryer; it’s a promise of swift, gentle, and

reliable hair styling for those who appreciate the finer things in life.

  • Easy and Intuitive Use: Say goodbye to complicated gadgets. Alpha Beta is

crafted for comfort and simplicity, perfect for those who value straightforward,

hassle-free technology.

  • Time-Saving Technology: We understand your time is precious. That’s why Alpha Beta cuts down drying time significantly, giving you more moments to enjoy life’s pleasures.

Make every day a good hair day with Alpha Beta. Experience the blend of

sophistication and simplicity today.

[Your Product Link Here]

CO-STAR 框架指导我们有条不紊地向 LLM 提供相关任务的所有关键信息,确保根据我们的需求提供量身定制的优化回答。

02 [🔵] 使用分隔符(delimiters)将提示语分段

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Image generated by DALL·E 3

分隔符(Delimiters)是一种特殊的 tokens ,LLM 通过分隔符(Delimiters)将提示语分成不同的部分,以便确定哪些部分构成一个意义单元。这一点很重要,因为整个提示语(prompt)是以一长串 tokens 的形式到达 LLM 的。分隔符通过将提示语(prompt)的特定部分划分开再以不同的方式对待,为整个 tokens 序列提供了合理的结构。

值得注意的是,对于简单的任务,分隔符可能不会对 LLM 的回答质量产生影响。然而,任务越复杂,使用分隔符对 LLM 回答的影响就越大。

2.1 将特殊字符作为分隔符

分隔符可以是任何通常不会一起出现的特殊字符序列,例如

  • ===

所选特殊字符的数量和类型并不重要,只要它们足够独特,能让 LLM 将其理解为内容分隔符而非普通标点符号即可。

下面举例说明如何在提示语(prompt)中使用此类分隔符:

Classify the sentiment of each conversation in <<>> as

‘Positive’ or ‘Negative’. Give the sentiment classifications without any other preamble text.

EXAMPLE CONVERSATIONS

[Agent]: Good morning, how can I assist you today?

[Customer]: This product is terrible, nothing like what was advertised!

[Customer]: I’m extremely disappointed and expect a full refund.

[Agent]: Good morning, how can I help you today?

[Customer]: Hi, I just wanted to say that I’m really impressed with your

product. It exceeded my expectations!

EXAMPLE OUTPUTS

Negative

Positive

<<<

[Agent]: Hello! Welcome to our support. How can I help you today?

[Customer]: Hi there! I just wanted to let you know I received my order, and

it’s fantastic!

[Agent]: That’s great to hear! We’re thrilled you’re happy with your purchase.

Is there anything else I can assist you with?

[Customer]: No, that’s it. Just wanted to give some positive feedback. Thanks

for your excellent service!

[Agent]: Hello, thank you for reaching out. How can I assist you today?

[Customer]: I’m very disappointed with my recent purchase. It’s not what I expected at all.

[Agent]: I’m sorry to hear that. Could you please provide more details so I can help?

[Customer]: The product is of poor quality and it arrived late. I’m really

unhappy with this experience.

上述案例使用分隔符 ### 进行分隔,分隔内容的标题 EXAMPLE CONVERSATIONS(示例对话)和 EXAMPLE OUTPUTS(示例输出)用大写字母与其他内容进行区分。需要进行情感分析的对话被划分在<<>>内,这些对话随后在提示语(prompt)的底部直接提供给LLM,没有任何解释性文本,但由于分隔符 <<< 和 >>> 的存在,LLM 知道这些是它应该进行情感分析的对话。

以下是来自 GPT-4 的输出结果,直接输出情感分析结果,没有其他乱七八糟的内容,就是我们要求的那样。

Positive

Negative

2.2 将 XML 标签作为分隔符

使用 XML 标签作为分隔符是另一种使用分隔符的方法。XML 标签是用尖括号括起来的标签,包括开始标签和结束标签。例如,和。这种方法是比较有效的,因为大语言模型(LLM)已经在许多 XML 格式的 Web 内容上进行了训练,并学会了理解这种格式。

以下是相同的提示语(prompt),但是使用了 XML 标签作为分隔符来构造其结构:

Classify the sentiment of the following conversations into one of two classes, using the examples given. Give the sentiment classifications without any other

preamble text.

Positive

Negative

[Agent]: Good morning, how can I assist you today?

[Customer]: This product is terrible, nothing like what was advertised!

[Customer]: I’m extremely disappointed and expect a full refund.

[Agent]: Good morning, how can I help you today?

[Customer]: Hi, I just wanted to say that I’m really impressed with your

product. It exceeded my expectations!

Negative

Positive

[Agent]: Hello! Welcome to our support. How can I help you today?

[Customer]: Hi there! I just wanted to let you know I received my order, and

it’s fantastic!

[Agent]: That’s great to hear! We’re thrilled you’re happy with your purchase.

Is there anything else I can assist you with?

[Customer]: No, that’s it. Just wanted to give some positive feedback. Thanks

for your excellent service!

[Agent]: Hello, thank you for reaching out. How can I assist you today?

[Customer]: I’m very disappointed with my recent purchase. It’s not what I

expected at all.

[Agent]: I’m sorry to hear that. Could you please provide more details so I

can help?

[Customer]: The product is of poor quality and it arrived late. I’m really

unhappy with this experience.

在 XML 标签中使用与您在 instructions 中用来描述它们的词相同的名词是有好处的。我们在上述提示语(prompt)中给出的 instructions 是 (在本文中,instructions指的是前面提到的提示语(prompt)中给出的具体操作步骤或规则。)

Classify the sentiment of the following conversations into one of two classes, using the examples given. Give the sentiment classifications without any other

preamble text.

我们在 instructions 中使用了名词 “conversations” 、 “classes” 和 “examples” 。因此,可以用作分隔符的 XML 标签为 、 、 和 。这可以确保 LLM 理解您的 instructions 与用作分隔符的 XML 标签之间的关系。

同样,通过使用这些分隔符,我们可以清晰有序地划分 instructions,从而确保 GPT-4 能够按照我们的要求准确地生成回答。

如何系统的去学习大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

四、AI大模型商业化落地方案

img

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。
  • 内容
    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
      - L1.4.1 知识大模型
      - L1.4.2 生产大模型
      - L1.4.3 模型工程方法论
      - L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
  • 内容
    • L2.1 API接口
      - L2.1.1 OpenAI API接口
      - L2.1.2 Python接口接入
      - L2.1.3 BOT工具类框架
      - L2.1.4 代码示例
    • L2.2 Prompt框架
      - L2.2.1 什么是Prompt
      - L2.2.2 Prompt框架应用现状
      - L2.2.3 基于GPTAS的Prompt框架
      - L2.2.4 Prompt框架与Thought
      - L2.2.5 Prompt框架与提示词
    • L2.3 流水线工程
      - L2.3.1 流水线工程的概念
      - L2.3.2 流水线工程的优点
      - L2.3.3 流水线工程的应用
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
  • 内容
    • L3.1 Agent模型框架
      - L3.1.1 Agent模型框架的设计理念
      - L3.1.2 Agent模型框架的核心组件
      - L3.1.3 Agent模型框架的实现细节
    • L3.2 MetaGPT
      - L3.2.1 MetaGPT的基本概念
      - L3.2.2 MetaGPT的工作原理
      - L3.2.3 MetaGPT的应用场景
    • L3.3 ChatGLM
      - L3.3.1 ChatGLM的特点
      - L3.3.2 ChatGLM的开发环境
      - L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
      - L3.4.1 LLAMA的特点
      - L3.4.2 LLAMA的开发环境
      - L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
  • 内容
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

学习计划:

  • 阶段1:1-2个月,建立AI大模型的基础知识体系。
  • 阶段2:2-3个月,专注于API应用开发能力的提升。
  • 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
  • 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值