快取大型語言模型 API 要求的回應

適用於:所有 APIM 層

原則會 llm-semantic-cache-store 快取對已設定外部快取的聊天完成 API 要求回應。 回應快取降低了後端語言模型 API 所施加的頻寬與處理需求,並降低 API 使用者感知到的延遲。

注意

注意

請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。

支援的模型 API

此政策適用於加入 API 管理且符合以下 API 架構之一的 LLM API:

  • OpenAI 聊天完成或回應 API
  • Anthropic Messages API(目前支援於 API Management v2 層級)
  • Google 頂點 AI API

原則陳述式

<llm-semantic-cache-store duration="seconds" cache-response="true | false" />

屬性

屬性 描述 是必要欄位 預設
持續時間 快取項目的存留時間,以秒為單位進行指定。 允許使用原則運算式。 是的 N/A
cache-response 設定為 true 以快取目前的 HTTP 回應。 如果省略屬性,就只會快取狀態碼為 200 OK 的 HTTP 回應。 允許使用原則運算式。 No false

使用方式

使用注意事項

  • 此原則只能在原則區段中使用一次。
  • 如果快取查閱失敗,使用快取相關作業的 API 呼叫不會引發錯誤,而且快取作業會順利完成。
  • 建議您在任何快取查閱之後立即設定 速率限制 原則 (或依 金鑰的速率限制 原則)。 這有助於防止您的後端服務在快取無法使用時過載。

範例

對應 llm-semantic-cache-lookup 原則的範例

下列範例顯示如何搭配 llm-semantic-cache-lookup 使用原則, llm-semantic-cache-store 以擷取語意上相似的快取回應,相似性分數臨界值為 0.05。 快取的值會依呼叫端的訂閱識別碼進行分割。

注意

在快取查詢後加入 速率限制 政策(或 按金鑰限制速率限制 政策),以幫助限制呼叫次數,並防止快取無法使用時後端服務過載。

<policies>
    <inbound>
        <base />
        <llm-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="llm-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </llm-semantic-cache-lookup>
        <rate-limit calls="10" renewal-period="60" />
    </inbound>
    <outbound>
        <llm-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

如需使用原則的詳細資訊,請參閱: