promptfoo/promptfoo-python

GitHub: promptfoo/promptfoo-python

Python 封装器将 promptfoo 的 LLM 测试与红队能力封装为本地可用工具,解决安全评估与 CI/CD 集成中的可靠性与隐私问题。

Stars: 2 | Forks: 2

# Promptfoo:LLM 评估与红队测试

PyPI version Python versions npm downloads MIT license Discord

promptfoo 是一个开发者友好的本地工具,用于测试 LLM 应用程序。停止试错式开发方式——开始交付安全、可靠的 AI 应用。

官网 · 快速开始 · 红队测试 · 文档 · Discord

## 安装 ### 系统要求 - **Python 3.9+**(本封装器所需) - **Node.js 20+**(运行 promptfoo 所必需) ### 从 PyPI 安装 ``` pip install promptfoo ``` ### 替代方案:使用 npx(推荐) 如果你已安装 Node.js,可以跳过封装器,直接使用 npx: ``` npx promptfoo@latest init npx promptfoo@latest eval ``` 这种方式更快,并能直接访问最新版本。 ## 快速开始 ``` # 安装 pip install promptfoo # 初始化项目 promptfoo init # 运行您的第一个评估 promptfoo eval ``` 请参阅[快速开始(评估)](https://www.promptfoo.dev/docs/getting-started/)或[红队测试(漏洞扫描)](https://www.promptfoo.dev/docs/red-team/)获取更多信息。 ## Promptfoo 能做什么? - 使用[自动化评估](https://www.promptfoo.dev/docs/getting-started/)测试提示词与模型 - 使用[红队测试](https://www.promptfoo.dev/docs/red-team/)和漏洞扫描保护你的 LLM 应用 - 并排比较模型(OpenAI、Anthropic、Azure、Bedrock、Ollama 等[更多](https://www.promptfoo.dev/docs/providers/)) - 在[CI/CD](https://www.promptfoo.dev/docs/integrations/ci-cd/)中自动执行检查 - 使用[代码扫描](https://www.promptfoo.dev/docs/code-scanning/)审查与 LLM 相关的安全与合规问题 - 与团队共享结果 以下是实际运行效果: ![提示词评估矩阵 - 网页查看器](https://www.promptfoo.dev/img/claude-vs-gpt-example@2x.png) 它也支持命令行操作: ![提示词评估矩阵 - 命令行](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e34fe46972063338.gif) 它还可以生成[安全漏洞报告](https://www.promptfoo.dev/docs/red-team/): ![生成式 AI 红队测试](https://www.promptfoo.dev/img/riskreport-1@2x.png) ## 为何选择 Promptfoo? - 🚀 **开发者优先**:快速启动,支持热重载和缓存 - 🔒 **私有安全**:LLM 评估在本地 100% 运行,你的提示词不会离开你的设备 - 🔧 **灵活兼容**:适用于任意 LLM API 或编程语言 - 💪 **生产验证**:已在生产环境中支持服务超过 1000 万用户 - 📊 **数据驱动**:基于指标而非直觉做决策 - 🤝 **开源社区**:采用 MIT 许可,拥有活跃社区 ## 本封装器如何工作 该 Python 封装器会: 1. 检查是否安装了 Node.js 2. 执行 `npx promptfoo@latest <你的参数>`(或使用全局安装的 promptfoo) 3. 透传所有参数和环境变量 4. 返回相同的退出码 实际的 promptfoo 逻辑通过 npm 上的官方 TypeScript 包运行,所有功能和命令保持完全一致。 ## Python 特定用法 ### 使用 pip ``` pip install promptfoo promptfoo eval ``` ### 使用 poetry ``` poetry add --group dev promptfoo poetry run promptfoo eval ``` ### 使用 requirements.txt ``` echo "promptfoo" >> requirements.txt pip install -r requirements.txt promptfoo eval ``` ### 在 CI/CD 中(GitHub Actions 示例) ``` - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "20" - name: Install promptfoo run: pip install promptfoo - name: Run red team tests run: promptfoo redteam run ``` ## 了解更多 - 📚 [完整文档](https://www.promptfoo.dev/docs/intro/) - 🔐 [红队测试指南](https://www.promptfoo.dev/docs/red-team/) - 🎯 [快速开始指南](https://www.promptfoo.dev/docs/getting-started/) - 💻 [CLI 用法](https://www.promptfoo.dev/docs/usage/command-line/) - 📦 [主项目(npm)](https://github.com/promptfoo/promptfoo) - 🤖 [支持模型](https://www.promptfoo.dev/docs/providers/) - 🔬 [代码扫描指南](https://www.promptfoo.dev/docs/code-scanning/) ## 故障排除 ### “ERROR: promptfoo requires Node.js” 本封装器需要 Node.js 才能运行。请安装: - **macOS**:`brew install node` - **Ubuntu/Debian**:`sudo apt install nodejs npm` - **Windows**:从 [nodejs.org](https://nodejs.org/) 下载 - **任意系统**:使用 [nvm](https://github.com/nvm-sh/nvm) ### 首次运行缓慢 首次运行 `promptfoo` 时,npx 会从 npm 下载最新版本(通常约 50MB)。后续运行使用缓存版本,速度更快。 若想加速,可以全局安装 promptfoo: ``` npm install -g promptfoo ``` Python 封装器在可用时会自动使用全局安装。 ### 版本锁定 默认情况下,封装器使用 `npx promptfoo@latest`。如需锁定特定版本: ``` export PROMPTFOO_VERSION=0.95.0 promptfoo --version ``` 或全局安装特定版本: ``` npm install -g promptfoo@0.95.0 ``` ### 遥测 本封装器会收集匿名使用遥测数据以帮助改进软件包,方式与主 promptfoo 项目保持一致。 **收集内容:** 随机匿名用户 ID、封装器版本、Python 版本、是否运行在 CI 中。如果之前登录过 promptfoo 且邮箱存储在 `~/.promptfoo/promptfoo.yaml` 中,也会一并发送。 **退出遥测:** ``` export PROMPTFOO_DISABLE_TELEMETRY=1 ``` ## 许可证 MIT 许可证——与 promptfoo 相同
标签:GNU通用公共许可证, LLM测试, LNA, MITM代理, Node.js, pocsuite3, Promptfoo, PyPI, Python3.9, Python包装器, Web测试工具, 二进制发布, 人工智能安全, 反取证, 合规性, 威胁情报, 安全评估, 对抗性测试, 开发者工具, 开源工具, 提示注入测试, 暗色界面, 本地工具, 软件测试, 逆向工具