Skip to main content

缓存

promptfoo 会缓存对 LLM 提供商的 API 调用结果。这有助于节省时间和成本。

命令行

如果你使用命令行,请使用 --no-cache 调用 promptfoo eval 以禁用缓存,或在配置文件中设置 { evaluateOptions: { cache: false }}

使用 promptfoo cache clear 命令清除缓存。

Node 包

EvaluateOptions.cache 设置为 false 以禁用缓存:

promptfoo.evaluate(testSuite, {
cache: false,
});

测试

如果你正在与 jest 或 vitestmocha 或其他外部框架集成,你可能希望在 CI 中设置以下内容:

PROMPTFOO_CACHE_TYPE=disk
PROMPTFOO_CACHE_PATH=...

配置

缓存可以通过环境变量进行配置:

环境变量描述默认值
PROMPTFOO_CACHE_ENABLED启用或禁用缓存true
PROMPTFOO_CACHE_TYPEdiskmemory如果 NODE_ENVtest,则为 memory,否则为 disk
PROMPTFOO_CACHE_MAX_FILE_COUNT缓存中的最大文件数10,000
PROMPTFOO_CACHE_PATH缓存目录的路径~/.promptfoo/cache
PROMPTFOO_CACHE_TTL缓存条目的生存时间(秒)14 天
PROMPTFOO_CACHE_MAX_SIZE缓存的最大大小(字节)10 MB