智能体与多智能体

promptfoo

promptfoo/promptfoo

一个用于评估、测试和红队测试 LLM 应用、RAG 和 Agent 的开源 CLI 和库。它支持通过声明式配置进行模型并行对比,并支持 CI/CD 集成和漏洞扫描。

★ 23.9K星级
⑂ 2.2KFork 数
479未解决的问题
TypeScript语言
MIT许可证
Q@project.QualityScore编辑评分

项目截图

promptfoo 的截图 promptfoo 的截图

概览

promptfoo 是一款开发者优先的工具,旨在用数据驱动的评估取代试错式的提示工程。它允许开发者在简单的声明式配置文件中定义测试用例,同时对多个 LLM 提供商运行评估,并通过本地 Web 查看器或命令行界面可视化结果。除了功能评估之外,它还包含红队测试和漏洞扫描功能,以帮助保护 AI 应用免受对抗性输入的攻击。该工具 100% 在本地运行评估,确保提示和数据不会离开开发者的机器。它已在生产环境中积极使用,现已加入 OpenAI,但仍保持 MIT 许可和开源。

主要功能

  • 用于 LLM 评估和红队测试的 CLI 和库
  • 用于测试用例和提示的声明式配置
  • 模型并行对比
  • 红队测试、漏洞扫描及报告生成
  • 本地 Web 查看器和命令行输出
  • CI/CD 集成与拉取请求代码扫描
  • 100% 本地执行评估以保障隐私
  • 热重载和缓存以实现快速迭代
  • 支持多种 LLM 提供商和 API

要求、安装和快速入门

通过 npm 全局安装:`npm install -g promptfoo`。或者使用 `brew install promptfoo`、`pip install promptfoo`,或免安装直接运行 `npx promptfoo@latest`。

用法

安装后,运行 `promptfoo init --example getting-started` 来搭建项目。进入示例目录,设置您的 API 密钥(例如 `export OPENAI_API_KEY=sk-abc123`),然后运行 `promptfoo eval` 执行测试,并运行 `promptfoo view` 在本地 Web 查看器中打开结果。

模型兼容性与使用场景

支持跨多个 LLM 提供商的对比,包括 OpenAI、Anthropic、Azure、Bedrock、Ollama 等。提供商文档中提供了受支持模型的完整列表。

许可证与风险说明

在 MIT 许可下授权。该项目现已加入 OpenAI,但仍以相同许可保持开源。

Editorial verification 2026-08-09: repository URL, owner, description, license and repository statistics were reviewed. License metadata: MIT. README was fetched for the channel draft; re-check repository dependencies, releases and model terms before production use.

发布与维护

Not stated in the repository metadata.

Firecrawl

firecrawl/firecrawl

★ 161.1KTypeScript

LangChain

langchain-ai/langchain

★ 143.6KPython

RAGFlow

infiniflow/ragflow

★ 86.7KGo