客户端 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这个页面对你有帮助吗?