延遲指的是模型處理提示詞並生成輸出所需的時間。延遲可能受到各種因素的影響,例如模型的大小、提示詞的複雜度,以及支持模型和互動點的底層基礎設施。

最好是先設計一個在沒有模型或提示詞限制的情況下運作良好的提示詞,然後再嘗試延遲降低策略。過早地試圖降低延遲可能會阻礙你發現最佳性能的表現。


如何測量延遲

在討論延遲時,你可能會遇到幾個術語和測量指標:

  • 基準延遲:這是模型處理提示詞並生成回應所需的時間,不考慮每秒的輸入和輸出標記數。它提供了模型速度的大致概念。
  • 首個標記時間(TTFT):這個指標衡量從發送提示詞到模型生成回應的第一個標記所需的時間。當你使用串流(稍後會詳細介紹)並想為用戶提供即時回應體驗時,這個指標特別重要。

要更深入地了解這些術語,請查看我們的詞彙表


如何降低延遲

1. 選擇合適的模型

降低延遲最直接的方法之一是為你的使用案例選擇適當的模型。Anthropic 提供了具有不同功能和性能特徵的多種模型。考慮你的具體需求,並選擇在速度和輸出質量方面最適合你需求的模型。有關模型指標的更多詳細信息,請參閱我們的模型概述頁面。

2. 優化提示詞和輸出長度

在保持高性能的同時,盡量減少輸入提示詞和預期輸出中的標記數量。模型需要處理和生成的標記越少,回應速度就越快。

以下是一些幫助你優化提示詞和輸出的建議:

  • 清晰但簡潔:在提示詞中清晰簡潔地表達你的意圖。避免不必要的細節或冗餘信息,同時要記住 Claude 缺乏上下文了解你的使用案例,如果指示不清晰,可能無法做出預期的邏輯推理。
  • 要求更短的回應:直接要求 Claude 保持簡潔。Claude 3 系列模型相比前幾代在可控性方面有所改進。如果 Claude 輸出不必要的長度,要求 Claude 控制其冗長程度
    由於 LLM 計算標記而不是單詞,要求確切的字數或字數限制不如要求段落或句子數量限制有效。
  • 設置適當的輸出限制:使用 max_tokens 參數來設置生成回應的最大長度硬限制。這可以防止 Claude 生成過長的輸出。

    注意:當回應達到 max_tokens 標記時,回應將被截斷,可能會在句子中間或詞中間被切斷,所以這是一種較為粗糙的技術,可能需要後處理,通常最適合用於答案直接出現在開頭的多選題或簡答題。

  • 嘗試調整溫度temperature 參數控制輸出的隨機性。較低的值(例如 0.2)有時會導致更集中和更短的回應,而較高的值(例如 0.8)可能會產生更多樣但可能更長的輸出。

找到提示詞清晰度、輸出質量和標記數量之間的適當平衡可能需要一些實驗。

3. 利用串流

串流是一種允許模型在完整輸出完成之前就開始發送回應的功能。這可以顯著改善應用程序的感知響應性,因為用戶可以實時看到模型的輸出。

啟用串流後,你可以在模型輸出到達時處理輸出,同時更新用戶界面或執行其他並行任務。這可以大大提升用戶體驗,使你的應用程序感覺更具互動性和響應性。

訪問串流訊息了解如何為你的使用案例實現串流。