すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:Web search

最終更新日:Jul 15, 2026

大規模言語モデルのトレーニングデータには知識のカットオフ日があるため、リアルタイムの質問に答えることができません。Web 検索を有効にすると、モデルはリアルタイムのデータを取得し、株価、天気予報、最新ニュースなど、時間的制約のある質問に正確に答えることができます。

使用方法

以下の 3 つの API 呼び出しを使用して Web 検索を有効にできます。それぞれ異なるパラメーターが必要です。

qwen3.7-max などのモデルで Web 検索を行うには、Responses API の Web 検索機能をご利用ください。

OpenAI 互換:Responses API

web_search ツールを tools パラメーターに追加して、Web 検索を有効にします。

Responses API は、Qwen3.7 Max シリーズ、Qwen3.6、Qwen3.5、qwen3-max、および qwen3-max-2026-01-23 モデルのみをサポートします。
# 依存関係をインポートし、クライアントを作成...
response = client.responses.create(
    model="qwen3.7-max",
    input="杭州の天気",
    tools=[
        {"type": "web_search"},
        {"type": "web_extractor"},
        {"type": "code_interpreter"}
    ],
    extra_body={"enable_thinking": True}
)

OpenAI 互換:Chat Completions API

enable_search: true を設定して Web 検索を有効にします。

# 依存関係をインポートし、クライアントを作成...
completion = client.chat.completions.create(
    # Web 検索をサポートするモデルを使用します。
    model="qwen-plus",
    messages=[{"role": "user", "content": "明日の杭州の天気は?"}],
    # enable_search は標準の OpenAI パラメーターではないため、Python SDK を使用する場合は extra_body を介して渡します。Node.js SDK の場合は、トップレベルのパラメーターとして渡します。
    extra_body={"enable_search": True}
)

DashScope

enable_search: true を設定して Web 検索を有効にします。

# 依存関係をインポート...
response = dashscope.Generation.call(
    # DASHSCOPE_API_KEY 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えます (例:api_key="sk-xxx")。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Web 検索をサポートするモデルを使用します。
    model="qwen-plus",
    messages=[{"role": "user", "content": "明日の杭州の天気は?"}],
    # Web 検索を有効にする
    enable_search=True,
    result_format="message"
)

マルチモーダルモデルでの Web 検索

qwen3.5-plus、qwen3.5-flash、および qwen3.5-omni シリーズなどのモデルは、マルチモーダル入力 (画像、動画) を受け入れるマルチモーダルモデルです。これらのモデルは、マルチモーダル API (multimodal-generation エンドポイント) を介して呼び出します。Python と Java の両方で MultiModalConversation を使用し、テキスト専用モデル向けの Generation (text-generation エンドポイント) は使用しないでください。マルチモーダルモデルの呼び出しの基本については、「画像認識」および「画像と動画の理解」のトピックをご参照ください。

上記のマルチモーダルモデルを Generation (text-generation エンドポイント) で呼び出すと、400 url error, please check url が返されます。代わりに MultiModalConversation (multimodal-generation エンドポイント) を使用してください。

Java SDK では、MultiModalConversationParam は Web 検索を有効にするための enableSearch(true) を提供しますが、searchOptions() メソッドは提供しません。検索戦略やその他のオプションは、汎用の parameter("search_options", ...) メソッドを介して注入します。Python では、MultiModalConversation.callsearch_options を直接受け入れます。

マルチモーダルモデルでの Web 検索には、ストリーミング呼び出しが必要です (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"),
    # Web 検索をサポートするマルチモーダルモデルを使用します。
    model="qwen3.5-plus",
    messages=[{"role": "user", "content": [{"text": "今日の杭州の天気は?"}]}],
    # マルチモーダル API は enable_search と search_options を直接受け入れます。
    enable_search=True,
    search_options={
        # マルチモーダルモデルの場合、検索戦略は agent に設定する必要があります。
        "search_strategy": "agent",
        "enable_source": True,
    },
    # マルチモーダルモデルで Web 検索が有効になっている場合、ストリーミングが必要です。
    stream=True,
    incremental_output=True,
)
for response in responses:
    print(response.output.choices[0].message.content)

