Claude、GPT、Gemini 与 DeepSeek 已支持统一接入立即体验

开发指南

AI API Function Calling 与工具调用指南

Function Calling 让模型选择预先声明的工具并生成参数,但真正的代码执行、权限检查和结果回传仍由应用服务端负责。

更新于 Modb API 技术指南

工具调用是一个多步骤循环

应用先发送工具名称、用途和 JSON 参数结构;模型返回工具调用意图;服务端验证参数并执行允许的函数;最后把工具结果作为新消息回传给模型生成答复。

模型输出只是待验证的数据,不是可信命令。工具名称必须来自服务端白名单,参数必须经过类型、范围和权限校验。

  • 声明工具 Schema
  • 接收工具调用
  • 校验权限与参数
  • 执行并回传结果

保持工具定义清晰且范围有限

工具说明应明确何时使用、必填字段和限制条件。参数结构越模糊,模型越容易选择错误字段或产生无法执行的值。一次提供过多相似工具也会降低选择稳定性。

涉及删除、支付、发布、权限变更或外部消息的工具必须在执行前增加业务确认,不能因为模型返回调用就直接完成高风险操作。

{
  "type": "function",
  "function": {
    "name": "get_order_status",
    "description": "查询当前用户有权访问的订单状态",
    "parameters": {
      "type": "object",
      "properties": {"order_id": {"type": "string"}},
      "required": ["order_id"],
      "additionalProperties": false
    }
  }
}

处理重复调用和失败结果

为有副作用的工具设计幂等键,记录调用标识和执行状态。网络重试、模型再次请求或用户重复提交都不应造成重复扣款、重复发信或重复创建资源。

工具失败时返回结构化、可理解但不包含内部敏感信息的错误。限制最大工具循环次数,避免模型在无法解决的问题上持续调用。

常见问题

关于AI API Function Calling 与工具调用的常见问题

模型会直接执行函数吗?

不会。模型生成调用意图和参数,应用服务端负责校验、授权和实际执行。

工具参数可以直接信任吗?

不可以。必须像处理外部用户输入一样校验类型、范围、权限和业务状态。

如何避免重复外部操作?

为有副作用的工具使用幂等键、状态记录和执行前确认,并限制重试与循环次数。

开始使用 Modb API

创建项目密钥,通过统一接口调用你需要的 AI 模型。