Respostas de modelos em tempo real em dados da web Os dados de treinamento para modelos de linguagem grande têm uma data de corte de conhecimento, impedindo-os de responder perguntas em tempo real. Ativar busca na web permite que um modelo recupere dados em tempo real da internet e responda com precisão perguntas sensíveis ao tempo, como preços de ações, previsões meteorológicas e notícias de última hora.https://www.qwencloud.com/api-reference/preparation/api-keyE o define como uma variável de ambiente.https://www.qwencloud.com/api-reference/preparation/export-api-key-env).
Activar a pesquisa na Web
OpenAI compatível
API de respostas
DashScope
Antrópico-compatível
Preparar. enable_search: true e opcionalmente passar search_options para escolher uma estratégia.
O terminal de conclusão de chat compatível com OpenAI não retorna fontes de busca. Use a API de respostas ou DashScope se precisar de citações.
Python
Node.js
Curva
Entendido.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://maas.qwencloudapi.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen3.7-max",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "How is Alibaba's stock price?"},
],
extra_body={
"enable_search": True,
"search_options": {
"search_strategy": "agent"
}
}
)
print (completion.choices[0].message.content)
Adicionar web_search - Para o... tools Array.
Apoiado pelo Qwen3.8 Max, Flash, e série de código aberto, e qwen3.8-omni-flash; o Qwen3.7 e Qwen3.5 série (incluindo modelos de código aberto, mas não modelos Omni), o Qwen3.6-Plus e Qwen3.6-Flash série, e qwen3.6-35b-a3b; deepseek-v4.1-flash, deepseek-v4.1-flash-1017, deepseek-v4-flash-0731, deepseek-v4-pro, deepseek-v4-pro-0813; glm-5.2E eu não sei. kimi-k3. Para modelos que suportam essas ferramentas, habilitar web_search, web_extractor, e code_interpreter Juntos. Por qwen3.8-omni-flashA única ferramenta suportada é web_search.
Quando habilitado através do web_search O modelo faz uma recuperação multi-voltas estilo agente. web_search (e opcionalmente web_extractor / code_interpreter) várias vezes dentro de uma única resposta.qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, e qwen3.8-27b Não, não, não, não. agent valor de search_strategy na API de Completação de Chat. Para usar o agente de recuperação multi-volta com Qwen3.8Use a API de Respostas. web_search A API Responses não usa o código de segurança. search_strategy parâmetro. Se a busca na web é acionada - e se o modelo realiza várias buscas - é determinado unicamente pela anexação do web_search ferramenta e pelas próprias decisões do modelo. A search_options.search_strategy O valor passado para a API Responses é ignorado silenciosamente e não desencadeia uma busca.
Python
Node.js
Curva
Entendido.
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://maas.qwencloudapi.com/compatible-mode/v1"
)
response = client.responses.create(
model="qwen3.7-max",
input="Singapore weather",
tools=[{"type": "web_search"}],
extra_body={"enable_thinking": True}
)
print (response.output_text)
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)}")
Saída de resposta de amostra (recuperação multi-turnos estilo agente)
Para uma pergunta como "Qual é o clima em Cingapura amanhã?", o modelo realiza várias rodadas de recuperação em uma única resposta. O output O array contém múltiplos web_search_call (e opcionalmente web_extractor_call) itens entrelaçados com reasoning e o final message:
Entendido.
{
"output": [
{ "type": "reasoning", "..." : "..." },
{ "type": "web_search_call", "action": { "query": "Singapore weather tomorrow" } },
{ "type": "reasoning", "..." : "..." },
{ "type": "web_extractor_call", "..." : "..." },
{ "type": "web_search_call", "action": { "query": "Singapore 7-day forecast" } },
{ "type": "reasoning", "..." : "..." },
{ "type": "message", "content": [ /* final answer with url_citation annotations */ ] }
],
"usage": {
"x_tools": { "web_search": { "count": 2 } }
}
}
A presença de múltiplos web_search_call itens e x_tools.web_search.count > 1 confirma a recuperação de várias voltas do tipo agente, o modelo decidiu por si só refinar a consulta e procurar novamente.
Preparar. enable_search=True e passar search_options com enable_source: true para incluir fontes de busca na resposta.
Python
Java
Curva
Entendido.
import os
import dashscope
dashscope.base_http_api_url = "https://maas.qwencloudapi.com/api/v1"
response = dashscope.Generation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.7-max",
messages=[{"role": "user", "content": "Alibaba stock price"}],
enable_search=True,
search_options={
"search_strategy": "agent",
"enable_source": True
},
result_format="message",
)
for web in response.output.search_info["search_results"]:
print (f"[{web['index']}]: [{web['title']}]({web['url']})")
print (response.output.choices[0].message.content)
Exemplo de resposta. Entendido.
[1]: [Alibaba (BABA) Stock Price, Quotes, Chart - East Money](https://wap.eastmoney.com/quote/stock/106.BABA.html)
[2]: [Alibaba (BABA) US Stock Quotes - Sina Finance](https://gu.sina.cn/quotes/us/BABA)
[3]: [Alibaba (BABA) Latest Stock Price - Investing.com](https://cn.investing.com/equities/alibaba)
According to the latest market data, Alibaba's stock prices are:
* US stocks (BABA): ~$160.40
* HK stocks (09988.HK): ~HK$158.10
Note that stock prices fluctuate in real time; this information is for reference only.
Adicione a ferramenta de busca na web do lado do servidor Anthropic (name - Pronto para... web_search) para o tools parâmetro para ativar a busca na web. O ponto final é https://maas.qwencloudapi.com/apps/anthropic.
Este método visa clientes oficiais antrópicos como Claude Code. Nesses clientes, uma pergunta simples de linguagem natural desencadeia busca na web sem nenhuma configuração extra.
Quando você ligar para a API diretamente com o SDK Antrópico ou mais HTTP, passe o identificador do cliente.
x-anthropic-billing-header: cc_entrypoint=cli;Emsystem. Caso contrário, a busca na web não faz efeito.
Sobre a versão da ferramenta, o sufixo da data.
type(por exemploweb_search_20250305) é determinado pela versão do cliente oficial Antrópico, e um cliente mais novo pode enviar uma versão diferente datada. QwenCloud identifica a ferramenta por sua categoria e não valida o sufixo de data, então você não precisa afixartypepara uma versão específica. Basta passar o valor que seu cliente realmente envia. Entendido.
# Import dependencies and create the client...
message = client.messages.create(
model="qwen3.8-max",
max_tokens=2048,
# Pass the client identifier
system=[{"type": "text", "text": "x-anthropic-billing-header: cc_entrypoint=cli;"}],
messages=[{"role": "user", "content": "What will the weather in Hangzhou be like tomorrow?"}],
tools=[
{
# The date suffix depends on the client version. The value below is the one current Claude Code sends.
"type": "web_search_20250305",
"name": "web_search",
# Optional. Maximum number of searches per request.
"max_uses": 8
}
]
)
O processo de recuperação é devolvido como server_tool_use (Pedido de busca) e web_search_tool_result Blocos de conteúdo. O número de buscas é relatado em usage.server_tool_use.web_search_requests.
Pesquisa na web com modelos multimodais
O Qwen3.8 Max, Flash, e séries de código aberto, Qwen3.7-Flash, Qwen3.7-Plus, o Qwen3.6 série, e o Qwen3.5 série (incluindo qwen3.5-plus, qwen3.5-flash, o qwen3.5-omni série, e Qwen Aceitam entradas multimodais (imagens, vídeo) e são modelos multimodais. O suporte de estratégia de busca varia de acordo com a série: qwen3.5-omni série suporta apenas o agent estratégia; qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, e qwen3.8-27b Não apoiem o agent Estratégia na API multimodal (use o padrão turbo Ou max- Para correr Qwen3.8 com recuperação de agente, use a busca na Web com a API Responses; outros modelos listados nesta seção suportam o turbo, max, e agent Estratégias. Chame estes modelos através da API multimodal multimodal-generation Endpoint): usar MultiModalConversation em Python e Java, não Generation (o text-generation Endpoint), que é para modelos somente de texto. Para o básico de chamar modelos multimodais, veja o [Raciocínio Visual] (https://www.qwencloud.com/developer-guides/multimodal/visionE o entendimento de imagens e vídeos.https://www.qwencloud.com/developer-guides/getting-started/vision-models) tópicos.
- Chamando os modelos multimodais acima com
Generation(otext-generationEndpoint) retorna400 url error, please check url. UseMultiModalConversation(omultimodal-generationEndpoint) em vez disso. - No Java SDK,
MultiModalConversationParamProvideenableSearch(true)para permitir a busca na web, mas não fornece umasearchOptions()Método. Injete a estratégia de busca e outras opções através do genéricoparameter("search_options", ...)Método. Em Python,MultiModalConversation.callAceitasearch_optionsdiretamente. - Pesquisa na web em modelos multimodais requer **streaming chamadas (use
streamCallem Java, ou definidostream=TrueEm Python); caso contrário, a solicitação retorna umNon-streaming mode does not support Web SearchErro. Python Java Entendido.
import os
import dashscope
from dashscope import MultiModalConversation
dashscope.base_http_api_url = "https://maas.qwencloudapi.com/api/v1"
responses = MultiModalConversation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.5-plus",
messages=[{"role": "user", "content": [{"text": "What is the weather in Hangzhou today?"}]}],
enable_search=True,
search_options={
# The qwen3.5-omni series requires agent. On the multimodal API the Qwen3.8 series does not support agent; keep the default.
"search_strategy": "agent",
"enable_source": True,
},
stream=True,
incremental_output=True,
)
for response in responses:
print (response.output.choices[0].message.content)
Modelos apoiados.
Os seguintes modelos suportam a busca na web. Modelos com entradas multimodais Qwen3.8 série, Qwen3.7-Flash/Plus, o Qwen3.6 série, o Qwen3.5 série, e Qwen Modelos de código aberto) devem ser chamados através da API multimodal. Veja a busca na web com modelos multimodais.Qwen**
| Série de modelos. | Modelos disponíveis |
|---|---|
| Qwen3.8 Série | qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b (search_strategy: agent não é suportado; para recuperação de agente, use oweb_search ferramenta através da API Responses) |
| Qwen3.7 Série | qwen3.7-max, qwen3.7-max-preview, qwen3.7-max-2026-05-17 e fotos mais tarde, qwen3.7-plus, qwen3.7-plus-2026-05-26 e fotos mais tarde, qwen3.7-flash, qwen3.7-flash-2026-07-15 E depois fotos. |
| Qwen3.6 Série | qwen3.6-plus, qwen3.6-plus-2026-04-02 e fotos mais tarde, qwen3.6-flash, qwen3.6-flash-2026-04-16 e fotos mais tarde, qwen3.6-27b, qwen3.6-35b-a3b |
| Qwen3.5 Série | qwen3.5-plus, qwen3.5-plus-2026-02-15 e fotos mais tarde, qwen3.5-flash, qwen3.5-flash-2026-02-23 e fotos mais tarde, qwen3.5-27b, qwen3.5-35b-a3b, qwen3.5-122b-a10b, qwen3.5-397b-a17b |
| Qwen-Max | qwen-max E depois fotos. |
| Qwen-Plus | qwen-plus, qwen-plus-latest, qwen-plus-2025-07-14 E depois fotos. |
| Qwen-Flash | qwen-flash, qwen-flash-2025-07-28 E depois fotos. |
| Qwen-Omni | qwen3.8-omni-flash, 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 busca deve ser definida paraagent) |
| Qwen-Omni-Realtime | qwen3.8-omni-flash-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 busca deve ser definida paraagent) |
| Role-playing | qwen-plus-character, qwen-flash-character (oagent Estratégia não é apoiada) |
Jogando qwen-plus-character, qwen-flash-character (o agent Estratégia não é apoiada)
Qwen-Max, Qwen-Plus, e Qwen-Flash Modelos lançados após julho de 2025 suportam automaticamente a busca na web.
| Provider | Modelos disponíveis |
|---|---|
| DeepSeek | deepseek-v4.1-flash, deepseek-v4.1-flash-1017, deepseek-v4-pro, deepseek-v4-pro-0813, deepseek-v4-flash-0731 (deepseek-v4.1-flash, deepseek-v4.1-flash-1017 e o deepseek-v4 Série também suporta a API Responses) |
| GLM | glm-5.2 (suportado apenas pela API de Respostas) |
| Kimi | kimi-k3 (suportado apenas pela API de Respostas) |
Estratégias de busca
Use o search_strategy - Não, não, não. search_options Para equilibrar o custo, qualidade e velocidade de resposta:
- **
turboEquilibra a velocidade de resposta e qualidade de busca. Adequado para a maioria dos cenários. - **
maxUsa uma estratégia de busca mais abrangente e pode chamar vários motores de busca para resultados mais detalhados, mas o tempo de resposta pode ser mais longo. - **
agentChama a ferramenta de busca na web e o modelo várias vezes para recuperação e integração de informações multi-redondas. Adequado para consultas complexas e cenários ingleses. Aplica-se ao Qwen3.5 série (incluindo modelos de código aberto e a série Omni), o Qwen3.6 série, e o Qwen3.7 Série. Chamadas de transmissão são necessárias quando se liga através do ponto final de texto. O Qwen3.8 série não suporta oagentEstratégia. Quando habilitado, apenasenable_source: true(Retornando fontes de busca) é suportado; outras características de busca na web estão indisponíveis. Cada invocação é cobrada adicionalmente, veja Billing. agent_max- Suporta ler páginas da web com a ferramenta web extractor em cima daagentEstratégia. Só disponível em qwen3.7-max em modo de pensar. Quando habilitado, apenasenable_source: trueé suportado, outros recursos de busca estão indisponível. Cada invocação é cobrada adicionalmente, veja Billing. Use o padrãoturboestratégia para perguntas diárias. Para pesquisa ou geração de relatórios que requer alta precisão e validação cruzada multi-fonte, escolhamaxOuagent.agenté recomendado para cenários ingleses.
Leia os resultados da busca.
Quando você se prepara enable_source: true (DashScope somente), a resposta inclui um search_info.search_results Array. Cada entrada contém:
| Campo | Descrição |
|---|---|
index |
Número de citação referenciado no texto de resposta. |
title |
Título da página da fonte |
url |
URL da fonte |
Use estes campos para fazer citações ou uma lista de referências em sua aplicação. O texto de resposta do modelo pode referenciar fontes por índice (por exemplo, "de acordo com a fonte [1]").
-Pegue fontes de busca.
Depois de uma busca na web, as fontes de busca são devolvidas na resposta. Eles aparecem no elemento de quem type É web_search_call dentro da output Array, e sua action.sources campo é a lista de links de origem. Você pode extraí-los do response no exemplo acima, como segue:
A API Responses não suporta o
enable_source,enable_citation, oucitation_formatparâmetros, e não insere[1]Marcadores de citações no conteúdo de resposta. Para usar marcadores de citação, use a API DashScope. Entendido.
# 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}")
Contagem
A cobrança envolve dois aspectos:
- O conteúdo da web da pesquisa na web é adicionado ao prompt, o que aumenta o número de fichas de entrada para o modelo. Você é cobrado com base no preço padrão do modelo. Para mais informações sobre preços, veja [Precorando] (https://www.qwencloud.com/developer-guides/getting-started/pricing).
- -Pesquisa de taxas de chamadas.
Ao usar a API Responses, a ferramenta de busca da web é faturada na mesma taxa que o
agentEstratégia. Os preços listados abaixo são os preços de lista. Para promoções atuais e preços com desconto, visite o [Modelo Marketplace] (https://www.qwencloud.com/models).
Estratégia (search_strategy) |
O que ele faz | Taxa |
|---|---|---|
agent(padrão) |
Modelo busca na web como necessário | US$ 10.00 |
agent_max |
Pesquisas + lê páginas completas via web extractor | US$ 10.00 for search; web extractor is free for a limited time |
A conta de busca na minha conta não bate com a conta da internet. count Campo devolvido pela API. Como eu os reconcilio?
A: Os dois valores são medidos de forma diferente, então uma discrepância é esperada:
- Uma chamada é cobrada quando o serviço de busca realmente completa a recuperação e retorna um resultado bem sucedido.
- ** O
countCampo** (usage.plugins.search.countNa API DashScope,usage.x_tools.search.countIndica que a detecção de intenção determinou que essa curva requereu uma busca na web. O campo está definido durante a fase de detecção de intenção e não significa que a recuperação realmente tenha sido concluída. Ainda devolve um valor mesmo quando o limite de taxa é excedido ou a recuperação não retorna resultados; não está definido como 0 e não é omitido. Portanto,countUse sua conta como fonte autorizada para reconciliação.
Códigos de erro.
Se uma ligação falhar, veja [Mensagens de erro] (https://www.qwencloud.com/api-reference/preparation/error-messages). [Anterior] (https://www.qwencloud.com/developer-guides/tool-calling/function-calling[Extrator Web Obter URLs para contexto Próximo] (https://www.qwencloud.com/developer-guides/tool-calling/web-scraping)