核心提示词管理功能缓存

客户端 SDK 中的 Prompt 缓存

Litefuse 的 prompt 会在客户端 SDK 中缓存,因此首次使用之后不会带来任何延迟,也不存在可用性风险。你还可以在启动时预取 prompt 来填充缓存,或者提供一个降级用的 fallback prompt。

当 SDK 缓存中存在新鲜的 prompt 时,会立即返回,不会发起任何网络请求。

可选:自定义缓存时长(TTL)

如果你想减少 Langfuse 客户端的网络开销,可以配置缓存时长。默认缓存 TTL(生存时间)是 60 秒。TTL 过期后,SDK 会在后台重新拉取 prompt 并更新缓存。重新拉取是异步的,不会阻塞应用。

# Get current `production` prompt version and cache for 5 minutes
prompt = langfuse.get_prompt("movie-critic", cache_ttl_seconds=300)

可选:禁用缓存

cacheTtlSeconds 设为 0 即可禁用缓存。这样每次调用都会从 Litefuse API 重新拉取 prompt。建议在非生产环境使用,确保始终拿到 Litefuse 中最新的版本。

prompt = langfuse.get_prompt("movie-critic", cache_ttl_seconds=0)
 
# Common in non-production environments, no cache + latest version
prompt = langfuse.get_prompt("movie-critic", cache_ttl_seconds=0, label="latest")

可选:保证 prompt 的可用性

虽然通常没有必要,但如果你需要 100% 的 prompt 可用性,可以在应用启动时预取 prompt 并提供一个 fallback prompt。详见这份指南

首次拉取的性能测量

我们在完全禁用缓存的情况下测量了下面这段代码的执行时间。你可以自己运行这个 notebook 来验证结果。

prompt = langfuse.get_prompt("perf-test", cache_ttl_seconds=0)
prompt.compile(input="test")

使用 Litefuse Cloud 顺序执行 1000 次的结果(包含网络延迟):

性能图表

count    1000.000000
mean        0.039335 sec
std         0.014172 sec
min         0.032702 sec
25%         0.035387 sec
50%         0.037030 sec
75%         0.041111 sec
99%         0.068914 sec
max         0.409609 sec
这个页面对你有帮助吗?