当前国际主流大模型api联网搜索能力分析

llm

  • ChatGPT (OpenAI)、Gemini(Google)和 Claude(Anthropic)已正式在 API 层面内置联网搜索,均以「服务器端检索工具」的形式提供,调用简单、自动返回带引用的实时内容。
  • DeepSeek-R1 提供了“enable_search”参数,但目前仅在阿里云 LLM API 网关及 OpenSearch 场景下生效,属区域/版本受限的公测能力
  • 字节跳动豆包与通义千问暂未在通用 chat-completions API 中开放官方搜索工具,只能通过 Ark 插件(豆包)或“官网工作流/网页端工具链”(千问)调用,SDK/HTTP 原生接口仍需自行接入外部搜索 API。
  • 各家计费方式差异明显——OpenAI 与 Anthropic按「搜索调用生成 token」双计费,Google 采用「$35/千次检索」单独计价,DeepSeek 在 Quark Search 通道内暂免单独收费。
  • 功能最细致的是 Claude:可限制 max_uses、白名单/黑名单域名、本地化 user_location,并支持多轮渐进检索;Gemini 则允许动态阈值 retrieval_threshold 控制是否检索;OpenAI 提供 search_context_size 选项平衡质量-费用。

各模型联网搜索能力横向对比

模型是否内置搜索启用方式 / 关键参数返回格式 & 引用计费策略主要限制与备注
DeepSeek-R1限定公测enable_search:true(仅 deepseek-r1,需在阿里云 LLM API / OpenSearch 调用)摘要+URL暂随深度求索 token 计价,无单独检索费依赖夸克搜索,国内可用;其他 DeepSeek 系列暂不支持
豆包 Doubao无通用接口在火山方舟 bot/应用 配置“联网插件”,API 侧收到结构化结果 JSON自行拼接与推理 token 同价;插件流量日 1000 次免费仅 Ark 平台可用;OpenAI 兼容 / 直接 REST 暂无法 enable_search
通义千问 Qwen无通用接口DashScope 网页“工具链”带搜索;API 未开放摘要+URLN/A用户需自行 RAG 或 Bing/Brave API + 函数调用
ChatGPT (OpenAI)a) Chat Completions 选 gpt-4o-search-preview 并可传 web_search_options;b) Responses API 在 tools 数组加入 {"type":"web_search_preview"}内联引用 url_citation搜索费计入模型定价 (22.5/10 美元每百万 tokens),不同 context_size 成本阶梯7仅 4o 系列;β阶段,部分 API 参数不支持6
Gemini (Google)tools:[{"google_search":{}}],可在 client.models.generate_content 或 Vertex AI Chat Completions 使用内联链接+Search Suggestions$35 / 1000 次检索,token 另计动态检索阈值 retrieval_threshold;可与多达 10 个检索源混用
Claude 3.xtools:[{"type":"web_search_20250305","name":"web_search","max_uses":N,...}]强制返回出处;可设 allowed_domains / blocked_domains / user_location$10 / 1000 次检索+模型 tokenClaude 3.7 Sonnet、3.5 系列及 4 Opus 支持;默认迭代检索,可限定 max_uses

逐模型解析

1. DeepSeek

DeepSeek 在阿里云 LLM API 控制台可对 deepseek-r1 打开「联网搜索」插件。调用时在请求体设置

"enable_search": true

即可由后台调用夸克搜索返回摘要片段并拼接到上下文中,并在消息尾部给出简短 URL 引用。功能尚属公测,尚未向 DeepSeek-V3/V2 等其他型号开放。

2. 豆包(Doubao)

火山引擎 Ark 支持为 bot/工作流挂载「联网插件」,返回结构定义见官方文档(site_name/summary/url 等字段)。插件实际调用字节系搜索(含抖音百科、字节搜索等),但 OpenAI 兼容 chat/completions 接口暂无 enable_search 字段,需通过 Ark 流程或自行集成外部搜索源。

3. 通义千问(Qwen)

