ChatGPT-3 OpenAI API:在(!)发送API请求之前如何计算令牌?

tuwxkamq  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(340)

OpenAI的文本模型具有上下文长度,例如:Curie的上下文长度为2049个tokens。它们提供max_tokens和stop参数来控制生成序列的长度。因此,当获得stop tokens或达到max_tokens时,生成就会停止。
问题是:当生成文本时,我不知道我的提示符包含多少个令牌。由于我不知道,我无法设置max_tokens = 2049 - number_tokens_in_prompt。
这使我无法根据文本的长度动态地生成各种文本。我需要的是继续生成,直到停止标记。
我的问题是:

  • 如何计算Python API中的token数量?因此我将相应地设置max_tokens参数。
  • 有没有办法将max_tokens设置为最大上限,这样我就不需要计算提示符的数量了?
bfrts1fy

bfrts1fy1#

如官方OpenAI article中所述:
要进一步探索标记化,您可以使用我们的交互式Tokenizer工具,该工具允许您计算标记的数量并查看文本如何分解为标记。**或者,如果您想以编程方式标记文本,请使用我们的Tokenizer工具。使用Tiktoken作为专门用于OpenAI模型的快速BPE标记器。**您还可以探索其他此类库,包括Python的transformers包或NodeJS的gpt-3-encoder package

相关问题