モデルは、株価や天気予報などリアルタイム性を要する質問に対して正確に回答できません。Web検索機能により、モデルはWebから取得したリアルタイムデータを活用して質問に回答できます。
使用方法
モデルを呼び出す際、enable_search: true パラメーターを指定することでWeb検索を有効化します。この機能が有効化されると、モデルはユーザーの質問がWeb検索を必要とするかどうかを自動的に判断します。Web検索が必要な場合は、検索結果をもとに回答を生成します。それ以外の場合は、モデルの内部知識に基づいて回答します。
以下の例では、OpenAI 互換および DashScope Python SDK を使用したコアコードを示します。
OpenAI 互換 - Responses API
web_search ツールを tools パラメーターに追加します。
Responses API は、国際リージョンで、qwen3-max-2026-01-23 および qwen3-coder-next のみをサポートしています。
最適な結果を得るには、web_search、web_extractor、およびcode_interpreterの各ツールを同時に有効化すること。
# 依存関係をインポートし、クライアントを作成...
response = client.responses.create(
model="qwen3-max-2026-01-23",
input="杭州の天気",
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": "明日の杭州の天気は?"}],
# 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": "明日の杭州の天気は?"}],
# enable_search パラメーターを使用してWeb検索を有効化します。
enable_search=True,
result_format="message"
)対応モデル
国際
qwen3-max および qwen3-max-2026-01-23:
非思考モード: 検索ポリシーを
agentに設定します。思考モード: 検索ポリシーを
agentまたはagent_maxに設定します。
qwen3-max-2025-09-23: 検索ポリシーを
agentに設定します。qwen3-coder-next(Responses API のみ対応)
クイックスタート
以下のコードを実行することで、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 検索戦略。サポートされているのはエージェント戦略のみです。
"search_strategy": "agent"
}
}
)
print(completion.choices[0].message.content)サンプル応答
最新の市場データによると、アリババの株価は以下の通りです:
* **米国株式市場(BABA)**: 最新株価は約 **159.84 USD**。
* **香港株式市場(09988.HK)**: 最新株価は約 **158.00 HKD**。
注意:株価はリアルタイムで変動します。上記情報は参考用です。最新の市場データによると、アリババの株価は以下の通りです:
* **米国株式市場(BABA)**: 最新株価は約 **159.84 USD**。
* **香港株式市場(09988.HK)**: 最新株価は約 **158.00 HKD**。
注意:株価はリアルタイムで変動します。上記情報は参考用です。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: "アリババの株価は?" }
],
enable_search: true,
search_options: {
// Web検索ポリシー。agent のみ指定可能です。
search_strategy: "agent"
}
});
console.log(completion.choices[0].message.content);
}
main();サンプル応答
最新の市場データによると、アリババの株価は以下の通りです:
* **米国株式市場(BABA)**: 最新株価は約 **159.84 USD**。
* **香港株式市場(09988.HK)**: 最新株価は約 **158.00 HKD**。
注意:株価はリアルタイムで変動します。上記情報は参考用です。最新の市場データによると、アリババの株価は以下の通りです:
* **米国株式市場(BABA)**: 最新株価は約 **159.84 USD**。
* **香港株式市場(09988.HK)**: 最新株価は約 **158.00 HKD**。
注意:株価はリアルタイムで変動します。上記情報は参考用です。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": "アリババの株価は?"
}
],
"enable_search": true,
"search_options": {
"search_strategy": "agent"
}
}'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": "アリババの株価"}],
enable_search=True,
search_options={
# Web検索戦略。現在、agent 戦略のみサポートされています。複数回のWeb検索ツールおよびLLMの呼び出しを通じて、マルチラウンドの情報取得およびコンテンツ統合を実行できます。
"search_strategy": "agent",
"enable_source": True # 検索ソースを返却するかどうかを指定します。
},
result_format="message",
)
print("="*20 + "検索結果" + "="*20)
for web in response.output.search_info["search_results"]:
print(f"[{web['index']}]: [{web['title']}]({web['url']})")
print("="*20 + "応答内容" + "="*20)
print(response.output.choices[0].message.content)サンプル応答
====================検索結果====================
[1]: [アリババ(BABA)株価_チャート_リアルタイムデータ - 東方財経](https://wap.eastmoney.com/quote/stock/106.BABA.html)
[2]: [アリババ(BABA)_米国株式リアルタイムチャート - 新浪財経](https://gu.sina.cn/quotes/us/BABA)
[3]: [アリババ(BABA)株価_リアルタイムチャート_分析と予測 - Investing.com](https://cn.investing.com/equities/alibaba)
[4]: [アリババ-SW(9988.HK)株価_ニュース_リアルタイムチャート - Yahoo Finance](https://hk.finance.yahoo.com/quote/9988.HK/)
[5]: [アリババ(BABA)株価_ディスカッション - 雪球](https://xueqiu.com/S/BABA)
[6]: [アリババ(BABA)株価_時価総額_リアルタイムチャート - Moomoo](https://www.moomoo.com/hans/stock/BABA-US)
[7]: [アリババグループホールディング社(BABA)株価_ニュース_チャート - Yahoo Finance](https://finance.yahoo.com/quote/BABA/)
[8]: [アリババ - 腾讯証券](https://gu.qq.com/usBABA.N)
[9]: [SW(09988)株価_時価総額_リアルタイムチャート - アリババ - Moomoo](https://www.moomoo.com/hans/stock/09988-HK)
====================応答内容====================
最新の市場データによると、アリババの株価情報は以下の通りです:
* **米国株式市場(BABA)**:
* 本日の始値:160.98 USD
* 前営業日の終値:160.80 USD
* 本日の高値:161.19 USD
* 本日の安値:156.20 USD
* **香港株式市場(09988.HK)**:
* 最新レートは約:158.00 - 158.10 HKD
* 本日の始値:156.50 HKD
* 前営業日の終値:162.00 HKD
* 本日の取引レンジ: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("アリババの株価")
.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)+"検索結果"+"=".repeat(20));
System.out.println(result.getOutput().getSearchInfo().getSearchResults());
System.out.println("=".repeat(20)+"応答内容"+"=".repeat(20));
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (Exception e) {
System.out.println("エラー:" + e.getMessage());
}
}
}サンプル応答
====================検索結果====================
[SearchInfo.SearchResult(siteName=null, icon=null, index=1, title=アリババ(BABA)株価_チャート_リアルタイムデータ - 東方財経, url=https://wap.eastmoney.com/quote/stock/106.BABA.html), SearchInfo.SearchResult(siteName=null, icon=null, index=2, title=アリババ(BABA)_米国株式リアルタイムチャート - 新浪財経, url=https://gu.sina.cn/quotes/us/BABA), SearchInfo.SearchResult(siteName=null, icon=null, index=3, title=アリババ(BABA)株価_リアルタイムチャート_分析と予測 - Investing.com, url=https://cn.investing.com/equities/alibaba), SearchInfo.SearchResult(siteName=null, icon=null, index=4, title=アリババ(BABA)株価_ディスカッション - 雪球, url=https://xueqiu.com/S/BABA), SearchInfo.SearchResult(siteName=null, icon=null, index=5, title=アリババ-SW(9988.HK)株価_ニュース_リアルタイムチャート - Yahoo Finance, url=https://hk.finance.yahoo.com/quote/9988.HK/), SearchInfo.SearchResult(siteName=null, icon=null, index=6, title=アリババ(BABA)株価_時価総額_リアルタイムチャート - Moomoo, url=https://www.moomoo.com/hans/stock/BABA-US), SearchInfo.SearchResult(siteName=null, icon=null, index=7, title=アリババグループホールディング社(BABA) - Yahoo Finance, url=https://finance.yahoo.com/quote/BABA/), SearchInfo.SearchResult(siteName=null, icon=null, index=8, title=アリババ - 腾讯証券, url=https://gu.qq.com/usBABA.N), SearchInfo.SearchResult(siteName=null, icon=null, index=9, title=SW(09988)株価_時価総額_リアルタイムチャート - アリババ - Moomoo, url=https://www.moomoo.com/hans/stock/09988-HK)]
====================応答内容====================
最新の市場データによると、アリババの株価は以下の通りです:
* **米国株式市場(BABA)**: 最新株価は約 **159.84 USD**。
* **香港株式市場(09988.HK)**: 最新株価は約 **158.00 HKD**。
注意:株価は市場取引に伴いリアルタイムで変動します。上記情報は参考用です。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": "アリババの株価"
}
]
},
"parameters": {
"enable_search": true,
"search_options": {
"search_strategy": "agent",
"enable_source": true
},
"result_format": "message"
}
}'サンプル応答
{
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"content": "最新の市場データによると、アリババの株価は米国および香港の両市場に上場しているため、以下の通りです:\n\n* **米国株式市場(BABA)**: 最新株価は約 **160.40 USD**。\n * 本日の始値:160.98 USD\n * 本日の取引レンジ:156.20 - 161.19 USD\n\n* **香港株式市場(09988.HK)**: 最新株価は約 **158.10 HKD**。\n * 本日の始値:156.50 HKD\n * 本日の取引レンジ:156.30 - 158.40 HKD\n\n注意:株価は市場取引に伴いリアルタイムで変動します。上記情報は参考用です。",
"role": "assistant"
}
}
],
"search_info": {
"search_results": [
{
"index": 1,
"title": "アリババ(BABA)株価_チャート_リアルタイムデータ - 東方財経",
"url": "https://wap.eastmoney.com/quote/stock/106.BABA.html"
},
{
"index": 2,
"title": "アリババ(BABA)_米国株式リアルタイムチャート - 新浪財経",
"url": "https://gu.sina.cn/quotes/us/BABA"
},
{
"index": 3,
"title": "アリババ-SW(9988.HK)株価_ニュース_リアルタイムチャート - Yahoo Finance",
"url": "https://hk.finance.yahoo.com/quote/9988.HK/"
},
{
"index": 4,
"title": "アリババ(BABA)株価_リアルタイムチャート_分析と予測",
"url": "https://cn.investing.com/equities/alibaba"
},
{
"index": 5,
"title": "アリババ(BABA)株価_ディスカッション - 雪球",
"url": "https://xueqiu.com/S/BABA"
},
{
"index": 6,
"title": "アリババ(BABA)株価_時価総額_リアルタイムチャート - Moomoo",
"url": "https://www.moomoo.com/hans/stock/BABA-US"
},
{
"index": 7,
"title": "SW(09988)株価_時価総額_リアルタイムチャート - アリババ - Moomoo",
"url": "https://www.moomoo.com/hans/stock/09988-HK"
},
{
"index": 8,
"title": "アリババグループホールディング社(BABA)株価_ニュース_チャート",
"url": "https://hk.finance.yahoo.com/quote/BABA/"
},
{
"index": 9,
"title": "アリババ - 腾讯証券",
"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検索
web_search を tools 配列に追加します。
この機能は、および思考モードでの qwen3-max、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="シンガポールの天気",
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"Web検索回数:{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: "シンガポールの天気",
tools: [
{ type: "web_search" },
{ type: "web_extractor" },
{ type: "code_interpreter" }
],
enable_thinking: true
});
console.log("====================応答内容====================");
console.log(response.output_text);
// 検索ボリュームポリシーを設定
console.log("====================ツール呼び出し回数====================");
// コスト、パフォーマンス、応答速度の要件に応じて、search_strategyを使用して検索ボリュームポリシーを設定できます。
console.log(`Web検索回数:${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": "シンガポールの天気",
"tools": [
{"type": "web_search"},
{"type": "web_extractor"},
{"type": "code_interpreter"}
],
"enable_thinking": true
}'課金
課金は以下の2つの側面から構成されます:
モデルコスト: 検索されたWebページのコンテンツがプロンプトに追加され、モデルの入力トークン数が増加します。これはモデルの標準価格で課金され、「モデル一覧」に記載されています。
検索戦略コスト:
Agent戦略:
1,000回の呼び出しにつき、国際リージョンでは10.00 USDが課金されます。
Agent_max戦略(期間限定オファー):
Web検索ツールおよびWeb抽出ツールの両方の費用を含みます。
Web検索ツールの1,000回の呼び出しにつきの費用:
中国本土:$0.57341。
国際:$10.00。
Web抽出ツールは期間限定で無料です。
エラーメッセージ
実行中にエラーが発生した場合は、「エラーメッセージ」を参照してトラブルシューティングを行ってください。