DeepSeek 出了个新接口(Responses API),里面自带联网搜索。你只要在代码里加一行配置,模型遇到不会的问题就会自己去搜网页,搜完把答案整理给你——不用你再单独接搜索服务。
- 联网搜索是白送的:传一个 tools=[{"type": "web_search"}] 参数就开了,搜索由 DeepSeek 服务器执行,你啥都不用管
- 目前只有 deepseek-v4-flash 能用,v4-pro 官方说 2026 年 8 月初支持
- 这个接口不记聊天记录(无状态);流式输出结束时没有 data: [DONE],而是发 response.completed 这类事件
- 传了不认识的参数不会报错、自动忽略,所以以前用 OpenAI 客户端写的代码,换个网址就能直接用
一、这是啥?跟我熟悉的 Chat API 有啥不一样?
你以前用的应该是 Chat Completions API(messages 那种)。新出的 Responses API 是另一套格式,主要区别:
| | |
|---|
| | input + instructions(更简单) |
| | |
| | |
| | |
一句话:如果你主要想要"模型+搜索"这个组合,Responses API 是更省事的路径。
二、怎么开搜索?就一行
tool_choice 是"什么时候搜"的开关:
| |
|---|
| |
| |
| |
| 指定就用网页搜索(另一种写法 {"type": "web_search_2025_08_26"}) |
官方还提醒:search_context_size、user_location 这两个参数传了也不生效,别指望它能按地区搜。
三、有哪些坑要注意?(限制清单)
官方原话:"Responses API 目前仅支持 deepseek-v4-flash 模型",v4-pro 要等 2026 年 8 月初。
| |
|---|
| |
| file_search、code_interpreter、mcp 等统统忽略,别指望 |
| 只认 {"type": "custom", "name": "apply_patch"}(给 Codex 用的),别的名字直接报 400 |
| 不保存,store 永远是 false,多轮对话得自己把历史拼进 input |
| |
| |
好消息:不认识的参数会被静默忽略、不报错。所以 OpenAI 的 Responses 客户端改个 base_url 就能连 DeepSeek,接入成本很低。
四、流式输出:能看到"它正在搜索"
想实时看到过程的话,用流式(stream=True),模型搜索时你会收到 web_search_call 系列事件:
记住:没有 data: [DONE],判断结束就看 response.completed / incomplete / failed 三个事件。
五、实战:把"自动搜索排障"接进你的测试框架
这就是你的场景:测试框架里,v4-flash 遇到搞不定的编码/环境问题,以前只能干瞪眼或人工查;开了搜索后,它能自己上网找官方资料,给出能直接复制的解决办法。
这么做的好处:
- 不卡壳:模型不会的实时问题(框架版本差异、平台差异),搜索直接补上知识盲区
- 不用自己搭搜索:搜索、整理、塞上下文全在服务器完成,auto 模式下它按需搜,还省 token
要留个心眼:接口不记聊天记录,多轮对话要自己拼历史;search_context_size、user_location 不生效,别靠它们做地区化搜索。