你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

缓存对大型语言模型 API 请求的响应

适用于:所有 API 管理层级

根据提示与先前请求的矢量接近度以及指定的相似性分数阈值,使用 llm-semantic-cache-lookup 策略从配置的外部缓存中执行对大型语言模型 (LLM) API 请求响应的缓存查找。 响应缓存可以降低后端 LLM API 需要满足的带宽和处理能力要求,并可以减小 API 使用者能够察觉到的延迟。

注意

注意

按照策略声明中提供的顺序设置策略的元素和子元素。 详细了解如何设置或编辑 API 管理策略

支持的模型

将该策略与添加到 Azure API 管理的 LLM API(通过 Azure AI 模型推理 API 提供)配合使用。

策略语句

<llm-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>
</llm-semantic-cache-lookup>

属性

属性 说明 需要 默认
score-threshold 用于确定是否向提示返回缓存响应的相似性分数阈值。 值为介于 0.0 和 1.0 之间的小数。 了解详细信息 空值
embeddings-backend-id OpenAI 嵌入 API 调用的后端 ID。 空值
embeddings-backend-auth 用于 Azure OpenAI 嵌入 API 后端的身份验证。 是的。 必须设置为 system-assigned 空值
ignore-system-messages 布尔值。 如果设置为 true,请在评估缓存相似性之前从 GPT 聊天补全提示中移除系统消息。 false
max-message-count 如果指定,则为剩余的对话消息数,在此消息数之后将跳过缓存。 空值

元素

名称 说明 必须
vary-by 在运行时确定的自定义表达式,其值用于缓存分区。 如果添加了多个 vary-by 元素,则连接值以创建唯一组合。

使用情况

使用注意事项

  • 此策略只能在策略部分中使用一次。

示例

相应的 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>

有关使用策略的详细信息,请参阅: