使用 Promptfoo 进行评估
先决条件
要使用 Promptfoo,您需要在系统上安装 node.js 和 npm。有关更多信息,请遵循 此指南
您可以使用 npm 安装 promptfoo,或直接使用 npx 运行它。在本指南中,我们将使用 npx。
注意:对于此示例,您不需要运行 npx promptfoo@latest init
,因为此目录中已有一个初始化的 promptfooconfig.yaml
文件
请在此处参阅官方文档 here
入门
评估由 promptfooconfig.yaml
文件编排。在此文件中,我们定义了以下部分:
- Prompts
- Providers
- 使用 Promptfoo,您可以连接到不同平台上的多个 LLM,请参阅 此处了解更多。在
guide.ipynb
中,我们使用了 Haiku,默认温度为 0.0。我们将使用 Promptfoo 试验一系列不同的温度设置,以确定最适合我们用例的选择。
- 使用 Promptfoo,您可以连接到不同平台上的多个 LLM,请参阅 此处了解更多。在
- Tests
- Transform
- 在
defaultTest
部分,我们定义了一个转换函数。这是一个 Python 函数,用于从 LLM 响应中提取我们想要测试的特定输出。
- 在
- Output
运行评估
要开始使用 Promptfoo,请打开终端并导航到此目录 (./evaluation
)。
在运行评估之前,您必须定义以下环境变量:
export ANTHROPIC_API_KEY=YOUR_API_KEY
export VOYAGE_API_KEY=YOUR_API_KEY
从 evaluation
目录运行以下命令。
npx promptfoo@latest eval
如果您想增加请求的并发性(默认为 4),请运行以下命令。
npx promptfoo@latest eval -j 25
评估完成后,终端将打印数据集中每一行的结果。
您现在可以返回 guide.ipynb
来分析结果!