抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

本文向大家介绍了 ChatGPT 的官方收费规则以及编写 ChatGPT 提示词的基本方法,包括通用的提示词编写框架、核心的提示词编写原则以及一些实际应用中的小技巧,帮助大家有效驯服野生 ChatGPT,满足日常学习和工作需求。

科普:ChatGPT 到底是如何收费的

大语言模型将文本拆解为 token ——一种处理信息的最小单元,介于“字”和“词”之间。

例如,下面有一段文字:

长夜将至,我从今开始守望,至死方休。我将不娶妻、不封地、不生子。我将不戴宝冠,不争荣宠。我将尽忠职守,生死於斯。我是黑暗中的利剑,长城上的守卫。我是抵御寒冷的烈焰,破晓时分的光线,唤醒眠者的号角,守护王国的坚盾。我将生命与荣耀献给守夜人,今夜如此,夜夜皆然。

它共包含 185 个 tokens

守夜人誓词
守夜人誓词

ChatGPT 的计费逻辑就是 计算输入和输出的 tokens,不同模型的官方定价如下:

Model Input Output
gpt-4-1106-preview $0.01 / 1K tokens $0.03 / 1K tokens
gpt-4-1106-vision-preview $0.01 / 1K tokens $0.03 / 1K tokens
gpt-4 $0.03 / 1K tokens $0.06 / 1K tokens
gpt-4-32k $0.06 / 1K tokens $0.12 / 1K tokens
gpt-3.5-turbo-1106 $0.0010 / 1K tokens $0.0020 / 1K tokens
gpt-3.5-turbo-instruct $0.0015 / 1K tokens $0.0020 / 1K tokens

今天是 2023年11月29日,人民币和美元的汇率为:

1
1 美元 = 7.1258 人民币

以目前性能最好的 GPT-4-turbo 为例:

每一万 tokens 的输入 + 两万 tokens 的输出 = 0.7 美元 = 5 人民币

当然,OpenAI 经常面向用户或开发者“整活”,例如每月的免费额度、开发者激励计划等,前段时间20人民币左右就可以买到120美金的 OpenAI 账号,因此从开发者的角度而言,实际的成本可能要低于按 token 计算的数值。

如果你是一位精打细算的选手,你可以在下面的平台上测试一段文本对应 tokens 的数量:


框架:通用提示词编写规则参考

目前,应用比较广泛的提示词框架主要有两个:Prompt 四要素法CRISPE Prompt 提示词框架,它们存在一定的共性。

Prompt 四要素法

Prompt 四要素法指的是:

  1. 指令 Instruction

    你希望模型执行的具体任务或指令。

  2. 上下文 Context

    上下文、背景或者外部信息,用于引导模型提供更好的响应。

  3. 输入数据 Input Data

    你的输入内容或问题。

  4. 输出指示 Output Indicator

    模型输出响应的类型或格式。


CRISPE Prompt 提示框架

  1. CR = Capacity and Role 能力和角色

    你希望模型扮演的角色,以及具备的能力。

  2. I = Insight 洞察力

    请求的背景、上下文,以及其他与请求有关的辅助信息。

  3. S = Statement 陈述

    你希望模型做什么。

  4. P = Personality 个性

    模型响应内容的风格,个性或态度。

  5. E = Experiment 实验

    让模型提供多个答案以供选择。


合并后的通用提示词框架

综合考量上述两种框架,可以得出一个在实际应用中较为推荐的 Prompt 编写框架:

  1. 角色(Role):希望模型扮演的角色,以及具备的能力。
  2. 指令(Instruction):希望模型执行的具体任务或指令。
  3. 上下文(Context):上下文、背景或者外部信息,用于引导模型提供更好的响应。
  4. 输入数据(Input Data):我们希望获得响应的"输入内容或问题"。
  5. 输出指示(Output Indicator):模型输出响应的数据格式,内容的风格、个性或态度,以及其他的输出要求。

实际使用中的 Prompt 应该尽可能多地、尽可能清晰地包含框架中的要素。

当然,Prompt 的编写遵循“奥卡姆剃刀原则”——复杂不代表好,当两段 Prompt 都能清晰地描述问题时,应该选择较为简洁的那一段。


省流:最核心的提示词编写原则

两大原则:

  1. 为 GPT 设置身份+技能

    常用的身份:教授、专家、xx师、xx家等

    你是一位 机器学习领域的教授研究方向 为聚类算法,你在这一领域有 十余年的丰富教学经验善于 使用通俗易懂的语言解释聚类算法相关的数学原理,能够熟练地 使用 python 编写代码来实现机器学习经典算法。

  2. 让 GPT 一边回答一边推理(解释自己为什么这么回答)

    请你编写 python 代码实现 k-means 聚类算法,将下面我提供给你的样本进行分类。你需要尽可能多地在代码中添加注释,以清晰地解释每一段代码的含义和它起到的作用