Java

// dashscope SDK バージョン >= 2.19.0
import java.util.Arrays;
import java.util.Collections;
import io.reactivex.Flowable;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.aigc.generation.SearchOptions;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    // 以下はシンガポールリージョンを使用します。WorkspaceId を実際のワークスペース ID に置き換えてください。構成はリージョンによって異なります。
    static { Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"; }
    public static void main(String[] args) throws Exception {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalMessage userMsg = MultiModalMessage.builder()
                .role(Role.USER.getValue())
                .content(Arrays.asList(Collections.singletonMap("text", "今日の杭州の天気は?")))
                .build();
        SearchOptions searchOptions = SearchOptions.builder()
                // マルチモーダルモデルの場合、検索戦略は agent に設定する必要があります。
                .searchStrategy("agent")
                .enableSource(true)
                .build();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // Web 検索をサポートするマルチモーダルモデルを使用します。
                .model("qwen3.5-plus")
                .messages(Arrays.asList(userMsg))
                // ネイティブメソッド:Web 検索を有効にします。
                .enableSearch(true)
                // MultiModalConversationParam は searchOptions() メソッドを提供しないため、汎用の parameter() メソッドを介して search_options を注入します。
                .parameter("search_options", searchOptions)
                .incrementalOutput(true)
                .build();
        // マルチモーダルモデルで Web 検索が有効になっている場合、ストリーミングが必要です。
        Flowable<MultiModalConversationResult> result = conv.streamCall(param);
        result.blockingForEach(message ->
                System.out.print(message.getOutput().getChoices().get(0).getMessage().getContent()));
    }
}

サポートされるモデル

国際

  • Qwen-Plus

    • Qwen3.7-Plus: qwen3.7-plus、qwen3.7-plus-2026-05-26 以降のスナップショット

    • Qwen3.6-Plus: qwen3.6-plus、qwen3.6-plus-2026-04-02 以降のスナップショット (Responses API のみでサポート)

    • Qwen3.5-Plus: qwen3.5-plus、qwen3.5-plus-2026-02-15 以降のスナップショット

  • Qwen-Flash

    • Qwen3.6-Flash: qwen3.6-flash、qwen3.6-flash-2026-04-16 以降のスナップショット (Responses API のみでサポート)

    • Qwen3.5-Flash: qwen3.5-flash、qwen3.5-flash-2026-02-23 以降のスナップショット

  • Qwen-Max

    • Qwen3.7-Max: qwen3.7-max、qwen3.7-max-preview、qwen3.7-max-2026-05-17 以降のスナップショット (Responses API のみでサポート)

    • Qwen3.6-Max: qwen3.6-max-preview

    • qwen3-max および qwen3-max-2026-01-23

      • ノンシンキングモードでは、検索戦略を agent に設定する必要があります。

      • 思考モードでは、検索戦略を agent または agent_max (Web エクストラクターのサポートを追加) に設定する必要があります。

    • qwen3-max-2025-09-23:検索戦略を agent に設定する必要があります。

  • Qwen-Omni: qwen3.5-omni-plus、qwen3.5-omni-plus-2026-03-15、qwen3.5-omni-flash、qwen3.5-omni-flash-2026-03-15

    検索戦略を agent に設定する必要があります。

  • Qwen-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 に設定する必要があります。

  • ロールプレイング: qwen-plus-character、qwen-flash-character

