取得大型語言模型 API 要求的快取回應
適用於:所有 APIM 層
使用 llm-semantic-cache-lookup
原則,根據提示對先前要求和指定相似度分數閾值的向量鄰近性,執行對大型語言模型 (LLM) API 要求的回應快取查閱。 回應快取可降低加諸於後端 LLM API 的頻寬和處理需求,並縮短 API 取用者所感受的延遲時間。
注意
- 此原則必須有對應的大型語言模型 API 要求的快取回應原則。
- 如需啟用語意快取的必要條件和步驟,請參閱在 Azure APIM 中啟用 Azure OpenAI API 的語意快取。
- 此原則目前為預覽狀態。
注意
請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。
支援的模型
將原則與新增至 Azure APIM 的 LLM API 搭配使用,這些 API 可透過 Azure AI 模型推斷 API 取得。
原則陳述式
<llm-semantic-cache-lookup
score-threshold="similarity score threshold"
embeddings-backend-id ="backend entity ID for embeddings API"
ignore-system-messages="true | false"
max-message-count="count" >
<vary-by>"expression to partition caching"</vary-by>
</llm-semantic-cache-lookup>
屬性
屬性 | 描述 | 是必要欄位 | 預設 |
---|---|---|---|
score-threshold | 用來判斷是否要傳回快取回應給提示的相似度分數閾值。 值是介於 0.0 和 1.0 之間的小數。 深入了解。 | Yes | N/A |
embeddings-backend-id | OpenAI 內嵌 API 呼叫的後端識別碼。 | Yes | N/A |
ignore-system-messages | 布林值。 如果設定為 true ,在評估快取相似度之前,先從 GPT 聊天完成提示中移除系統訊息。 |
No | false |
max-message-count | 如果指定,則會略過剩餘對話方塊訊息數目的快取。 | No | N/A |
元素
名稱 | 描述 | 必要 |
---|---|---|
vary-by | 在執行階段判斷其值分割快取的自訂運算式。 如果新增多個 vary-by 元素,則會串連值以建立唯一的組合。 |
No |
使用方式
使用注意事項
- 此原則只能在原則區段中使用一次。
範例
對應 llm-semantic-cache-store 原則的範例
<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>
</inbound>
<outbound>
<llm-semantic-cache-store duration="60" />
<base />
</outbound>
</policies>
相關原則
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 原則參考,取得原則陳述式及其設定的完整清單
- 原則運算式
- 設定或編輯原則
- 重複使用原則設定
- 原則程式碼片段存放庫 (英文)
- Azure API 管理 原則工具組
- 使用 Microsoft Azure Copilot 撰寫原則