Skip to main content
工具調用

連網搜尋

大模型的訓練資料存在知識到期日,無法回答即時問題。啟用連網搜尋後,模型可從網路擷取即時資料,準確回答股票價格、天氣預報、最新新聞等時效性問題。

使用方式

連網搜尋支援以下三種API調用方式,啟用參數各有不同:
  • OpenAI 相容-Responses API
  • OpenAI 相容-Chat Completions API
  • DashScope
通過 tools 參數添加 web_search 工具即可啟用連網搜尋。
Responses API 僅支援部分模型,支援的模型請參見Responses API的連網搜尋
# 匯入依賴與建立用戶端...
response = client.responses.create(
    model="qwen3.8-max",
    input="杭州天氣",
    tools=[
        {"type": "web_search"},
        {"type": "web_extractor"},
        {"type": "code_interpreter"}
    ],
    extra_body={"enable_thinking": True}
)

多模態模型的連網搜尋

Qwen3.8 系列、Qwen3.7-Flash、Qwen3.7-Plus、Qwen3.6 系列、Qwen3.5 系列(含 qwen3.5-plus、qwen3.5-flash、qwen3.5-omni 系列與千問開源模型)等模型支援圖片、視頻等多模態輸入,屬於多模態模型。 搜尋策略因系列而異:qwen3.5-omni 系列僅支援 agent 策略;Qwen3.8 系列不支援 agent 策略(使用預設的 turbomax);其餘模型支援 turbomaxagent 策略。這類模型需通過多模態介面multimodal-generation 端點)調用:Python 與 Java 使用 MultiModalConversation,而不能使用面向純文字模型的 Generationtext-generation 端點)。多模態模型的基礎調用方式可參見《視覺推理》《映像與視頻理解》文檔。
若使用 Generationtext-generation 端點)調用上述多模態模型,會返回 400 url error, please check url,請改用 MultiModalConversationmultimodal-generation 端點)。Java SDK 的 MultiModalConversationParam 提供 enableSearch(true) 用於開啟連網搜尋,但未提供 searchOptions() 方法,需通過通用參數 parameter("search_options", ...) 注入搜尋策略等配置;Python 的 MultiModalConversation.call 可直接傳入 search_options。多模態模型開啟連網搜尋時需使用流式調用(Java 使用 streamCall,Python 設定 stream=True),否則會返回 Non-streaming mode does not support Web Search 報錯。
Python
import os
import dashscope
from dashscope import MultiModalConversation
# 以下為新加坡地區配置,調用時請將 {WorkspaceId} 替換為真實的業務空間ID,各地區的配置不同。
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"
responses = MultiModalConversation.call(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 需使用支援連網搜尋的多模態模型
    model="qwen3.5-plus",
    messages=[{"role": "user", "content": [{"text": "杭州今天天氣如何"}]}],
    # 多模態介面可直接傳入 enable_search 與 search_options
    enable_search=True,
    search_options={
        # qwen3.5-omni 系列需設為 agent;Qwen3.8 系列不支援 agent,保持預設即可
        "search_strategy": "agent",
        "enable_source": True,
    },
    # 多模態模型開啟連網搜尋時需使用流式調用
    stream=True,
    incremental_output=True,
)
for response in responses:
    print(response.output.choices[0].message.content)

支援的模型