グローバル

  • Qwen-Max

    • Qwen3.7-Max: qwen3.7-max、qwen3.7-max-2026-05-20 以降のスナップショット (Responses API のみでサポート)

  • Qwen-Plus

    • Qwen3.7-Plus: qwen3.7-plus、qwen3.7-plus-2026-05-26 以降のスナップショット

    • Qwen3.6-Plus: qwen3.6-plus、qwen3.6-plus-2026-04-02 以降のスナップショット (Responses API のみでサポート)

    • Qwen3.5-Plus: qwen3.5-plus、qwen3.5-plus-2026-02-15 以降のスナップショット

  • Qwen-Flash

    • Qwen3.6-Flash: qwen3.6-flash、qwen3.6-flash-2026-04-16 以降のスナップショット (Responses API のみでサポート)

    • Qwen3.5-Flash: qwen3.5-flash、qwen3.5-flash-2026-02-23 以降のスナップショット

上記のモデルは、思考モードとノンシンキングモードの両方で agent および agent_max 検索戦略をサポートします。

中国本土

  • Qwen-Max

    • Qwen3.7-Max: qwen3.7-max、qwen3.7-max-2026-05-20 以降のスナップショット (Responses API のみでサポート)

    • qwen3-max および qwen3-max-2026-01-23

      • ノンシンキングモードでは、検索戦略を agent に設定する必要があります。

      • 思考モードでは、検索戦略を agent または agent_max (Web エクストラクターのサポートを追加) に設定する必要があります。

    • qwen3-max-2025-09-23:検索戦略を agent に設定する必要があります。

  • Qwen-Plus

    • Qwen3.7-Plus: qwen3.7-plus、qwen3.7-plus-2026-05-26 以降のスナップショット

    • Qwen3.6-Plus: qwen3.6-plus、qwen3.6-plus-2026-04-02 以降のスナップショット (Responses API のみでサポート)

    • Qwen3.5-Plus: qwen3.5-plus、qwen3.5-plus-2026-02-15 以降のスナップショット

      agent および agent_max 検索戦略は、思考モードとノンシンキングモードの両方でサポートされています。

  • Qwen-Flash

    • Qwen3.6-Flash: qwen3.6-flash、qwen3.6-flash-2026-04-16 以降のスナップショット (Responses API のみでサポート)

    • Qwen3.5-Flash: qwen3.5-flash、qwen3.5-flash-2026-02-23 以降のスナップショット

  • Qwen-Omni: qwen3.5-omni-plus、qwen3.5-omni-plus-2026-03-15、qwen3.5-omni-flash、qwen3.5-omni-flash-2026-03-15

    検索戦略を agent に設定する必要があります。

  • Qwen-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 に設定する必要があります。

  • ロールプレイング: qwen-plus-character、qwen-flash-character、qwen-flash-character-2026-02-26

クイックスタート

以下の例では、Web 検索を使用して株価情報をクエリする方法を示します。

OpenAI 互換

OpenAI 互換プロトコルは、応答で検索ソースを返すことをサポートしていません。

Python

import os
from openai import OpenAI

client = OpenAI(
    # 環境変数が設定されていない場合は、Model Studio API キーを直接指定します。例:api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下の構成は、アジアパシフィック SE 1 (シンガポール) リージョンのものです。{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": "What is the stock price of Alibaba?"},
    ],
    extra_body={
        "enable_search": True,
        "search_options": {
            # Web 検索戦略を指定します。「agent」のみがサポートされています。
            "search_strategy": "agent"
        }
    }
)
print(completion.choices[0].message.content)
レスポンスの例
According to the latest market data, Alibaba's stock price in different markets is as follows:

*   US Stock (BABA): The latest price is approximately 159.84 USD.
*   Hong Kong Stock (09988.HK): The latest price is approximately 158.00 HKD.

Please note that stock prices fluctuate in real time, and this information is for reference only.

Node.js

import OpenAI from "openai";

const openai = new OpenAI({
    apiKey: process.env.DASHSCOPE_API_KEY,
    // 以下の構成は、アジアパシフィック SE 1 (シンガポール) リージョンのものです。{WorkspaceId} をお使いのワークスペース ID に置き換えてください。構成はリージョンによって異なります。
    baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});