扩展:编写 Prompt 的小技巧

明确什么样的回答是“好的”

确保你和大模型都能理解 什么样的回答是好的,例如:

示例

一个失败的 Prompt

{document} 为以上文章写一篇摘要。

一个比较成功的 Prompt

{document} 使用通俗易懂的语言为以上文章写一篇摘要,摘要应包括一个小结和一个相关要点的列表,同时加粗关键部分以提高可读性。

在上面的示例中,好的摘要被定义为:

  • 通俗易懂的
  • 包括一个小结和一个相关要点的列表
  • 对关键部分加粗

精确表达任务指令

你可以采用分条叙述的形式,让你的 Prompt 看起来更加清晰,同时也更易于你的调整。

示例

一个比较成功的 Prompt

{document} 使用通俗易懂的语言为以上文章写一篇摘要,摘要应包括一个小结和一个相关要点的列表,同时加粗关键部分以提高可读性。

一个更加成功的 Prompt

{document} 为以上文章写一篇摘要,具体要求如下:

  1. 使用通俗易懂的语言撰写摘要
  2. 摘要应包括一个小结和一个相关要点的列表
  3. 加粗摘要的关键部分以提高可读性

让 GPT 学会道歉而不是嘴硬瞎编

有的时候,由于任务本身的复杂性或提示词的不足,ChatGPT 可能无法回答你的问题,这时候 它就会开始瞎编。为了避免这种情况的发生,你可以为它设计一个 兜底的策略

示例

一个失败的 Prompt

请你基于我的兴趣爱好,向我推荐几部电影,我的兴趣爱好是xxx。

一个较为成功的 Prompt

请你基于我的兴趣爱好,向我推荐几部电影,我的兴趣爱好是xxx。当你无法为我推荐电影时,你必须回答“抱歉,我无法为您推荐电影。”


强调更为重要的要求

当任务较为复杂时,一条 Prompt 中可能包含了很多个要求,然而模型可能会 倾向于关注靠前和靠后的指令。因此,对于一些重要的限制条件,你可以:

  1. 将重要的要求或限制放在最前面或最后面
  2. 尝试使用特殊符号强调某些指令,例如 **指令内容**"指令内容"
  3. 使用 务必严格强调 等词来强调某些指令

小登,你懂我意思?

在提示词最后添加一句:

如果你理解了我的要求,请说“我们开始吧”。

往往会有奇效。


摆烂:让 ChatGPT 帮你写提示词

我们可以通过下面的提示词,让 ChatGPT 扮演提示词创作者,你只需要告诉他提示词的主题,并在它的引导下逐步完善你的需求,一份较为成熟的提示词就写好了。

以下是提示词文本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Read all of the instructions below and once you understand them say "Shall we begin:"

I want you to become my Prompt Creator. Your goal is to help me craft the best possible prompt for my needs. The prompt will be used by you, ChatGPT. You will follow the following process:

Your first response will be to ask me what the prompt should be about. I will provide my answer, but we will need to improve it through continual iterations by going through the next steps.

Based on my input, you will generate 3 sections.

Revised Prompt (provide your rewritten prompt. it should be clear, concise, and easily understood by you)

Suggestions (provide 3 suggestions on what details to include in the prompt to improve it)

Questions (ask the 3 most relevant questions pertaining to what additional information is needed from me to improve the prompt)

At the end of these sections give me a reminder of my options which are:

Option 1: Read the output and provide more info or answer one or more of the questions

Option 2: Type "Use this prompt" and I will submit this as a query for you

Option 3: Type "Restart" to restart this process from the beginning

Option 4: Type "Quit" to end this script and go back to a regular ChatGPT session

If I type "Option 2", "2" or "Use this prompt" then we have finsihed and you should use the Revised Prompt as a prompt to generate my request

If I type "option 3", "3" or "Restart" then forget the latest Revised Prompt and restart this process

If I type "Option 4", "4" or "Quit" then finish this process and revert back to your general mode of operation

We will continue this iterative process with me providing additional information to you and you updating the prompt in the Revised Prompt section until it is complete.

这段提示词占了 392 个 tokens,经费在燃烧 但不是很烧

请注意,这段提示词对上下文连续性的依赖较强,因此如果你的平台为了省钱关闭了上下文连续功能,或者限制了上下文记忆,请你先调整设置。

当然,如果你不想完全摆烂,你也可以通过上面的方法编写提示词,让 ChatGPT 引导你自己写出更好的提示词。例如:

你是一位专业的 Prompt Engineer,善于根据用户的需求,引导用户写出高效的提示词。你提供的帮助可能包括:对一个主题的扩展、对思考角度的提示、对现有提示词的补充以及其他你作为专业人员所认为的必要行为。当你认为用户提供的信息不够全面时,你会主动询问进一步的信息,而不是强行根据现有信息给出解答。如果你明白了我的需求,请说“让我们开始吧。”

评论