分享方式:


取得 Azure OpenAI API 要求的快取回應

適用於:所有 APIM 層

使用 azure-openai-semantic-cache-lookup 原則,根據提示對先前要求和指定相似度分數閾值的向量鄰近性,執行對 Azure OpenAI 聊天完成 API 和完成 API 要求的回應快取查閱。 回應快取可降低加諸於後端 Azure OpenAI API 的頻寬和處理需求,並縮短 API 取用者所感受的延遲時間。

注意

注意

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

支援的 Azure OpenAI 服務模型

此原則會與從 Azure OpenAI 服務新增至 API 管理的 API 搭配使用,API 類型如下:

API 類型 支援的模型
聊天完成 gpt-3.5

gpt-4
Completion gpt-3.5-turbo-instruct
Embeddings text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002

如需詳細資訊,請參閱 Azure OpenAI 服務模型

原則陳述式

<azure-openai-semantic-cache-lookup
    score-threshold="similarity score threshold"
    embeddings-backend-id ="backend entity ID for embeddings API"
    embeddings-backend-auth ="system-assigned"             
    ignore-system-messages="true | false"      
    max-message-count="count" >
    <vary-by>"expression to partition caching"</vary-by>
</azure-openai-semantic-cache-lookup>

屬性

屬性 描述 是必要欄位 預設
score-threshold 用來判斷是否要傳回快取回應給提示的相似度分數閾值。 值是介於 0.0 和 1.0 之間的小數。 深入了解 Yes N/A
embeddings-backend-id OpenAI 內嵌 API 呼叫的後端識別碼。 Yes N/A
embeddings-backend-auth 用於 Azure OpenAI 內嵌 API 後端的驗證。 是。 必須設定為 system-assigned N/A
ignore-system-messages 布林值。 如果設定為 true,在評估快取相似度之前,先從 GPT 聊天完成提示中移除系統訊息。 No false
max-message-count 如果指定,則會略過剩餘對話方塊訊息數目的快取。 No N/A

元素

名稱 描述 必要
vary-by 在執行階段判斷其值分割快取的自訂運算式。 如果新增多個 vary-by 元素,則會串連值以建立唯一的組合。 No

使用方式

使用注意事項

  • 此原則只能在原則區段中使用一次。

範例

具有對應 azure-openai-semantic-cache-store 原則的範例

<policies>
    <inbound>
        <base />
        <azure-openai-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="azure-openai-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </azure-openai-semantic-cache-lookup>
    </inbound>
    <outbound>
        <azure-openai-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

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