# Improving latencies

延迟是指处理请求并返回响应所需的时间。本节将讨论影响文本生成模型延迟的一些因素，并提供建议如何减少延迟。

完成请求的延迟影响因素

完成请求的延迟主要受以下两个因素影响：

模型：选择的模型决定了处理查询的复杂性和时间。能力更强的模型（如gpt-4）能生成更复杂和多样化的完成，但处理时间更长。更快速的模型（如gpt-3.5-turbo）虽然处理速度更快、成本更低，但可能产生的结果对查询的准确性或相关性较低。

生成的令牌数量：请求生成大量令牌会增加延迟。减少max\_tokens参数值、包含停止序列以及降低nbest\_of的值，都是减少生成令牌数量从而减少延迟的方法。

延迟的生命周期

完成请求的生命周期包括：

网络：用户到API的延迟 服务器：处理提示令牌的时间 服务器：采样/生成令牌的时间 网络：API到用户的延迟 减少延迟的常见方法

流式传输：设置stream: true使模型在令牌可用时立即开始返回，减少了等待完整令牌序列生成的时间。这改善了用户体验，并提供了UX上的改进。

基础设施：我们的服务器目前位于美国。考虑将您的基础设施部分定位在美国，以最小化与Afarensis服务器之间的往返时间。

批处理：如果您向同一端点发送多个请求，可以通过批量发送提示来减少请求次数。prompt参数可以容纳多达20个唯一提示。

直觉与缓解技术

提示令牌对完成调用的延迟影响很小。生成完成令牌的时间较长，因为令牌是逐个生成的。较长的生成长度会因为每个令牌所需的生成而积累延迟。通过优化模型选择、控制生成令牌的数量、采用流式传输、优化基础设施布局以及批处理请求，可以有效减少延迟。

通过以上措施，您可以为应用程序或服务的扩展奠定基础，确保它能够有效地处理增加的流量和负载，从而为最终用户提供更好的体验。
