深入理解OpenAI API的成本、速度与限制
如果你正在使用人工智能(AI)进行开发,你可能已经遇到过与代币相关的问题。代币是所有大型语言模型(LLM)的核心组成部分,它们构成了所有提示和响应的基础。理解代币化的概念及其对API使用的影响,对于将AI集成到产品中或使用ChatGPT等应用程序的人来说至关重要。
以下内容将定义一些关键术语,并通过实际案例帮助你更好地理解如何优化提示和与OpenAI API的交互。
什么是代币?
代币是LLM用来理解和生成文本的基本信息单位。一个代币可以是单个字符、一个完整单词,甚至是单词的一部分。例如:

在上图中,单词“Evergreen”被拆分为两个代币,而“It’s”被分解为“It”和“’s”。
为什么模型使用代币?
当你编写一个提示时,它会被分解为代币。这是因为LLM并不像人类那样直接理解语言,而是通过在大量文本数据上训练,学习语言中的模式。代币化的过程将自然语言转化为模型可以处理的格式。
代币的分割方式取决于所使用的语言和具体的代币化方法。

什么是代币化?
代币化是将文本分解为代币的过程。例如,“常青”可以被分解为多个代币。常见的代币化方法包括:
-
基于单词的代币化:每个单词作为一个代币。例如,“常青”= 1个代币。

-
基于字符的代币化:每个字符作为一个代币。例如,“常青”= 9个代币。

-
基于子词的代币化:常见的子词被视为单独的代币。例如,“常青”= 2个代币。

OpenAI采用了一种基于子词的代币化方法,称为字节对编码(Byte Pair Encoding,BPE)。这种方法使模型能够更好地理解语言并生成更细腻的响应。
代币与API使用
在使用OpenAI API(以及其他类似服务)时,代币是影响成本、响应时间和性能的关键因素之一。理解代币与这些因素的关系,可以帮助你优化提示设计、降低成本并改善用户体验。
OpenAI对不同模型的收费各不相同,且费用会定期更新。通常,较长的提示需要更多的代币,因此成本更高。

处理代币限制
除了成本,每种模型都有特定的代币限制。这个限制包括提示和响应中使用的代币总数。例如,如果某模型的最大代币限制为4000,而提示已经使用了3500个代币,那么响应只能使用500个代币。如果生成的响应超过了这个限制,请求将失败,且不会返回任何结果。
虽然可以通过限制输出字符数来避免失败,但这可能会降低响应质量。提示设计的一个关键原则是为模型提供足够的“思考空间”。
请求中使用的代币越多,API的响应时间也会越长。因此,如果你的应用更注重快速响应而非详细内容,可以适当调整代币限制。
代币限制与最大代币参数
模型的代币限制包括系统消息、提示和响应的代币总数,而最大代币参数(Max Tokens)仅与响应中使用的代币数量相关。
如何绕过代币限制
以下是一些绕过代币限制的方法:
- 分块处理:将输入文本分割为符合代币限制的小块,并分别发送请求。尽管可能会丢失部分上下文,但这种方法适用于大文本处理。
- 内容总结:在发送给模型之前,将内容压缩为更短的版本。这种方法可能会导致细节和语义的丢失。
- 优先级排序:确保提示中最重要的部分符合代币限制。这需要对提示内容进行取舍。
如何优化OpenAI API的使用
为了更高效地使用OpenAI API,你可以采取以下措施:
- 监控代币使用情况:记录每次请求的代币数量。工具如PromptHub可以帮助你跟踪和分析代币使用情况。
- 优化提示长度:虽然较长的提示通常效果更好,但通过压缩提示内容,可以在降低成本的同时保持较高的输出质量。
- 分块处理大文本:对于超出代币限制的输入,使用分块或其他方法进行处理。
实验:调整代币限制的影响
以下是一个关于调整代币限制的实验:
- 版本1:最大代币限制为600。
- 版本2:最大代币限制为1500。
实验场景:作为一名旅行社,系统需要根据客户的喜好推荐热带目的地。
结果显示,版本1的响应更简洁,处理速度更快;而版本2则提供了更详细的建议,包括目的地的文化体验、预算等信息。这表明,不同的代币限制适用于不同的用例。

总结
- 优化代币使用对于降低成本和提高API性能至关重要。
- 管理代币限制可以避免请求失败并提升响应质量。
- 通过分块、总结和优化提示内容,可以有效应对代币限制。
- 不同的代币限制适用于不同场景,建议通过实验找到最佳设置。
原文链接: https://www.prompthub.us/blog/tokens-and-tokenization-understanding-cost-speed-and-limits-with-openais-apis
最新文章
- 如何为现代图形API编写渲染器 | Clean Rinse
- Python + BaiduTransAPI :快速检索千篇英文文献(附源码)
- Nexus API 的入门教程与使用指南
- API 规范:设计与最佳实践
- Undetectable检查AI API的使用指南
- 深度解析思维链Prompt(Chain-of-Thought Prompt):激发大模型推理能力的关键技术
- DeepSpeed-Chat 模型训练实战
- 使用NestJS和Prisma构建REST API:身份验证
- 教育革命:在App中集成ChatGPT API…
- LangChain | 一种语言模型驱动应用的开发框架
- API 是否应该采用语义化版本控制?
- 如何获取 RollToolsApi 开放平台 API Key 密钥(分步指南)