使用 Zod schema 和 OpenAI Node SDK 或 Vercel AI SDK 的开发者可能会遇到问题,即自定义验证规则(特别是使用 `.refine()` 定义的规则)未传递给语言模型。这是因为这些 SDK 使用的 `z.toJSONSchema()` 函数会将 Zod schema 转换为 JSON Schema 格式,但会省略 `.refine()` 检查,将其视为标准 JSON Schema 不支持的自定义规则。因此,模型只接收到基本的 schema 结构,而 `.refine()` 中定义的任何验证逻辑仅在模型响应接收后应用,而不是在生成过程中。 AI
影响 使用 Zod 和 AI SDK 的开发者需要注意,自定义验证规则不会传递给模型,这可能会导致意外行为。
排序理由 该条目讨论了特定 SDK 如何处理 Zod schema 的技术限制,影响了开发者的工作流程。
- AI in TypeScript
- AI That Answers
- Claude Code
- Hermes IDE
- JSON Schema
- OpenAI Node SDK
- Vercel AI SDK
- Zod
- z.toJSONSchema
AI 生成摘要 · Google Gemini · 来自 1 个来源。 我们如何撰写摘要 →