DashScope 网页版已将千问同「联网搜索、网页解析」打包,但 SDK / HTTP API 暂未暴露对应参数。开发者通常采用 函数调用+Bing/Brave SERP API 实现检索再回写上下文。阿里云 OpenSearch 最近只对 DeepSeek-R1 试点,千问暂未列入。

4. ChatGPT / OpenAI

  • 两条调用路径
  1. Chat Completions 直接选 gpt-4o-search-preview / gpt-4o-mini-search-preview,可附 web_search_optionssearch_context_size/user_location 等)。
  2. Responses API 任意模型 + tools:[{"type":"web_search_preview"}] 在需要时自动检索6
  • 输出url_citation 嵌入文本并在 annotations 带完整 URL。
  • 计价 检索使用独立模型,token 价格略高;不同 search_context_size 影响费用7。

5. Gemini

在 Gemini Developer API 或 Vertex AI 调用时加入

"tools": [{"google_search":{}}]

即可启用 Grounding with Google Search,Google 在后台完成查询、去重、排序,并返回带来源链接的答案。

可通过 dynamic_retrieval.rerank_threshold(AI Studio UI)或 SDK retrieval_threshold 精细控制是否检索;user_location 自动影响本地化结果。付费层面按检索请求计价 $35/千次。

6. Claude

"type":"web_search_20250305" 工具加入 tools 字段并指定 max_uses 即可;Claude 会自行决定查询词、迭代多次并生成带引用结果。
高级控制:

  • 域名过滤 allowed_domains / blocked_domains
  • 地域 user_location
  • 迭代深度 max_uses——超限将触发 max_uses_exceeded 错误1
    费用 $10/千次检索+模型 token,现已覆盖 Claude 4 Opus、3.7 Sonnet、3.5 Haiku/Sonnet。

选型建议

  1. 立即用到“官方级”实时信息:首选 Gemini(质量+全球检索覆盖)或 Claude(引用控制粒度高),若已有 OpenAI 生态则可用 GPT-4o-search-preview 快速接入。
  2. 团队在国内落地、需备案合规:DeepSeek-R1 的 Quark Search 通道是现阶段可公测的选择;豆包目前需通过 Ark 插件使用;千问则建议结合自建 RAG。
  3. 要严格限定信息源或减少幻觉:Claude 的域名黑白名单和 max_uses 能提供最强可控性。
  4. 成本敏感且查询量大:把检索放在自身后端,用 SERP API+函数调用让任意模型阅读搜索结果,可完全避开平台搜索费。

参考代码片段

# OpenAI Responses API 调用内置检索
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
    model="gpt-4o",
    tools=[{"type":"web_search_preview", "search_context_size":"low"}],
    input="最新 GPT-4o 模型的价格是多少?"
)
print(resp.output_text)
# Gemini Developer API 调用 Google Search Grounding
from google import genai
cli = genai.Client()
resp = cli.models.generate_content(
    model="gemini-2.5-flash",
    contents="今年奥运会乒乓球男单冠军是谁?",
    config=genai.types.GenerateContentConfig(
        tools=[{"google_search":{}}],
    )
)
print(resp.text)
# Claude 3.7 Sonnet 启用 web_search,限制最多 2 次查询
import anthropic, os, json
client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
msg = client.messages.create(
    model="claude-3-7-sonnet-20250219",
    max_tokens=1024,
    tools=[{
       "type":"web_search_20250305",
       "name":"web_search",
       "max_uses":2,
       "allowed_domains":["bbc.com","reuters.com"]
    }],
    messages=[{"role":"user","content":"请给出最近一次英国基准利率决议要点"}]
)
print(json.dumps(msg,indent=2))

总结:真正原生、开箱即用的“联网搜索”目前仅存在于 OpenAI GPT-4o 系列、Google Gemini、Anthropic Claude 以及小范围公测的 DeepSeek-R1。其他(豆包、通义千问等)仍需插件或外部搜索 API 配合。选择时应综合考虑调用简易度、引用透明度、费用及监管合规,并预留 fallback 方案(自建 RAG 或函数调用)以应对服务变动。

zh_CNChinese