What are tokens and how to count them?(chatgpt token limit openai)
I. OpenAI ChatGPT的令牌限制介绍
OpenAI ChatGPT是一款非常强大的文本生成模型,但它也有令牌限制。了解这些限制对有效使用ChatGPT非常重要。
A. ChatGPT的区别版本的令牌限制
区别版本的ChatGPT具有区别的令牌限制。让我们先来看看几个版本的令牌限制:
- gpt⑷的令牌限制为8,192 tokens
- gpt⑷-0613的令牌限制也为8,192 tokens
- gpt⑷⑶2k的令牌限制为32,768 tokens
- gpt⑷⑶2k-0613的令牌限制也为32,768 tokens
这些区别版本的ChatGPT具有区别的令牌限制,我们需要根据具体的版本来肯定最大的令牌数量。
B. 根据区别的模型,要求可使用的最大令牌数
根据区别的模型,我们可使用的最大令牌数也会有所区别。让我们来具体了解一下:
- 肯定的模型版本可使用最多4097个令牌
- 如果我们的要求使用了4000个令牌,那末我们可使用的最大令牌数是4097个令牌
这意味着我们需要根据所使用的具体模型版本来肯定能够使用的最大令牌数。
C. OpenAI GPT⑶每一个要求的令牌限制
对OpenAI GPT⑶版本,每一个要求的令牌限制为4,001个令牌,包括要求(即提示)和回复。
II. ChatGPT的令牌限制对话长度的影响
ChatGPT的令牌限制对对话的长度有直接影响。下面我们来看看具体情况:
A. ChatGPT 3的令牌限制和上下文窗口
ChatGPT 3的令牌限制为4,096 tokens。而对上下文窗口,ChatGPT的上下文长度限制为4,000个令牌。
B. ChatGPT 3.5和GPT⑷的令牌限制与上下文长度
ChatGPT 3.5版本本来的令牌限制为4,096个令牌。而GPT⑷版本的ChatGPT令牌限制增加到了8,000个令牌。
III. 限制令牌使用的影响
限制令牌的使用可能会对生成的回复产生影响。下面我们来看看这类限制的影响:
A. 限制令牌使用的默许长度和最大长度
默许情况下,令牌的使用限制是2,048个令牌,但是最大限制可以设置为4,096个令牌。
B. 限制令牌使用的后果
限制令牌使用可能致使生成的回复较短。由于令牌的限制,模型生成的回复可能没法包括大量的详细信息。
IV. ChatGPT 4的令牌限制疑问
关于ChatGPT 4的令牌限制,区别的信息来源给出了区别的说法。下面我们来看看这个问题:
A. 区别来源对ChatGPT 4的令牌限制的说法不一
- 一些来源表示ChatGPT 4的令牌限制为4,092个令牌
- 其他来源表示ChatGPT 3.5的令牌限制也是4,092个令牌
区别的来源对ChatGPT 4的令牌限制给出了区别的说法,我们需要进一步确认具体的令牌限制情况。
V. OpenAI API中的令牌限制
在OpenAI API文档中,Chat Completions中的令牌数一定要低于模型的最大限制,即4096个令牌。
chatgpt token limit openai的进一步展开说明
【进一步展开说明】
Tokens是甚么?
Tokens可以被看做是单词的构成部份。在API处理提示之前,输入会被拆分成tokens。这些tokens其实不完全依照单词的起始或结束位置进行拆分,tokens中可以包括尾随空格乃至是子词。以下是一些关于tokens长度的有用经验法则:
1 个token约等于 4 个英文字符
1 个token约等于 ¾ 个单词
100 个tokens约等于 75 个单词
或
1⑵个句子约等于 30 个tokens
1 段落约等于 100 个tokens
1,500个字约等于 2048个tokens
为了更好地了解tokens的情况,您可使用我们的互动tokenizer工具,它可以帮助您计算tokens的数量并查看文本是如何被拆分的。另外,如果您想以编程方式对文本进行分词,可使用Tiktoken,它是一个专门用于OpenAI模型的快速BPE分词器。您还可以尝试一些其他类似的库,例如Python的transformers包或node.js的gpt⑶-encoder包。
Tokens限制
根据所使用的模型的区别,要求可使用的tokens最多为4097个,这些tokens在提示和补全之间共享。如果您的提示使用了4000个tokens,那末补全部份最多只能有97个tokens。
目前这个限制是一种技术限制,但在这个限制范围内通常有创造性的解决问题的方法,例如缩减提示的内容,将文本分成更小的部份等。
Tokens定价
API根据区别的模型类型提供多种价格点。每一个模型都有一系列的能力,其中davinci是最强大的模型,ada是最快的模型。对这些区别模型的要求价格也是区别的。您可以在这里找到有关tokens定价的详细信息。
探究tokens
API根据语料数据中的上下文处理单词。GPT⑶将提示转换为tokens列表,处理提示,然后将预测的tokens转换回我们在响应中看到的单词。
对我们来讲,可能看起来是相同的两个单词,在tokens生成时可能会生成区别的tokens,这取决于它们在文本中的结构。斟酌一下API如何根据文本内上下文生成单词‘red’的tokens值:
在上面的第一个例子中,表示‘red’的token“2266”包括一个尾随空格。
代表‘Red’的token“2296”(带有一个前导空格并以大写字母开头)与表示‘red’的token“2266”(小写字母开头)是区别的。
当‘Red’用于句子开头时,生成的token不包括前导空格。token“7738”与上面两个例子中的单词区别。
视察:
一个token越有可能/频繁,其对应的token数就越低:
这三个句子中句号表示的token是相同的(“13”)。这是由于在语料数据中,句号的用法在语境上非常类似。
对单词‘red’,生成的token根据其在句子中的位置而变化:句子中间的小写字母:‘ red’-(token:“2266”)句子中间的大写字母:‘ Red’-(token:“2297”)句子开头的大写字母:‘Red’-(token:“7738”)
利用tokens知识进行更好的提示设计
以空格结尾的提示
现在我们知道tokens可以包括尾随空格字符,所以需要注意的是以空格字符结尾的提示可能会致使输出的质量较低。这是由于API已在其tokens字典中斟酌到了尾随空格。
使用logit_bias参数
可使用logit_bias参数设置特定tokens的偏差,以修改这些tokens在补全中出现的几率。举个例子,假定我们正在构建一个AI烘焙助手,该助手对用户的鸡蛋过敏非常敏感。
当我们使用提示‘香蕉面包的食材是’运行API时,响应将包括‘鸡蛋’作为第二个食材,几率为26.8%。
注意:在Playground当选择“完全光谱”来查看完成几率。
由于我们的AI烘焙助手对鸡蛋过敏很敏感,我们可以利用tokens的知识,在logit_bias参数中设置偏差,以禁止模型生成包括任何情势的‘鸡蛋’这个词的响应。
首先,使用此分词工具来辨认我们需要为其设置偏差的tokens。
tokens:
表示单数的带有尾随空格:‘ egg’-“5935”
表示复数的带有尾随空格:‘ eggs’-“9653”
表示‘Egg’或‘Eggs’时生成的子词token- ‘gg’:“1130”
logit_bias参数接受范围在⑴00到+100之间的偏差值,其中极端值将致使相关token的被制止(⑴00)或是排他性选择(100)。
将logit偏差添加到提示中将修改包括‘鸡蛋’(及其变体)这个词在香蕉面包提示的响应中出现的几率。以上这个提示生成的响应将不包括任何鸡蛋!
chatgpt token limit openai的常见问答Q&A
问题1:OpenAI ChatGPT中的令牌是甚么?如何计数?
答案:在OpenAI ChatGPT中,令牌(token)是以文本的情势对输入和输出进行切分的最小单位。它可以是一个单词、一个标点符号、一个字母、乃至是一个空格。计数令牌的方法很简单,只需将文本切分成令牌,并统计令牌的数量便可。
- 例如,下面的文本切分后包括5个令牌: “Hello, how are you?”
- 令牌计数对了解模型的输入和输出长度限制非常重要。
- 在OpenAI ChatGPT中,令牌的数量会影响要求的成功与否和响应的速度。
问题2:OpenAI ChatGPT的令牌限制是多少?会不会可以超过限制?
答案:OpenAI ChatGPT的令牌限制取决于具体的模型版本。区别的模型版本有区别的令牌限制,不能超过这个限制。
- 例如,ChatGPT 3的令牌限制为4096个令牌。
- ChatGPT 4 (8K)的令牌限制为8000个令牌。
- ChatGPT 4 (32K)的令牌限制为32000个令牌。
在要求中如果超过了令牌限制,将会致使要求失败或响应速度变慢。
问题3:如何克服OpenAI GPT的令牌限制?
答案:要克服OpenAI GPT的令牌限制,有几个方法可以尝试:
- 缩短输入文本的长度,尽可能在限制范围内。
- 使用更精简但又能表达相同含义的语言来减少令牌数量。
- 对超过令牌限制的文本,可以尝试进行切割或缩减以适应限制。
通过以上方法,可以更好地应对OpenAI GPT中的令牌限制。
问题4:ChatGPT的令牌限制是多少?
答案:ChatGPT的令牌限制也取决于具体的版本,下面是一些ChatGPT的令牌限制示例:
- ChatGPT⑷: 8192个令牌。
- ChatGPT⑷-0613: 8192个令牌。
- ChatGPT⑷⑶2K: 32768个令牌。
- ChatGPT⑷⑶2K-0613: 32768个令牌。