DevToolkit

LLM Function Calling Schema 生成器

可视化构建 LLM 工具调用 schema,一键导出 OpenAI / Anthropic / Zod / TypeScript

更多格式即将支持(Gemini / Vercel AI / Pydantic)

参数(2)

{
  "type": "function",
  "function": {
    "name": "get_weather",
    "description": "Fetch current weather for a city",
    "parameters": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "description": "City name"
        },
        "unit": {
          "type": "string",
          "description": "Temperature unit",
          "enum": [
            "celsius",
            "fahrenheit"
          ]
        }
      },
      "required": [
        "city"
      ]
    }
  }
}

常见问题

Function Calling / Tool Use 是什么?

新一代 LLM(GPT-4.1、Claude Opus 4.7、Gemini 2.5)能返回结构化 JSON 调用你定义的函数,如 `get_weather({"city": "Tokyo"})`,而不只是纯文本。你用 JSON Schema 描述函数的参数结构,模型自主决定何时调用。它是 tools、agent、MCP 能力的底座。

能导出成哪些格式?

- **OpenAI tools**(`tools: [{type: "function", function: {...}}]`)——Chat Completions / Responses API - **Anthropic tools**(`tools: [{name, description, input_schema}]`)——Claude Messages API - **Zod**——TypeScript 后端的运行时校验 - **TypeScript interface**——在代码里给解析后的工具参数加类型 一份源真实数据、四种输出,保证模型规范和校验代码永远一致。

能导入已有 schema 吗?

可以。粘贴 JSON Schema、OpenAI `tools` 数组或 Anthropic tools 段都能反向填充可视化编辑器。支持双向往返——可以把历史 schema 导入清洗后,按新后端需要的格式再导出。

为什么要可视化构建,不直接手写 JSON?

JSON Schema 结构冗长——`type`、`properties`、`required`、`enum`、`items` 很容易嵌套 5 层以上。常见错误:漏写 `required`、`enum` 挂错层级、描述不一致。可视化编辑器会维护不变式(required ⊂ properties),并实时展示生成的 JSON,让你边做边熟悉 schema 结构。

OpenAI 和 Anthropic 两种格式到底差在哪?

结构非常接近:OpenAI 用 `{type: "function", function: {...}}` 把函数包一层,Anthropic 直接 `{name, description, input_schema}`。参数 schema 本身都是 JSON Schema。本工具自动处理包/拆层,换 provider 只需切换导出格式,不用手动重写。

schema 会被上传吗?

不会。构建器完全运行在客户端——schema、导入内容、生成代码都留在浏览器里。内部工具或面向客户的函数可以放心在这里设计。

相关工具