OpenAI函数调用Schema构建器

可视化构建或校验 OpenAI/Claude tool-use 使用的函数(Function Calling)JSON Schema 定义,支持表单填写生成和粘贴已有schema校验两种模式。

免费在线工具
Loading…

使用说明

表单构建模式:填写函数名(name)、描述(description),再用“+ 添加字段”逐个添加参数(字段名、类型、描述、是否必填),点击“生成 Schema”即可得到标准的 {name, description, parameters} JSON,其中 parameters.type 固定为 object,properties/required 根据你填写的字段自动生成。

粘贴校验模式:切换到该标签页,粘贴一段已有的函数 schema JSON,支持裸格式 {name,description,parameters} 或 OpenAI 新版包裹格式 {type:"function",function:{...}},点击“校验”会检查:name 是否为合法标识符、parameters.type 是否为 object、properties 里每个字段类型是否属于标准 JSON Schema 类型(string/number/integer/boolean/array/object/null)、required 数组里列出的字段名是否都在 properties 中真实存在。两个模式都提供“加载示例数据”按钮。

功能介绍

OpenAI、Claude 等大模型的 Function Calling(工具调用)能力,要求开发者按照 JSON Schema 规范定义函数签名(函数名、描述、参数结构),模型会根据这份 schema 决定何时调用、传什么参数。手写这类 schema 容易出现字段名不合法、参数类型拼写错误、required 引用了不存在的字段等问题,而这些错误往往要实际调用模型 API 才会暴露。

本工具提供两种使用路径:一是通过表单化的方式,不用手写 JSON,填字段名、选类型、勾必填即可自动生成规范的 schema;二是对已经写好的 schema 做静态校验,在字段级别(JSON path)定位问题所在。校验逻辑覆盖了 name 的合法标识符规则、parameters 顶层结构、properties 的类型枚举校验和 required 的一致性检查。

整个过程完全在浏览器本地完成,不会调用任何大模型 API,也不会上传你填写的函数定义内容。

使用场景

为 AI Agent / Function Calling 快速搭建函数定义
不熟悉 JSON Schema 细节时,用表单填写的方式快速生成符合规范的函数定义,减少手写 JSON 出错的概率。
校验已有的 tool-use schema
把从其他项目或文档里复制来的函数 schema 粘贴进来做结构校验,确认可以直接用于 OpenAI/Claude API 调用前先排查格式问题。
排查 Function Calling 不生效的问题
当模型没有按预期调用工具或报 schema 格式错误时,先用本工具校验 schema 本身的结构是否合法,排除配置层面的问题。
学习/教学 JSON Schema 与 Function Calling 规范
通过表单构建直观理解 name/description/parameters/properties/required 之间的对应关系,适合初学者理解 Function Calling 的 schema 结构。

常见问题

生成的 schema 可以直接用在 OpenAI/Claude API 调用里吗?
表单构建生成的是裸格式 {name, description, parameters},这是 Claude tool-use 和 OpenAI 旧版 functions 参数直接使用的格式;如果是 OpenAI 新版 tools 参数,需要自己再包一层 {type:"function", function:{...}},粘贴校验模式已经支持识别这种包裹格式。
支持哪些参数类型?
表单构建的类型下拉框和粘贴校验的类型检查都覆盖标准 JSON Schema 的基础类型:string、number、integer、boolean、array、object,以及校验时额外允许的 null。目前不支持在表单里可视化定义嵌套的 object/array 内部结构,复杂嵌套结构建议直接用粘贴校验模式手写后校验。
校验时报“required 字段未在 properties 中声明”是什么意思?
说明 parameters.required 数组里写了某个字段名,但这个字段名并没有出现在 parameters.properties 里,这是一个常见的手写错误(比如改了字段名却忘记同步改 required),按提示把 required 里对应不上的名字改成 properties 里实际存在的字段名即可。
函数名(name)有什么格式要求?
OpenAI/Claude 要求函数名必须是合法标识符,本工具按此规则校验:只能包含字母、数字、下划线,且不能以数字开头,建议使用蛇形命名(如 get_weather、search_flights)。