Skip to main content
需要让模型回答时效性问题时,请先检索公开网页,再把结果交给对话模型。推荐使用独立的网页搜索接口。该接口与选用哪个聊天模型无关。
step-5-preview 不支持在 Chat Completions 的 tools 中传入 type: "web_search"。请调用 POST https://api.stepfun.com/v1/search,再将检索结果写入 messages 后调用模型。

推荐:网页搜索 API

请求地址: POST https://api.stepfun.com/v1/search 完整参数、场景分类和响应字段见 网页搜索 API。

检索示例

把检索结果交给模型

下面示例先搜索,再把标题、链接和摘要交给 step-5-preview:
也可以把 /v1/search 封装成自定义 type: "function" 工具,由模型决定何时检索。这与内置 web_search 不是同一能力;step-5-preview 支持普通 function calling,详见 工具调用。 在 Claude Code 等 Agent 客户端中,可使用 StepSearch MCP。Realtime 语音会话的内置搜索见 Realtime。

内置 web_search 工具(step-5-preview 不支持)

step-3.7-flash 等仍支持该工具的模型,可以在 Chat Completions 的 tools 中传入 type: "web_search"。搜索完成后,结果会作为上下文交给模型继续推理,并按实际调用次数计费,见 定价说明。step-5-preview 不要使用下面的写法。

启用互联网搜索

如需启用互联网搜索,可以通过在调用 API 时,传入 tools 定义来使用,具体定义如下:
互联网搜索工具的 type 固定为 web_search,并支持通过 function.description 来描述需要使用搜索的场景,用于指引大模型判断是否需要调用互联网搜索搜索相关信息。在完成搜索后,会以上下文的方式,插入到对话中,并交给大模型进行推理。互联网搜索工具按实际调用的次数计费,具体计费可见定价说明。

实现步骤 & 参考代码

以下示例仅适用于仍支持内置 web_search 的模型。如开发者有自己的搜索渠道,也可以通过普通 function calling 自行接入。
返回结果
  • 返回结果中的 tool_calls.function.results 当中包含的是搜索引擎返回的信息,您可以基于此渲染 UI。

常见用法

输出使用到的链接

在展示生成结果时,如果希望展示所使用的 Web 链接,则可以要求大模型在返回时,返回所使用的链接,并通过返回的 tool_calls 的 results 来获取到对应链接的基础信息,并渲染给用户。

注意事项

  • 在使用流式输出时,将会在返回的第一个 chunk 中带上搜索引擎的结果。您可以使用第一个 chunk 来渲染 UI。
  • 在使用大模型推理时,您需要写清楚 System Prompt 和 Tool 的 description,以便大模型能够正确理解您的需求,调用互联网搜索。
  • 目前在实际调用互联网搜索时,会先进行意图判断,评估是否需要调用互联网搜索,并不会对每一次调用都使用互联网搜索。