从 Google Sheets 导入测试用例
promptfoo 允许你直接从 Google Sheets 导入评估测试用例。这可以通过未认证的方式完成(如果表格是公开的),或者使用 Google 的默认应用程序凭据进行认证,通常通过服务帐户进行编程访问。
未认证访问
如果 Google Sheet 设置为“任何人都可以通过链接访问”,你可以直接在 YAML 配置中指定共享 URL。例如:
prompts:
- prompt1.txt
- prompt2.txt
providers:
- anthropic:messages:claude-3-5-sonnet-20240620
- openai:chat:gpt-4o
tests: https://docs.google.com/spreadsheets/d/1eqFnv1vzkPvS7zG-mYsqNDwOzvSaiIAsKB3zKg9H18c/edit?usp=sharing
这里有一个示例表格。有关如何设置表格本身的更多信息,请参阅从 CSV 加载断言。
使用默认应用程序凭据进行认证访问
对于非公开访问的表格,你可以使用认证访问。这需要设置 Google 默认应用程序凭据。以下是配置方法:
-
安装对等依赖项:
npm install googleapis
-
服务帐户设置:在你的 Google Cloud Platform 项目中创建一个服务帐户。创建一个 JSON 密钥文件并下载它。
-
启用 Google Sheets API:启用Google Sheets API(
sheets.googleapis.com
)。 -
共享表 格:将 Google Sheet 与你的服务帐户的电子邮件地址(
your-service-account@project-name.iam.gserviceaccount.com
)共享,至少需要查看权限。 -
配置环境:将
GOOGLE_APPLICATION_CREDENTIALS
环境变量设置为 JSON 密钥文件的路径:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-file.json"
- 更新 YAML 配置:使用与未认证访问相同的 URL 格式,但系统将自动使用认证方法访问表格:
tests: https://docs.google.com/spreadsheets/d/1eqFnv1vzkPvS7zG-mYsqNDwOzvSaiIAsKB3zKg9H18c/edit?usp=sharing
使用自定义提供程序进行模型评分指标
在使用 Google Sheets 进行测试用例时,你仍然可以使用自定义提供程序进行模型评分指标,如 llm-rubric
或 similar
。为此,通过在配置中添加 defaultTest
属性来覆盖默认的 LLM 评分器:
prompts:
- prompt1.txt
- prompt2.txt
providers:
- anthropic:messages:claude-3-5-sonnet-20240620
- openai:chat:gpt-4o-mini
tests: https://docs.google.com/spreadsheets/d/1eqFnv1vzkPvS7zG-mYsqNDwOzvSaiIAsKB3zKg9H18c/edit?usp=sharing
defaultTest:
options:
provider:
text:
id: ollama:llama3.1:70b
embedding:
id: ollama:embeddings:mxbai-embed-large
有关覆盖 LLM 评分器的更多信息,请参阅模型评分指标文档。
将输出写入 Google Sheet
outputPath
参数(在命令行中为 --output
或 -o
)支持 Google Sheets URL。为了写入,必须使用具有写入权限的服务帐户配置默认应用程序凭据。
prompts:
- ...
providers:
- ...
tests:
- ...
outputPath: https://docs.google.com/spreadsheets/d/1eqFnv1vzkPvS7zG-mYsqNDwOzvSaiIAsKB3zKg9H18c/edit?usp=sharing