async function main() {
    const completion = await openai.chat.completions.create({
        model: "qwen-plus",
        messages: [
            { role: "user", content: "What is the stock price of Alibaba?" }
        ],
        enable_search: true,
        search_options: {
            // Web 検索戦略を指定します。「agent」のみがサポートされています。
            search_strategy: "agent"
        }
    });
    console.log(completion.choices[0].message.content);
}

main();
レスポンスの例
According to the latest market data, Alibaba's stock price in different markets is as follows:

*   US Stock (BABA): The latest price is approximately 159.84 USD.
*   Hong Kong Stock (09988.HK): The latest price is approximately 158.00 HKD.

Please note that stock prices fluctuate in real time, and this information is for reference only.

curl

# 以下の構成は、アジアパシフィック SE 1 (シンガポール) リージョンのものです。{WorkspaceId} をお使いのワークスペース ID に置き換えてください。構成はリージョンによって異なります。
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-plus",
    "messages": [
        {
            "role": "user", 
            "content": "What is the stock price of Alibaba?"
        }
    ],
    "enable_search": true,
    "search_options": {
        "search_strategy": "agent"
    }
}'

DashScope

DashScope プロトコルは、enable_sourcetrue に設定して、応答に検索ソースを含めることをサポートしています。

Python

import os
import dashscope
# 以下の構成は、アジアパシフィック SE 1 (シンガポール) リージョンのものです。{WorkspaceId} をお使いのワークスペース ID に置き換えてください。構成はリージョンによって異なります。
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"

response = dashscope.Generation.call(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="qwen-plus",
    messages=[{"role": "user", "content": "Alibaba stock price"}],
    enable_search=True,
    search_options={
        # Web 検索戦略。「agent」のみが現在サポートされています。
        "search_strategy": "agent",
        "enable_source": True # 検索ソースを返すかどうかを指定します。
    },
    result_format="message",
)
print("="*20 + "search results" + "="*20)
for web in response.output.search_info["search_results"]:
    print(f"[{web['index']}]: [{web['title']}]({web['url']})")
