- ✓
开源(MIT 许可证)
- ✓
静态与离线命令行界面
- ✓
零运行时依赖
SchemaFit
用于大语言模型结构化输出模式的CI代码检查工具
SchemaFit 是什么?
SchemaFit 是一款基于 MIT 协议开源的 CI 代码检查工具,专为大语言模型结构化输出 Schema 设计。它能在运行前针对不同提供商的约束检查 JSON Schema、工具定义和响应格式规范,捕获不支持的关键字、嵌套问题、必填项不匹配等问题,帮助团队在 PR 阶段就拦截问题,避免生产环境调用出错,同时保障多模型(OpenAI、Anthropic、Gemini、Mistral、Cohere)间的可移植性。
产品详细介绍
用于大语言模型结构化输出模式的CI代码检查工具
SchemaFit 是一款基于 MIT 协议开源的 CI 代码检查工具,专为大语言模型结构化输出 Schema 设计。它能在运行前针对不同提供商的约束检查 JSON Schema、工具定义和响应格式规范,捕获不支持的关键字、嵌套问题、必填项不匹配等问题,帮助团队在 PR 阶段就拦截问题,避免生产环境调用出错,同时保障多模型(OpenAI、Anthropic、Gemini、Mistral、Cohere)间的可移植性。
定价方案
有免费方案创始人评论
一个 schema 既可以是合法的 JSON Schema,也能通过本地检查,但在到达 LLM 提供商 API 后仍然会失败。
问题在于,适配提供商的结构化输出并不等同于通用 schema 有效性。OpenAI、Anthropic、Gemini、Mistral、Cohere 等 API 在支持的关键字、嵌套、对象结构、必填字段和可移植性方面都有不同的约束。
我想要的工作流很简单:
1. 定义 schema
2. 在运行前检查
3. 提前捕获提供商特定的失败
4. 在 CI/预检阶段就报错,而不是等到生产调用时才出问题
SchemaFit 是我为让结构化输出 schema 更符合生产契约所做的尝试。
它并不打算取代 Instructor、BAML、LiteLLM、Vercel AI SDK、Pydantic 或 Zod 这类框架。这些都是运行时/客户端/框架层工具。SchemaFit 定位是在模型调用前作为静态兼容性检查关卡。
我还从教程、agent 框架和 MCP 服务器中选取了 50 个公开的结构化输出/工具 schema 进行了测试。50 个中有 44 个会被至少一家主流提供商的约束拒绝,只有 3 个通过了全部五家提供商的配置检查。这就是为什么我认为它应该放在 CI 中,而不是留到运行时调试。
基准测试:
https://github.com/OrionArchitekton/schemafit/tree/main/benchmarks
GitHub 仓库:
https://github.com/OrionArchitekton/schemafit
我很想听听其他人目前是如何处理这个问题的:
你们是在运行前验证结构化输出 schema,还是大多在提供商 API 拒绝时才发现问题?
创始团队
官网信息
针对 OpenAI、Anthropic、Gemini、Mistral 和 Cohere 校验你的大语言模型结构化输出与 JSON schema——在生产环境出现 400 错误之前,就让 CI 提前失败。