pezzo
开源 LLMOps 平台:Prompt 版本管理、Token 成本追踪、智能缓存,声称节省 90%
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 LLMOps 平台:Prompt 版本管理、Token 成本追踪、智能缓存,声称节省 90%
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你的团队在三个不同的代码库里分别维护着十几个版本的 GPT Prompt,每次 OpenAI 更新模型或者产品经理改了需求,开发者们就要满世界找分散在各处的 prompt 定义,改完还得靠手写注释记录版本号。更糟糕的是,生产环境出了一个奇怪的 AI 回答问题,你翻遍日志却找不到是哪个 prompt 版本闯的祸。
这就是当前 AI 应用开发中的典型困境——Prompt 管理混乱、版本不可追溯、调用成本不透明、调试困难。Pezzo 正是为解决这些问题而生。
Pezzo 由 Pezzo Labs 团队开发和维护,是一个开源的开发者优先(developer-first)LLMOps 平台。项目托管于 GitHub,采用 Apache-2.0 开源许可证,支持 Hacktoberfest 社区贡献。当前仓库拥有超过 3200 颗 GitHub Stars,获得了 AI 开发工具社区的广泛认可。
项目最早期的定位是一个简单的 Prompt 版本管理工具,随着社区需求的增长,逐步演化为一个涵盖 Prompt 设计、版本管理、即时发布、团队协作、故障排查和可观测性的完整 LLMOps 平台。团队同时维护 Node.js、Python 客户端 SDK,以及 LangChain 集成,覆盖了主流 AI 开发技术栈。
Pezzo 采用 Nx Monorepo 管理整个项目结构,这是一个业界成熟的代码库管理方案,能够统一管理多个相关项目的构建、测试和依赖。
项目核心分为三层架构:
服务端(apps/server):基于 NestJS 框架构建,提供 GraphQL API 接口。NestJS 是 Node.js 生态中最成熟的企业级后端框架之一,提供了模块化的依赖注入和强大的可扩展性。服务端集成了 Prisma ORM 连接 PostgreSQL 数据库,以及 ClickHouse 用于分析型数据存储。
控制台(apps/console):前端 Web 管理界面,基于 Angular 框架开发,提供了 Prompt 编辑、版本查看、调用统计、团队管理等完整的 GUI 操作能力。
代理层(apps/proxy):AI 请求代理层,拦截和转发 LLM API 调用,在这一层实现缓存、计费和监控功能,这是实现成本控制的技术关键。
支撑层使用了多个业界标准的开源基础设施:PostgreSQL 作为主数据库,Redis(通过 Redis Stack)提供缓存和会话管理,ClickHouse 处理大规模调用日志分析,Supertokens 提供开源身份认证方案。整体架构完全云原生,不依赖任何专有云服务。
包管理方面,Node.js 生态使用 npm,共维护了 103 个生产依赖和 76 个开发依赖。代码质量方面,项目配置了 ESLint + Prettier 完整的前端质量流水线。
Pezzo 的核心能力之一是将 Prompt 作为「一等公民」进行管理。开发者可以在控制台中可视化地编写 Prompt,支持变量插值(variable substitution),每次保存自动生成版本号。更关键的是,Prompt 的更新可以即时发布到生产环境,无需重新部署代码。
这一能力通过 Pezzo 的客户端 SDK 实现:应用代码从 Pezzo 服务器拉取 Prompt 内容而非硬编码在源码中。开发者修改 Prompt 后,SDK 会实时获取最新版本,真正实现了 Prompt 迭代与代码部署的解耦。
Pezzo 的代理层(Proxy)会拦截所有流经的 LLM API 请求和响应,记录每次调用的关键指标:Token 消耗量、响应延迟、模型选择、Prompt 版本等。这些数据被存入 ClickHouse,支持秒级查询和大规模聚合分析。
开发者可以通过控制台直观查看 Token 消耗趋势、调用成本分布、最慢请求排名等维度。对于调用量大的 AI 应用,Pezzo 声称可以帮助节省高达 90% 的 Token 成本,主要通过智能缓存(对相同内容的请求直接返回缓存结果)和 Prompt 优化建议实现。
Pezzo 提供了三套官方客户端:
| 客户端 | 语言 | 核心能力 |
|--------|------|----------|
| @pezzo/client | Node.js/TypeScript | Prompt 管理、可观测性、缓存 |
| @pezzo/client-python | Python | 同上 |
| LangChain Integration | 通用 | 通过 LangChain 接口集成 |
Python 客户端的存在使得 Pezzo 可以无缝接入 FastAPI、LangChain Agents 等 Python AI 开发主流技术栈。
Supertokens 提供开源的身份认证,支持多用户体系。团队成员可以在控制台中协作编辑 Prompt,变更历史完整可追溯。
Pezzo 提供了开箱即用的 Docker Compose 部署方案,是本次分析中难得的支持一键部署的复杂全栈项目。docker-compose.yaml 文件定义了完整的服务栈:
pezzo-server:服务端应用,基于 Node.js 18 slim 镜像的多阶段构建
PostgreSQL:主数据库
Redis Stack:缓存与会话管理
ClickHouse:分析型数据库
Supertokens:认证服务
部署流程简洁:准备 .env 配置文件,执行 docker-compose up,访问 http://localhost:4200 进入控制台。生产环境部署则推荐使用独立的 PostgreSQL、Redis 和 ClickHouse 实例,docker-compose 配置中有对应的环境变量覆盖方案。
需要注意的是,完整的本地开发环境还需要 Node.js 18+ 和 dotenv-cli 工具链,但如果你只是想体验或快速验证,使用 Docker Compose 即可,无需任何 Node.js 环境。
尽管 Pezzo 功能全面,仍有几个现实挑战值得关注:
基础设施依赖较重:运行完整功能需要同时维护 PostgreSQL、Redis、ClickHouse、Supertokens 四个外部服务,自托管门槛不低。
目前不支持流式响应(Streaming)追踪:对于 ChatGPT 风格的流式输出场景,观测和计费的实现会更复杂。
Python SDK 成熟度:Python 客户端虽然存在,但功能和文档完备度相比 Node.js 版本还有差距。
LangChain 集成尚未稳定:README 中 LangChain 列有问号标记,表明该集成仍在开发中。
Pezzo 所在的 LLMOps 赛道正在快速扩张。随着大模型 API 调用成本成为 AI 应用的主要支出项,能够精细化管理 Prompt 版本、追踪 Token 消耗、实现智能缓存的工具有着强烈的市场需求。
Pezzo 的差异化在于完全开源、自托管、不绑定云服务商。与 LangSmith、Weights & Biases 等商业平台相比,Pezzo 允许企业将所有数据保留在自己的基础设施中,这对于数据隐私敏感的场景(如医疗、金融)尤为重要。
从 GitHub 趋势来看,llmops、prompt-management、devtools 等 topics 的持续活跃反映出 AI 开发工具链正在走向工程化和专业化。Pezzo 作为这一趋势中的开源代表,为中小团队提供了一条不依赖大厂云服务的自主可控之路。