延迟指的是模型处理提示并生成输出所需的时间。延迟可能受到各种因素的影响,例如模型的大小、提示的复杂性以及支持模型和交互点的底层基础设施。

最好是先设计一个在没有模型或提示限制的情况下运行良好的提示,然后再尝试延迟减少策略。过早地试图减少延迟可能会阻止你发现最佳性能是什么样的。


如何测量延迟

在讨论延迟时,你可能会遇到几个术语和测量指标:

  • 基准延迟:这是模型处理提示并生成响应所需的时间,不考虑每秒输入和输出令牌数。它提供了模型速度的总体概念。
  • 首个令牌时间(TTFT):此指标衡量从发送提示到模型生成响应的第一个令牌所需的时间。当你使用流式传输(稍后会详细介绍)并想为用户提供响应式体验时,这一点尤其重要。

要更深入地了解这些术语,请查看我们的术语表


如何降低延迟

1. 选择合适的模型

降低延迟最直接的方法之一是为你的用例选择适当的模型。Anthropic提供了具有不同功能和性能特征的多种模型。考虑你的具体需求,并选择在速度和输出质量方面最适合你需求的模型。有关模型指标的更多详细信息,请参阅我们的模型概述页面。

2. 优化提示和输出长度

在保持高性能的同时,最小化输入提示和预期输出中的令牌数量。模型需要处理和生成的令牌越少,响应速度就越快。

以下是一些帮助你优化提示和输出的建议:

  • 清晰但简洁:力求在提示中清晰简洁地传达你的意图。避免不必要的细节或冗余信息,同时要记住Claude缺乏上下文了解你的用例,如果指令不清晰,可能无法做出预期的逻辑推理。
  • 要求更短的响应:直接要求Claude简洁。Claude 3系列模型比之前的版本具有更好的可控性。如果Claude输出不必要的长度,要求Claude控制其啰嗦程度
    由于LLM计算令牌而不是单词,要求确切的字数或字数限制不如要求段落或句子数量限制有效。
  • 设置适当的输出限制:使用max_tokens参数为生成的响应设置硬性长度限制。这可以防止Claude生成过长的输出。

    注意:当响应达到max_tokens令牌时,响应将被截断,可能会在句子中间或词中间截断,所以这是一种生硬的技术,可能需要后处理,通常最适合用于答案就在开头的多选题或简答题。

  • 实验温度参数temperature 参数控制输出的随机性。较低的值(例如0.2)有时会导致更集中和更短的响应,而较高的值(例如0.8)可能会产生更多样但可能更长的输出。

找到提示清晰度、输出质量和令牌数量之间的正确平衡可能需要一些实验。

3. 利用流式传输

流式传输是一项允许模型在完整输出完成之前开始发送响应的功能。这可以显著提高应用程序的感知响应性,因为用户可以实时看到模型的输出。

启用流式传输后,你可以在模型输出到达时处理输出,同时更新用户界面或执行其他任务。这可以大大提升用户体验,使你的应用程序感觉更具交互性和响应性。

访问流式消息了解如何为你的用例实现流式传输。