推理缓存
TensorZero网关支持缓存推理响应以降低延迟并减少成本。 启用缓存后,相同的请求将从缓存中获取,而不会发送给模型提供商,从而实现更快的响应时间和更低的令牌消耗。
使用方法
TensorZero网关支持以下缓存模式:
write_only
(默认): 仅写入缓存但不提供缓存响应read_only
: 仅从缓存读取数据,但不写入新条目on
: 同时读取和写入缓存off
: 完全禁用缓存
您还可以选择性地为推理读取指定缓存条目的最大存活时间(以秒为单位)。 此参数对推理写入操作无效。
更多详情请参阅API参考文档。
示例
from tensorzero import TensorZeroGateway
with TensorZeroGateway.build_http(gateway_url="http://localhost:3000") as client: response = client.inference( model_name="openai::gpt-4o-mini", input={ "messages": [ { "role": "user", "content": "What is the capital of Japan?", } ] }, cache_options={ "enabled": "on", # read and write to cache "max_age_s": 3600, # optional: cache entries >1h (>3600s) old are disregarded for reads }, )
print(response)
技术说明
- 缓存适用于单个模型请求,而非推理请求。 这意味着以下情况将分别缓存: 同一函数的多个变体; 使用不同参数对同一函数的多次调用; 针对推理时优化的独立模型请求; 等等。
max_age_s
参数适用于检索缓存的响应。缓存不会自动删除旧条目(即不是TTL)。- 当网关返回缓存响应时,使用量字段会被设为零值。
- 缓存数据存储在ClickHouse中。
- 对于批量推理,网关仅写入缓存但不提供缓存响应。