Os dados de treinamento de modelos de linguagem grandes possuem uma data limite de conhecimento, o que impede respostas a perguntas em tempo real. Ao ativar a pesquisa na web, o modelo recupera dados atualizados e responde com precisão a questões sensíveis ao tempo, como cotações de ações, previsões do tempo e notícias de última hora.
Uso
Ative a pesquisa na web por meio das três chamadas de API abaixo. Cada uma exige parâmetros diferentes.
Para realizar pesquisas na web com modelos como qwen3.7-max, utilize o recurso de pesquisa na web da Responses API .
OpenAI-compatible: Responses API
Adicione a ferramenta web_search ao parâmetro tools para ativar a pesquisa na web.
A Responses API oferece suporte apenas às séries Qwen3.7 Max, Qwen3.6, Qwen3.5, qwen3-max e qwen3-max-2026-01-23.
# Import dependencies and create a client...
response = client.responses.create(
model="qwen3.7-max",
input="Hangzhou weather",
tools=[
{"type": "web_search"},
{"type": "web_extractor"},
{"type": "code_interpreter"}
],
extra_body={"enable_thinking": True}
)
OpenAI-compatible: Chat Completions API
Defina enable_search: true para ativar a pesquisa na web.
# Import dependencies and create a client...
completion = client.chat.completions.create(
# Use a model that supports web search.
model="qwen-plus",
messages=[{"role": "user", "content": "What is the weather in Hangzhou tomorrow?"}],
# Since enable_search is not a standard OpenAI parameter, pass it via extra_body when using the Python SDK. For the Node.js SDK, pass it as a top-level parameter.
extra_body={"enable_search": True}
)
DashScope
Defina enable_search: true para ativar a pesquisa na web.
# Import dependencies...
response = dashscope.Generation.call(
# If the DASHSCOPE_API_KEY environment variable is not set, replace the next line with your Model Studio API key (e.g., api_key="sk-xxx",).
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Use a model that supports web search.
model="qwen-plus",
messages=[{"role": "user", "content": "What is the weather in Hangzhou tomorrow?"}],
# Enable web search
enable_search=True,
result_format="message"
)
Pesquisa na web com modelos multimodais
Modelos como qwen3.5-plus, qwen3.5-flash e a série qwen3.5-omni aceitam entradas multimodais (imagens e vídeo) e são classificados como modelos multimodais. Chame esses modelos pela API multimodal (endpoint multimodal-generation): use MultiModalConversation tanto em Python quanto em Java, e não Generation (endpoint text-generation), destinado a modelos apenas de texto. Para conceitos básicos sobre chamadas a modelos multimodais, consulte os tópicos Raciocínio visual e Compreensão de imagens e vídeos.
Chamar os modelos multimodais acima comGeneration(endpointtext-generation) retorna o erro400 url error, please check url. UtilizeMultiModalConversation(endpointmultimodal-generation) em vez disso. No SDK Java,MultiModalConversationParamforneceenableSearch(true)para ativar a pesquisa na web, mas não disponibiliza o métodosearchOptions(). Injete a estratégia de pesquisa e outras opções pelo método genéricoparameter("search_options", ...). Em Python,MultiModalConversation.callaceitasearch_optionsdiretamente. A pesquisa na web em modelos multimodais exige chamadas em streaming (usestreamCallem Java ou definastream=Trueem Python); caso contrário, a requisição retorna o erroNon-streaming mode does not support Web Search.
Python
import os
import dashscope
from dashscope import MultiModalConversation
# The following uses the Singapore region. Replace WorkspaceId with your actual workspace ID; the configuration differs by region.
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"),
# Use a multimodal model that supports web search.
model="qwen3.5-plus",
messages=[{"role": "user", "content": [{"text": "What is the weather in Hangzhou today?"}]}],
# The multimodal API accepts enable_search and search_options directly.
enable_search=True,
search_options={
# For multimodal models, the search strategy must be set to agent.
"search_strategy": "agent",
"enable_source": True,
},
# Streaming is required when web search is enabled for multimodal models.
stream=True,
incremental_output=True,
)
for response in responses:
print(response.output.choices[0].message.content)
Java
// dashscope SDK version >= 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 {
// The following uses the Singapore region. Replace WorkspaceId with your actual workspace ID; the configuration differs by region.
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", "What is the weather in Hangzhou today?")))
.build();
SearchOptions searchOptions = SearchOptions.builder()
// For multimodal models, the search strategy must be set to agent.
.searchStrategy("agent")
.enableSource(true)
.build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Use a multimodal model that supports web search.
.model("qwen3.5-plus")
.messages(Arrays.asList(userMsg))
// Native method: enable web search.
.enableSearch(true)
// MultiModalConversationParam does not provide a searchOptions() method; inject search_options via the generic parameter() method.
.parameter("search_options", searchOptions)
.incrementalOutput(true)
.build();
// Streaming is required when web search is enabled for multimodal models.
Flowable<MultiModalConversationResult> result = conv.streamCall(param);
result.blockingForEach(message ->
System.out.print(message.getOutput().getChoices().get(0).getMessage().getContent()));
}
}
Modelos suportados
International
-
Qwen-Plus
Qwen3.7-Plus: qwen3.7-plus, qwen3.7-plus-2026-05-26 e snapshots posteriores
Qwen3.6-Plus: qwen3.6-plus, qwen3.6-plus-2026-04-02 e snapshots posteriores (suportado apenas pela Responses API)
Qwen3.5-Plus: qwen3.5-plus, qwen3.5-plus-2026-02-15 e snapshots posteriores
-
Qwen-Flash
Qwen3.6-Flash: qwen3.6-flash, qwen3.6-flash-2026-04-16 e snapshots posteriores (suportado apenas pela Responses API)
Qwen3.5-Flash: qwen3.5-flash, qwen3.5-flash-2026-02-23 e snapshots posteriores
-
Qwen-Max
Qwen3.7-Max: qwen3.7-max, qwen3.7-max-preview, qwen3.7-max-2026-05-17 e snapshots posteriores (suportado apenas pela Responses API)
Qwen3.6-Max: qwen3.6-max-preview
-
qwen3-max e qwen3-max-2026-01-23
No modo sem raciocínio, a estratégia de pesquisa deve ser definida como
agent.No modo de raciocínio, a estratégia de pesquisa deve ser definida como
agentouagent_max(que adiciona suporte ao extrator web).
qwen3-max-2025-09-23: A estratégia de pesquisa deve ser definida como
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
A estratégia de pesquisa deve ser definida como
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
A estratégia de pesquisa deve ser definida como
agent. Role-playing: qwen-plus-character, qwen-flash-character
Global
-
Qwen-Max
Qwen3.7-Max: qwen3.7-max, qwen3.7-max-2026-05-20 e snapshots posteriores (suportado apenas pela Responses API)
-
Qwen-Plus
Qwen3.7-Plus: qwen3.7-plus, qwen3.7-plus-2026-05-26 e snapshots posteriores
Qwen3.6-Plus: qwen3.6-plus, qwen3.6-plus-2026-04-02 e snapshots posteriores (suportado apenas pela Responses API)
Qwen3.5-Plus: qwen3.5-plus, qwen3.5-plus-2026-02-15 e snapshots posteriores
-
Qwen-Flash
Qwen3.6-Flash: qwen3.6-flash, qwen3.6-flash-2026-04-16 e snapshots posteriores (suportado apenas pela Responses API)
Qwen3.5-Flash: qwen3.5-flash, qwen3.5-flash-2026-02-23 e snapshots posteriores
Os modelos acima oferecem suporte às estratégias de pesquisa agent e agent_max nos modos com e sem raciocínio.
Chinese mainland
-
Qwen-Max
Qwen3.7-Max: qwen3.7-max, qwen3.7-max-2026-05-20 e snapshots posteriores (suportado apenas pela Responses API)
-
qwen3-max e qwen3-max-2026-01-23
No modo sem raciocínio, a estratégia de pesquisa deve ser definida como
agent.No modo de raciocínio, a estratégia de pesquisa deve ser definida como
agentouagent_max(que adiciona suporte ao extrator web).
qwen3-max-2025-09-23: A estratégia de pesquisa deve ser definida como
agent.
-
Qwen-Plus
Qwen3.7-Plus: qwen3.7-plus, qwen3.7-plus-2026-05-26 e snapshots posteriores
Qwen3.6-Plus: qwen3.6-plus, qwen3.6-plus-2026-04-02 e snapshots posteriores (suportado apenas pela Responses API)
-
Qwen3.5-Plus: qwen3.5-plus, qwen3.5-plus-2026-02-15 e snapshots posteriores
As estratégias de pesquisa
agenteagent_maxsão suportadas nos modos com e sem raciocínio.
-
Qwen-Flash
Qwen3.6-Flash: qwen3.6-flash, qwen3.6-flash-2026-04-16 e snapshots posteriores (suportado apenas pela Responses API)
Qwen3.5-Flash: qwen3.5-flash, qwen3.5-flash-2026-02-23 e snapshots posteriores
-
Qwen-Omni: qwen3.5-omni-plus, qwen3.5-omni-plus-2026-03-15, qwen3.5-omni-flash, qwen3.5-omni-flash-2026-03-15
A estratégia de pesquisa deve ser definida como
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
A estratégia de pesquisa deve ser definida como
agent. -
Role-playing: qwen-plus-character, qwen-flash-character, qwen-flash-character-2026-02-26
Início rápido
Os exemplos a seguir mostram como consultar informações sobre ações utilizando a pesquisa na web.
OpenAI compatible
O protocolo compatível com OpenAI não suporta o retorno de fontes de pesquisa na resposta.
Python
import os
from openai import OpenAI
client = OpenAI(
# If the environment variable is not set, provide your Model Studio API key directly, for example: api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
# The following configuration is for the Asia Pacific SE 1 (Singapore) region. Replace {WorkspaceId} with your workspace ID. Configurations differ by region.
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": {
# Specify the web search strategy. Only 'agent' is supported.
"search_strategy": "agent"
}
}
)
print(completion.choices[0].message.content)
Resposta de exemplo
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,
// The following configuration is for the Asia Pacific SE 1 (Singapore) region. Replace {WorkspaceId} with your workspace ID. Configurations differ by region.
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: {
// Specify the web search strategy. Only 'agent' is supported.
search_strategy: "agent"
}
});
console.log(completion.choices[0].message.content);
}
main();
Resposta de exemplo
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
# The following configuration is for the Asia Pacific SE 1 (Singapore) region. Replace {WorkspaceId} with your workspace ID. Configurations differ by region.
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
O protocolo DashScope permite definirenable_sourcecomotruepara incluir as fontes de pesquisa na resposta.
Python
import os
import dashscope
# The following configuration is for the Asia Pacific SE 1 (Singapore) region. Replace {WorkspaceId} with your workspace ID. Configurations differ by region.
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={
# The web search strategy. Only 'agent' is currently supported.
"search_strategy": "agent",
"enable_source": True # Specifies whether to return search sources.
},
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)
Resposta de exemplo
====================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 {
// The following configuration is for the Asia Pacific SE 1 (Singapore) region. Replace {WorkspaceId} with your workspace ID. Configurations differ by region.
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()
// Specify the web search strategy. Only 'agent' is supported.
.searchStrategy("agent")
// Specifies whether to return search sources.
.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());
}
}
}
Exemplo de resposta
====================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
# The following configuration is for the Asia Pacific SE 1 (Singapore) region. Replace {WorkspaceId} with your workspace ID. Configurations differ by region.
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"
}
}'
Exemplo de resposta
{
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"content": "Based on the latest market data, Alibaba's stock price differs because it is listed on both US and Hong Kong stock exchanges:\n\n* : The latest price is approximately .\n * Today's opening price: 160.98 USD\n * Today's price range: 156.20 - 161.19 USD\n\n* : The latest price is approximately .\n * Today's opening price: 156.50 HKD\n * Today's price range: 156.30 - 158.40 HKD\n\nPlease note that stock prices fluctuate in real time, and this information is for reference only.",
"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"
}
Pesquisa na web com a Responses API
Para ativar a pesquisa na web, adicione a ferramenta web_search ao array tools do parâmetro tools.
Este recurso tem suporte apenas para 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 ; e para qwen3-max e qwen3-max-2026-01-23 no modo de raciocínio.
Para obter melhores resultados, recomendamos ativar as ferramentasweb_search,web_extractorecode_interpreterem conjunto.
Para instruções de uso, exemplos de código e guias de migração da Responses API, consulte Compatível com OpenAI - Responses .
from openai import OpenAI
import os
client = OpenAI(
# If you have not configured an environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
# This configuration is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. Configurations vary by region.
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)
response = client.responses.create(
model="qwen3.7-max",
input="Singapore weather",
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)}")
# Uncomment the following lines to view the intermediate output
# for r in response.output:
# print(r.model_dump_json())import OpenAI from "openai";
const openai = new OpenAI({
// If you have not configured an environment variable, replace the following line with your Model Studio API key: apiKey: "sk-xxx",
apiKey: process.env.DASHSCOPE_API_KEY,
// This configuration is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. Configurations vary by region.
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: "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 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();# This configuration is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. Configurations vary by region.
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": "Singapore weather",
"tools": [
{"type": "web_search"},
{"type": "web_extractor"},
{"type": "code_interpreter"}
],
"enable_thinking": true
}'Obter fontes de pesquisa
Após a execução de uma pesquisa na web, as fontes são retornadas na resposta. Elas aparecem no elemento cujo type é web_search_call dentro do array output, e seu campo action.sources contém a lista de links de origem. Extraia-os do objeto response no exemplo acima da seguinte forma:
A Responses API não oferece suporte aos parâmetrosenable_source,enable_citationoucitation_format, e não insere marcadores de citação[1]no conteúdo da resposta. Para usar marcadores de citação, utilize a API DashScope.
# Extract search sources from the response above
print("=" * 20 + "Search sources" + "=" * 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}")
Faturamento
A pesquisa na web descrita neste tópico refere-se ao recurso nativo de pesquisa do modelo, cuja cobrança segue as regras abaixo e não inclui cota gratuita de chamadas. Esse recurso é distinto do serviço Web Search MCP disponível no marketplace MCP do Model Studio, e ambos têm faturamento independente: o serviço Web Search MCP oferece uma cota gratuita de 2.000 chamadas para todos os usuários; após esse limite, a cobrança é de CNY 29 por 1.000 chamadas. Para mais informações, consulte Adicionar MCP de pesquisa na web.
As cobranças pela pesquisa na web são compostas por dois componentes:
Taxas de chamada do modelo: O recurso de pesquisa na web anexa o conteúdo web recuperado ao prompt, aumentando o número de tokens de entrada. Esses tokens são cobrados conforme a tarifa padrão do modelo. Para detalhes de preços, consulte o console do Model Studio. Ao usar a Responses API, a ferramenta de pesquisa na web é cobrada à mesma taxa da política agent.
-
Taxas da política de pesquisa:
-
Política agent:
-
A taxa por 1.000 chamadas é a seguinte:
Para escopos de implantação na China continental e global: $0.573411.
Para o escopo de implantação internacional: $10.00.
-
-
Política agent_max (Oferta por tempo limitado):
Esta política abrange tanto a pesquisa na web quanto a ferramenta web extractor.
-
Taxa por 1.000 chamadas para a ferramenta de pesquisa na web:
Para o escopo de implantação na China continental: $0.573411.
Para o escopo de implantação internacional: $10.00.
A ferramenta web extractor está gratuita por tempo limitado.
-
-
Mensagens de erro
Para solucionar erros, consulte Códigos de erro.