大規模言語モデル (LLM) は、トレーニングデータがライブではないため、株価や天気予報などのリアルタイムの質問に正確に答えることができません。Web 検索機能を有効にすると、モデルは Web から取得したリアルタイムデータを使用して質問に答えることができます。
使用方法
モデルを呼び出す際に、enable_search: true パラメーターを渡すことで Web 検索機能を有効にできます。この機能が有効になると、モデルはユーザーの質問が Web 検索を必要とするかどうかを判断します。Web 検索が必要な場合、モデルは検索結果を使用して回答を作成します。それ以外の場合は、内部の知識に依存します。
以下の例は、OpenAI 互換および DashScope Python SDK を使用して Web 検索機能を有効にするためのコアコードを示しています。
OpenAI 互換 - Responses API
Web 検索機能を有効にするには、web_search ツールを tools パラメーターに追加します。
Responses API は、国際リージョンでは qwen3-max-2026-01-23 モデルのみをサポートしています。
最適な結果を得るには、web_search、web_extractor、およびcode_interpreterツールを同時に有効にすることを推奨します。
# 依存関係をインポートし、クライアントを作成します...
response = client.responses.create(
model="qwen3-max-2026-01-23",
input="Hangzhou weather",
tools=[
{"type": "web_search"},
{"type": "web_extractor"},
{"type": "code_interpreter"}
],
extra_body={"enable_thinking": True}
)OpenAI 互換 - Chat Completions API
# 依存関係をインポートし、クライアントを作成します...
completion = client.chat.completions.create(
# Web 検索をサポートするモデルを使用します。
model="qwen3-max",
messages=[{"role": "user", "content": "What is the weather in Hangzhou tomorrow?"}],
# enable_search は標準の OpenAI パラメーターではないため、Python SDK を使用する場合は extra_body を介して渡す必要があります。Node.js SDK を使用する場合は、トップレベルのパラメーターとして渡します。
extra_body={"enable_search": True}
)DashScope
# 依存関係をインポートします...
response = dashscope.Generation.call(
# 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えます: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Web 検索をサポートするモデルを使用します。
model="qwen3-max",
messages=[{"role": "user", "content": "What is the weather in Hangzhou tomorrow?"}],
# enable_search パラメーターを使用して Web 検索を有効にします。
enable_search=True,
result_format="message"
)サポート対象モデル
国際
qwen3-max および qwen3-max-2025-09-23:検索ポリシーを
agentに設定する必要があります。qwen3-max-2026-01-23:
非思考モード:検索ポリシーを
agentに設定する必要があります。思考モード:検索ポリシーを
agentまたはagent_maxに設定する必要があります。
はじめに
次のコードを実行して、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"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen3-max",
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 stock price is approximately **159.84 USD**.
* **Hong Kong Stock (09988.HK)**: The latest stock price is approximately **158.00 HKD**.
Note that stock prices fluctuate in real time. The information above is for reference only. According to the latest market data, Alibaba's stock price in different markets is as follows:
* **US Stock (BABA)**: The latest stock price is approximately **159.84 USD**.
* **Hong Kong Stock (09988.HK)**: The latest stock price is approximately **158.00 HKD**.
Note that stock prices fluctuate in real time. The information above is for reference only.Node.js
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const completion = await openai.chat.completions.create({
model: "qwen3-max",
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 stock price is approximately **159.84 USD**.
* **Hong Kong Stock (09988.HK)**: The latest stock price is approximately **158.00 HKD**.
Note that stock prices fluctuate in real time. The information above is for reference only. According to the latest market data, Alibaba's stock price in different markets is as follows:
* **US Stock (BABA)**: The latest stock price is approximately **159.84 USD**.
* **Hong Kong Stock (09988.HK)**: The latest stock price is approximately **158.00 HKD**.
Note that stock prices fluctuate in real time. The information above is for reference only.curl
curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-max",
"messages": [
{
"role": "user",
"content": "What is the stock price of Alibaba?"
}
],
"enable_search": true,
"search_options": {
"search_strategy": "agent"
}
}'DashScope
DashScope プロトコルは、enable_sourceをtrueに設定して、応答データに検索ソースを含めることをサポートしています。
Python
import os
import dashscope
dashscope.base_http_api_url = "https://dashscope-intl.aliyuncs.com/api/v1"
response = dashscope.Generation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3-max",
messages=[{"role": "user", "content": "Alibaba stock price"}],
enable_search=True,
search_options={
# Web 検索戦略。現在、agent 戦略のみがサポートされています。Web 検索ツールと LLM を複数回呼び出して、複数ラウンドの情報取得とコンテンツ統合を実行できます。
"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_Quotes_Chart - East Money](https://wap.eastmoney.com/quote/stock/106.BABA.html)
[2]: [Alibaba (BABA)_US Stock Quotes_Today's Price and Chart - Sina Finance](https://gu.sina.cn/quotes/us/BABA)
[3]: [Alibaba (BABA) Stock Latest Price, Real-time Chart, Analysis and Prediction](https://cn.investing.com/equities/alibaba)
[4]: [Alibaba-SW (9988.HK) Stock Price, News, Quote & History - Yahoo Finance](https://hk.finance.yahoo.com/quote/9988.HK/)
[5]: [Alibaba (BABA) Stock Price_Quotes_Discussion - Xueqiu](https://xueqiu.com/S/BABA)
[6]: [Alibaba (BABA) Stock Price, Market Cap, Real-time Quotes, 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]: [SW(09988) Stock Price, Market Cap, Real-time Quotes, 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:
* **US Stock (BABA)**:
* 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
* **Hong Kong Stock (09988.HK)**:
* 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 HKDJava
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 {
static {Constants.baseHttpApiUrl="https://dashscope-intl.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_Quotes_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 Quotes_Today's Price and 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, Analysis and Prediction, url=https://cn.investing.com/equities/alibaba), SearchInfo.SearchResult(siteName=null, icon=null, index=4, title=Alibaba (BABA) Stock Price_Quotes_Discussion - Xueqiu, url=https://xueqiu.com/S/BABA), SearchInfo.SearchResult(siteName=null, icon=null, index=5, title=Alibaba-SW (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 Quotes, 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=SW(09988) Stock Price, Market Cap, Real-time Quotes, Chart, Financials - Alibaba - Moomoo, url=https://www.moomoo.com/hans/stock/09988-HK)]
====================Response content====================
According to the latest market data, Alibaba's stock price is as follows:
* **US Stock (BABA)**: The latest stock price is approximately **159.84 USD**.
* **Hong Kong Stock (09988.HK)**: The latest stock price is approximately **158.00 HKD**.
Note that stock prices fluctuate with market trading in real time. The information above is for reference only.curl
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-max",
"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": "According to the latest market data, Alibaba's stock price varies because it is listed on both the US and Hong Kong stock exchanges:\n\n* **US Stock (BABA)**: The latest stock price is approximately **160.40 USD**.\n * Today's opening price: 160.98 USD\n * Today's trading range: 156.20 - 161.19 USD\n\n* **Hong Kong Stock (09988.HK)**: The latest stock price is approximately **158.10 HKD**.\n * Today's opening price: 156.50 HKD\n * Today's trading range: 156.30 - 158.40 HKD\n\nPlease note that stock prices fluctuate with market trading in real time. The information above is for reference only.",
"role": "assistant"
}
}
],
"search_info": {
"search_results": [
{
"index": 1,
"title": "Alibaba (BABA) Stock Price_Quotes_Chart - East Money",
"url": "https://wap.eastmoney.com/quote/stock/106.BABA.html"
},
{
"index": 2,
"title": "Alibaba (BABA)_US Stock Quotes_Today's Price and Chart - Sina Finance",
"url": "https://gu.sina.cn/quotes/us/BABA"
},
{
"index": 3,
"title": "Alibaba-SW (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, Analysis and Prediction",
"url": "https://cn.investing.com/equities/alibaba"
},
{
"index": 5,
"title": "Alibaba (BABA) Stock Price_Quotes_Discussion - Xueqiu",
"url": "https://xueqiu.com/S/BABA"
},
{
"index": 6,
"title": "Alibaba (BABA) Stock Price, Market Cap, Real-time Quotes, Chart, Financials - Moomoo",
"url": "https://www.moomoo.com/hans/stock/BABA-US"
},
{
"index": 7,
"title": "SW(09988) Stock Price, Market Cap, Real-time Quotes, 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"
}Responses API での Web 検索
tools パラメーターを使用して Web 検索機能を有効にするには、tools 配列に web_search ツールを入力する必要があります。
この機能は、国際リージョンの qwen3-max-2026-01-23 モデルの思考モードでのみサポートされています。
最適な結果を得るには、web_search、web_extractor、およびcode_interpreterツールを同時に有効にすることを推奨します。
from openai import OpenAI
import os
client = OpenAI(
# 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えます: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
)
response = client.responses.create(
model="qwen3-max-2026-01-23",
input="Weather in Singapore",
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,
baseURL: "https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
});
async function main() {
const response = await openai.responses.create({
model: "qwen3-max-2026-01-23",
input: "Singapore weather",
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 Calling Count====================");
// コスト、パフォーマンス、応答速度の要件に基づいて search_strategy を使用して検索ボリュームポリシーを設定できます。
console.log(`Web search count: ${response.usage.x_tools.web_search?.count || 0}`);
// console.log(JSON.stringify(response.output[0], null, 2));
}
main();curl -X POST https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-max-2026-01-23",
"input": "Singapore weather",
"tools": [
{"type": "web_search"},
{"type": "web_extractor"},
{"type": "code_interpreter"}
],
"enable_thinking": true
}'課金
課金には次の 2 つの側面があります:
モデル呼び出し料金: ウェブ検索によるウェブページの内容がプロンプトに追加され、モデルの入力トークン数が増加します。これは、モデルの標準価格で請求されます。料金詳細については、「モデルリスト」をご参照ください。
検索戦略料金:
Agent 戦略:
1,000 回の呼び出しにつき、国際では 10.00 USD です。
Agent_max 戦略(期間限定オファー):
Web 検索および Web スクレイピングの料金が含まれます。
Web 検索ツールの 1,000 回の呼び出しあたりの料金:
中国本土:$0.57341。
国際:$10.00。
Web スクレイピングツールは期間限定で無料です。
エラーメッセージ
実行中にエラーが発生した場合は、トラブルシューティングについては「エラーメッセージ」をご参照ください。