print("="*20 + "response content" + "="*20)
print(response.output.choices[0].message.content)
レスポンスの例
====================search results====================
[1]: [Alibaba(BABA) Stock Price_Quote_Chart - East Money](https://wap.eastmoney.com/quote/stock/106.BABA.html)
[2]: [Alibaba(BABA)_US Stock Quote_Today's Price & Chart_Sina Finance](https://gu.sina.cn/quotes/us/BABA)
[3]: [Alibaba(BABA) Stock Latest Price, Real-time Chart, Price Analysis & Prediction](https://cn.investing.com/equities/alibaba)
[4]: [Alibaba-W (9988.HK) Stock Price, News, Quote & History - Yahoo Finance](https://hk.finance.yahoo.com/quote/9988.HK/)
[5]: [Alibaba(BABA) Stock Price_Quote_Discussion - Xueqiu](https://xueqiu.com/S/BABA)
[6]: [Alibaba(BABA) Stock Price, Market Cap, Real-time Quote, Chart, Financials - Moomoo](https://www.moomoo.com/hans/stock/BABA-US)
[7]: [Alibaba Group Holding Limited (BABA) Stock Price, News, Quote ...](https://finance.yahoo.com/quote/BABA/)
[8]: [Alibaba - Tencent Securities](https://gu.qq.com/usBABA.N)
[9]: [W(09988) Stock Price, Market Cap, Real-time Quote, Chart, Financials - Alibaba - Moomoo](https://www.moomoo.com/hans/stock/09988-HK)
====================response content====================
According to the latest market data, Alibaba's stock price information is as follows:

*   :
    *   Today's opening price: 160.98 USD
    *   Yesterday's closing price: 160.80 USD
    *   Today's high: 161.19 USD
    *   Today's low: 156.20 USD

*   :
    *   Latest quote is approximately: 158.00 - 158.10 HKD
    *   Today's opening price: 156.50 HKD
    *   Previous trading day's closing price: 162.00 HKD
    *   Today's trading range: 156.30 - 158.40 HKD

Java

import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.SearchOptions;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.common.Role;
import java.util.Arrays;

public class Main {
    // 以下の構成は、アジアパシフィック SE 1 (シンガポール) リージョンのものです。{WorkspaceId} をお使いのワークスペース ID に置き換えてください。構成はリージョンによって異なります。
    static {Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";}
    public static void main(String[] args) {
        Generation gen = new Generation();
        Message userMsg = Message.builder()
                .role(Role.USER.getValue())
                .content("Alibaba's stock price")
                .build();

        SearchOptions searchOptions = SearchOptions.builder()
                // Web 検索戦略を指定します。「agent」のみがサポートされています。
                .searchStrategy("agent")
                // 検索ソースを返すかどうかを指定します。
                .enableSource(true)
                .build();

        GenerationParam param = GenerationParam.builder()
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model("qwen3-max")
                .messages(Arrays.asList(userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .enableSearch(true)
                .searchOptions(searchOptions)
                .build();
        try {
            GenerationResult result = gen.call(param);
            System.out.println("=".repeat(20)+"search results"+"=".repeat(20));
            System.out.println(result.getOutput().getSearchInfo().getSearchResults());
            System.out.println("=".repeat(20)+"response content"+"=".repeat(20));
            System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
        }
    }
}
レスポンスの例
====================search results====================
[SearchInfo.SearchResult(siteName=null, icon=null, index=1, title=Alibaba(BABA) Stock Price_Quote_Chart - East Money, url=https://wap.eastmoney.com/quote/stock/106.BABA.html), SearchInfo.SearchResult(siteName=null, icon=null, index=2, title=Alibaba(BABA)_US Stock Quote_Today's Price & Chart_Sina Finance, url=https://gu.sina.cn/quotes/us/BABA), SearchInfo.SearchResult(siteName=null, icon=null, index=3, title=Alibaba(BABA) Stock Latest Price, Real-time Chart, Price Analysis & Prediction, url=https://cn.investing.com/equities/alibaba), SearchInfo.SearchResult(siteName=null, icon=null, index=4, title=Alibaba(BABA) Stock Price_Quote_Discussion - Xueqiu, url=https://xueqiu.com/S/BABA), SearchInfo.SearchResult(siteName=null, icon=null, index=5, title=Alibaba-W (9988.HK) Stock Price, News, Quote & History - Yahoo Finance, url=https://hk.finance.yahoo.com/quote/9988.HK/), SearchInfo.SearchResult(siteName=null, icon=null, index=6, title=Alibaba(BABA) Stock Price, Market Cap, Real-time Quote, Chart, Financials - Moomoo, url=https://www.moomoo.com/hans/stock/BABA-US), SearchInfo.SearchResult(siteName=null, icon=null, index=7, title=Alibaba Group Holding Limited (BABA) - Yahoo Finance, url=https://finance.yahoo.com/quote/BABA/), SearchInfo.SearchResult(siteName=null, icon=null, index=8, title=Alibaba - Tencent Securities, url=https://gu.qq.com/usBABA.N), SearchInfo.SearchResult(siteName=null, icon=null, index=9, title=W(09988) Stock Price, Market Cap, Real-time Quote, Chart, Financials - Alibaba - Moomoo, url=https://www.moomoo.com/hans/stock/09988-HK)]
====================response content====================
According to the latest market data, the stock price for Alibaba is as follows:

*   : The latest price is approximately .
*   : The latest price is approximately .

Please note that stock prices fluctuate in real time, and this information is for reference only.

curl

# 以下の構成は、アジアパシフィック SE 1 (シンガポール) リージョンのものです。{WorkspaceId} をお使いのワークスペース ID に置き換えてください。構成はリージョンによって異なります。
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-plus",
    "input":{
        "messages":[      
            {
                "role": "user",
                "content": "Alibaba's stock price"
            }
        ]
    },
    "parameters": {
        "enable_search": true,
        "search_options": {
            "search_strategy": "agent",
            "enable_source": true
        },
        "result_format": "message"
    }
}'
レスポンスの例
{
  "output": {
    "choices": [
      {
        "finish_reason": "stop",
        "message": {
          "content": "最新の市場データに基づくと、アリババは米国と香港の両方の証券取引所に上場しているため、株価は異なります。\n\n*   :最新価格は約 です。\n    *   本日の始値:160.98 USD\n    *   本日の価格帯:156.20 - 161.19 USD\n\n*   :最新価格は約 です。\n    *   本日の始値:156.50 HKD\n    *   本日の価格帯:156.30 - 158.40 HKD\n\n株価はリアルタイムで変動するため、この情報は参考用です。",
          "role": "assistant"
        }
      }
    ],
    "search_info": {
      "search_results": [
        {
          "index": 1,
          "title": "Alibaba(BABA) Stock Price_Quote_Chart - East Money",
          "url": "https://wap.eastmoney.com/quote/stock/106.BABA.html"
        },
        {
          "index": 2,
          "title": "Alibaba(BABA)_US Stock Quote_Today's Price & Chart_Sina Finance",
          "url": "https://gu.sina.cn/quotes/us/BABA"
        },
        {
          "index": 3,
          "title": "Alibaba-W (9988.HK) Stock Price, News, Quote & History - Yahoo Finance",
          "url": "https://hk.finance.yahoo.com/quote/9988.HK/"
        },
        {
          "index": 4,
          "title": "Alibaba(BABA) Stock Latest Price, Real-time Chart, Price Analysis & Prediction",
          "url": "https://cn.investing.com/equities/alibaba"
        },
        {
          "index": 5,
          "title": "Alibaba(BABA) Stock Price_Quote_Discussion - Xueqiu",
          "url": "https://xueqiu.com/S/BABA"
        },
        {
          "index": 6,
          "title": "Alibaba(BABA) Stock Price, Market Cap, Real-time Quote, Chart, Financials - Moomoo",
          "url": "https://www.moomoo.com/hans/stock/BABA-US"
        },
        {
          "index": 7,
          "title": "W(09988) Stock Price, Market Cap, Real-time Quote, Chart, Financials - Alibaba - Moomoo",
          "url": "https://www.moomoo.com/hans/stock/09988-HK"
        },
        {
          "index": 8,
          "title": "Alibaba Group Holding Limited (BABA) Stock Price, News, Quote & History",
          "url": "https://hk.finance.yahoo.com/quote/BABA/"
        },
        {
          "index": 9,
          "title": "Alibaba - Tencent Securities",
          "url": "https://gu.qq.com/usBABA.N"
        }
      ]
    }
  },
  "usage": {
    "input_tokens": 2004,
    "output_tokens": 203,
    "plugins": {
      "search": {
        "count": 1,
        "strategy": "agent"
      }
    },
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "total_tokens": 2207
  },
  "request_id": "45c231d2-811e-4e04-a361-f2c1909f1dd9"
}

応答 API を使用した Web 検索

tools パラメーターの tools 配列に web_search ツールを追加することで、Web 検索を有効にできます。

この機能は、qwen3.7-plus、qwen3.7-plus-2026-05-26、qwen3.6-plus、qwen3.6-plus-2026-04-02、qwen3.5-plus、qwen3.5-plus-2026-02-15、qwen3.6-flash、qwen3.6-flash-2026-04-16、qwen3.5-flash、qwen3.5-flash-2026-02-23、および思考モードの qwen3-max と qwen3-max-2026-01-23 でのみサポートされています。
最良の結果を得るには、web_searchweb_extractor、および code_interpreter ツールを一緒に有効にすることを推奨します。
応答 API の使用方法、コード例、および移行ガイドについては、「OpenAI 互換 - 応答」をご参照ください。
from openai import OpenAI
import os

client = OpenAI(
    # 環境変数を設定していない場合は、次の行をご自身の Model Studio API キーに置き換えてください: 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 + "Response content" + "="*20)
print(response.output_text)

print("="*20 + "Tool call count" + "="*20)
usage = response.usage
if hasattr(usage, 'x_tools') and usage.x_tools:
    print(f"Web search count: {usage.x_tools.get('web_search', {}).get('count', 0)}")
# 中間出力を表示するには、次の行のコメントを解除してください
# for r in response.output:
#     print(r.model_dump_json())
import OpenAI from "openai";

const openai = new OpenAI({
    // 環境変数を設定していない場合は、次の行をご自身の Model Studio API キーに置き換えてください: apiKey: "sk-xxx",
    apiKey: process.env.DASHSCOPE_API_KEY,
    // この構成はシンガポールリージョン向けです。{WorkspaceId} を実際のワークスペース ID に置き換えてください。構成はリージョンによって異なります。
    baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});

async function main() {
    const response = await openai.responses.create({
        model: "qwen3.7-max",
        input: "シンガポールの天気",
        tools: [
            { type: "web_search" },
            { type: "web_extractor" },
            { type: "code_interpreter" }
        ],
        enable_thinking: true
    });

    console.log("====================Response content====================");
    console.log(response.output_text);

    console.log("====================Tool call count====================");
    console.log(`Web search count: ${response.usage?.x_tools?.web_search?.count || 0}`);

    // console.log(JSON.stringify(response.output[0], null, 2));
}

main();
# この構成はシンガポールリージョン向けです。{WorkspaceId} を実際のワークスペース ID に置き換えてください。構成はリージョンによって異なります。
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3.7-max",
    "input": "シンガポールの天気",
    "tools": [
        {"type": "web_search"},
        {"type": "web_extractor"},
        {"type": "code_interpreter"}
    ],
    "enable_thinking": true
}'

課金

説明

このトピックで説明する Web 検索は、モデルに組み込まれている Web 検索機能を指します。この機能は以下に説明するように課金され、無料の呼び出しクォータは含まれません。これは、Model Studio MCP マーケットプレイスで提供される Web 検索 MCP サービスとは別のものであり、両者は個別に課金されます。Web 検索 MCP サービスは、すべてのユーザーに 2,000 回の呼び出しの無料クォータを提供し、その後は 1,000 回の呼び出しごとに CNY 29 が課金されます。詳細については、「Web 検索 MCP の追加」をご参照ください。

Web 検索の料金は、次の 2 つのコンポーネントで構成されます:

  • モデル呼び出し料金:Web 検索機能は、取得した Web コンテンツをプロンプトに追加するため、入力トークンの数が増加します。これらのトークンは、モデルの標準レートで課金されます。料金詳細については、Model Studio コンソールをご参照ください。Responses API を使用する場合、Web 検索ツールはエージェントポリシーと同じレートで課金されます。

  • 検索ポリシー料金

    • エージェントポリシー

      • 1,000 回の呼び出しあたりの料金は次のとおりです:

        • 中国本土およびグローバルデプロイメント範囲の場合:$0.573411

        • 国際デプロイメント範囲の場合:$10.00

    • agent_max ポリシー (期間限定オファー):

      このポリシーは、Web 検索ツールと Web 抽出ツールの両方を対象としています。

      • Web 検索ツールの 1,000 回の呼び出しあたりの料金:

        • 中国本土デプロイメント範囲の場合:$0.573411

        • 国際デプロイメント範囲の場合:$10.00

      • Web 抽出ツールは期間限定で無料です。

エラーメッセージ

エラーのトラブルシューティングについては、エラーコードをご参照ください。