跳转到主要内容
Toolcall(或叫 Function Calling)是阶跃星辰开放平台提供的一项高级功能,它使模型能够根据用户的需求,智能地选择并调用合适的外部工具或函数来完成特定的任务。通过 Toolcall API,开发者可以扩展模型的能力,使其能够处理更广泛的应用场景,并提供更丰富的功能和服务。下面是一个简单的工具调用的请求 JSON 例子, 在这个对象中,必须包含三个关键参数:

model,模型名称

以下模型支持工具调用,推荐优先使用第一档: 推荐
  • step-3.7-flashstep-3.5-flashstep-3.5-flash-2603
仅 Step Plan 通道 其他兼容
  • step-1o-turbo-vision

官方工具列表

以下是由阶跃星辰支持的官方工具,仅需配置即可实现相关能力:
  • 互联网搜索:调用搜索引擎,获取互联网上的最新信息。
  • 知识库搜索:上传文本到知识库中,并完成对知识库内容的搜索,帮助大模型消除幻觉

tools,工具函数列表

通过 tools 参数告知模型本地支持的函数列表。每个成员对象包含 typefunction 两个字段:type 当前仅支持 functionfunction 对象包含 namedescriptionparameters。函数数量建议控制在合理规模,过多的函数定义会消耗较多 prompt token,并可能降低模型的命中准确率。
  • name(函数名称):建议使用英文字母、数字、下划线与连字符,遵循正则 ^[a-zA-Z_][a-zA-Z0-9_-]{0,63}$,长度不超过 64 字符。使用语义化的英文名更易被模型识别。
  • description(功能介绍):支持中英文,用于告诉模型此函数的用途与适用场景,便于模型判断何时调用。描述越清晰,模型命中越准确。
  • parameters(参数定义):根节点 type 必须为 objectproperties 内每个字段按 JSON Schema 规范描述其 typedescription。若参数必填,请在 required 数组中列出。

messages,上下文消息体

请求消息体结构参考 Chat Completion 请求参数。当模型返回 tool_calls 后,开发者在本地执行对应函数,再通过 role: "tool" 的消息(携带 tool_call_id)将结果回传至下一轮请求,模型据此生成最终回答。

示例