缓存
promptfoo 会缓存对 LLM 提供商的 API 调用结果。这有助于节省时间和成本。
命令行
如果你使用命令行,请使用 --no-cache
调用 promptfoo eval
以禁用缓存,或在配置文件中设置 { evaluateOptions: { cache: false }}
。
使用 promptfoo cache clear
命令清除缓存。
Node 包
将 EvaluateOptions.cache
设置为 false 以禁用缓存:
promptfoo.evaluate(testSuite, {
cache: false,
});
测试
如果你正在与 jest 或 vitest、mocha 或其他外部框架集成,你可能希望在 CI 中设置以下内容:
PROMPTFOO_CACHE_TYPE=disk
PROMPTFOO_CACHE_PATH=...
配置
缓存可以通过环境变量进行配置:
环境变量 | 描述 | 默认值 |
---|---|---|
PROMPTFOO_CACHE_ENABLED | 启用或禁用缓存 | true |
PROMPTFOO_CACHE_TYPE | disk 或 memory | 如果 NODE_ENV 是 test ,则为 memory ,否则为 disk |
PROMPTFOO_CACHE_MAX_FILE_COUNT | 缓存中的最大文件数 | 10,000 |
PROMPTFOO_CACHE_PATH | 缓存目录的路径 | ~/.promptfoo/cache |
PROMPTFOO_CACHE_TTL | 缓存条目的生存时间(秒) | 14 天 |
PROMPTFOO_CACHE_MAX_SIZE | 缓存的最大大小(字节) | 10 MB |