支援連網搜尋的模型如下。支援多模態輸入的模型(Qwen3.8 系列、Qwen3.7-Flash/Plus、Qwen3.6 系列、Qwen3.5 系列及千問開源模型等)需透過多模態介面調用,參見多模態模型的連網搜尋
  • 新加坡
  • 華北2(北京)
  • 千問
    • Qwen3.8 系列:qwen3.8-max、qwen3.8-max-0902、qwen3.8-flash、qwen3.8-2.4t-a95b、qwen3.8-27b(不支援 agent 策略)
    • Qwen3.7 系列:qwen3.7-max、qwen3.7-max-preview、qwen3.7-max-2026-05-17及之後的快照版本、qwen3.7-plus、qwen3.7-plus-2026-05-26及之後的快照版本、qwen3.7-flash、qwen3.7-flash-2026-07-15及之後的快照版本
    • Qwen3.6 系列:qwen3.6-max-preview、qwen3.6-plus、qwen3.6-plus-2026-04-02及之後的快照版本、qwen3.6-flash、qwen3.6-flash-2026-04-16及之後的快照版本、qwen3.6-27b、qwen3.6-35b-a3b
    • Qwen3.5 系列:qwen3.5-plus、qwen3.5-plus-2026-02-15及之後的快照版本、qwen3.5-flash、qwen3.5-flash-2026-02-23及之後的快照版本、qwen3.5-27b、qwen3.5-35b-a3b、qwen3.5-122b-a10b、qwen3.5-397b-a17b
    • Qwen3-Max:qwen3-max、qwen3-max-2025-09-23及之後的快照版本
    • 千问Omni:qwen3.5-omni-plus、qwen3.5-omni-plus-2026-03-15、qwen3.5-omni-flash、qwen3.5-omni-flash-2026-03-15(搜尋策略需設為 agent
    • 千问Omni-Realtime:qwen3.5-omni-plus-realtime、qwen3.5-omni-plus-realtime-2026-03-15、qwen3.5-omni-flash-realtime、qwen3.5-omni-flash-realtime-2026-03-15(搜尋策略需設為 agent
  • 第三方模型
    • DeepSeek:deepseek-v4-pro、deepseek-v4-pro-0813、deepseek-v4-flash、deepseek-v4-flash-0731、deepseek-v3.2(其中 deepseek-v4 系列同時支援Responses API
    • GLM:glm-5.2(僅支援透過Responses API連網搜尋)
    • Kimi:kimi-k3(僅支援透過Responses API連網搜尋)

快速開始

以下樣本通過連網搜尋查詢股票資訊。
  • OpenAI 相容
  • DashScope
OpenAI 相容協議不支援在響應中返回搜尋來源。
  • Python
  • Node.js
  • curl
import os
from openai import OpenAI

client = OpenAI(
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下為新加坡地區配置,調用時請將 {WorkspaceId} 替換為真實的業務空間ID,各地區的配置不同。
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-plus",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "阿里巴巴股價如何"},
    ],
    extra_body={
        "enable_search": True,
        "search_options": {
            # 連網搜尋策略,僅支援配置為 agent
            "search_strategy": "agent"
        }
    }
)
print(completion.choices[0].message.content)
響應樣本
根據最新的市場資料,阿里巴巴的股價在不同市場表現如下:

*   **美股 (BABA)**:最新股價約為 **159.84 美元**。
*   **港股 (09988.HK)**:最新股價約為 **158.00 港元**。

請注意,股價會即時波動,以上資訊僅供參考。根據最新的市場資料,阿里巴巴的股價在不同市場表現如下:

*   **美股 (BABA)**:最新股價約為 **159.84 美元**。
*   **港股 (09988.HK)**:最新股價約為 **158.00 港元**。

請注意,股價會即時波動,以上資訊僅供參考。

Responses API的連網搜尋

通過 tools 參數的tools數組中添加 web_search 工具即可啟用連網搜尋。
支援以下模型:Qwen3.8、Qwen3.7、Qwen3.5 系列模型(含開源模型,不含Omni)、Qwen3.6-Plus、Qwen3.6-Flash 系列及 qwen3.6-35b-a3b;qwen3-max、qwen3-max-2026-01-23;deepseek-v4-flash、deepseek-v4-flash-0731、deepseek-v4-pro、deepseek-v4-pro-0813;glm-5.2;kimi-k3。
為了獲得最佳回複效果,建議同時開啟 web_searchweb_extractorcode_interpreter 工具。
關於Responses API的使用說明、程式碼範例和遷移指南,請參見 OpenAI相容-Responses
from openai import OpenAI
import os

client = OpenAI(
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下為新加坡地區配置,調用時請將 {WorkspaceId} 替換為真實的業務空間ID,各地區的配置不同。
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)

response = client.responses.create(
    model="qwen3.7-max",
    input="新加坡天氣",
    tools=[
        {"type": "web_search"},
        {"type": "web_extractor"},
        {"type": "code_interpreter"}
    ],
    extra_body={"enable_thinking": True}
)

print("="*20 + "回複內容" + "="*20)
print(response.output_text)

print("="*20 + "工具調用次數" + "="*20)
usage = response.usage
if hasattr(usage, 'x_tools') and usage.x_tools:
    print(f"連網搜尋次數: {usage.x_tools.get('web_search', {}).get('count', 0)}")
# 取消以下注釋查看中間過程的輸出
# for r in response.output:
#     print(r.model_dump_json())

擷取搜尋來源

執行連網搜尋後,搜尋來源會在響應的 output 數組中 typeweb_search_call 的元素內返回,其 action.sources 欄位為搜尋來源連結清單。可在上述樣本的 response 基礎上按如下方式提取:
Responses API 暫不支援 enable_sourceenable_citationcitation_format 參數,不會在回複內容中自動插入 [1] 角標。如需角標標註,請使用 DashScope 調用方式。
# 在上述 response 的基礎上提取搜尋來源
print("=" * 20 + "搜尋來源" + "=" * 20)
for item in response.output:
    if item.type == "web_search_call":
        for i, source in enumerate(item.action.sources, start=1):
            print(f"[{i}] {source.url}")

計費說明

本文所述“連網搜尋”為模型內建的連網搜尋功能,其計費如下方所示,本身不提供免費調用額度。它與百鍊 MCP 廣場提供的“連網搜尋 MCP”服務是相互獨立的兩個功能,計費也相互獨立:連網搜尋 MCP 全部使用者前 2000 次調用免費,免費額度用盡後按 29 元/千次計費,詳情請參見添加連網搜尋MCP
連網搜尋的費用包含兩部分:
  • 模型調用費用:連網搜尋的網頁內容會拼接到提示詞中,增加模型的輸入 Token,按照模型的標準價格計費。價格詳情請參考百鍊控制台。使用 Responses API方式時,連網搜尋工具的計費和agent 策略相同。
  • 搜尋策略費用
    • agent 策略
      • 每調用 1000 次的費用為:
        • 華北2(北京)地區:$0.573411
        • 新加坡地區 $10.00。
    • agent_max 策略(限時優惠): 包含連網搜尋與網頁抓取的費用。
      • 連網搜尋工具每 1000 次調用費用:
        • 華北2(北京)地區:$0.573411。
        • 新加坡地區:$10.00。
      • 網頁抓取工具限時免費。

Q:連網搜尋後模型返回“無法回答”或無響應?

A:連網搜尋結果可能包含管控資訊,觸發Alibaba Content Security Service規則,導致模型返回 DataInspectionFailed 錯誤 (HTTP 400),響應內容為“抱歉,我無法回答這個問題”。排查方法:關閉連網搜尋後重新發送相同查詢,若模型正常回複,則確認是搜尋返回的內容觸發了攔截。Alibaba Content Security Service攔截為非確定性行為,取決於搜尋返回的具體內容,並非所有敏感話題查詢都會觸發。

錯誤資訊

如果執行報錯,請參見錯誤碼進行解決。
Token Plan
模型體驗
用量統計與效能監控
資產中心
服務支援