APPLIES TO:所有API Management层
策略 llm-semantic-cache-store 缓存对已配置外部缓存的聊天完成 API 请求的响应。 响应缓存可减少对后端施加的带宽和处理要求,Azure OpenAI API,并降低 API 使用者感知的延迟。
注释
- 此策略必须有相应的获取大型语言 API 请求的缓存响应策略。
- 由于语义缓存基于相似性(不完全匹配)返回响应,因此它可以显示当前请求不正确、过时或不安全的响应。 请仔细评估此功能,了解工作负荷并包括安全措施。
注释
按照策略声明中提供的顺序设置策略的元素和子元素。 详细了解 如何设置或编辑API Management策略。
支持的模型
将策略与添加到Azure API Management的 LLM API 配合使用,这些 API 可通过 Azure AI 模型推理 API 或使用通过第三方推理提供程序提供的 OpenAI 兼容模型。
政策声明
<llm-semantic-cache-store duration="seconds"/>
特性
| Attribute | Description | 必选 | 违约 |
|---|---|---|---|
| duration | 缓存条目的生存时间,以秒为单位指定。 允许使用策略表达式。 | 是的 | 不适用 |
用法
- 策略节:出站
- 策略范围:全局、产品、API、操作
- 网关:经典、消耗、自承载
使用注意事项
- 此策略只能在策略部分中使用一次。
- 如果缓存查找失败,则使用缓存相关操作的 API 调用不会引发错误,并且缓存操作成功完成。
- 建议在任何缓存查找后立即配置 速率限制 策略(或 按键速率限制 策略)。 这有助于防止后端服务在缓存不可用时过载。
例子
相应的 llm-semantic-cache-lookup 策略的示例
以下示例演示如何将 llm-semantic-cache-lookup 策略与策略一起使用 llm-semantic-cache-store ,以语义方式检索具有相似性分数阈值为 0.05 的类似缓存响应。 缓存值按调用方订阅 ID 进行分区。
<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>
相关策略
相关内容
若要详细了解如何使用策略,请参阅:
- 教程:转换和保护 API
- 策略参考,其中提供了策略语句及其设置的完整列表
- 策略表达式
- 设置或编辑策略
- 重复使用策略配置
- Policy 代码片段存储库
- Policy playground 存储库
- Azure API Management策略工具包