Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A Pesquisa na Web permite aos agentes pesquisar na internet informações up-todatas. Esta ferramenta permite aos agentes responder a perguntas sobre eventos atuais, encontrar documentação e aceder a informações para além dos seus dados de treino.
Observação
A disponibilidade da Web Search depende do fornecedor do agente subjacente. Consulte a Visão Geral dos Prestadores para apoio específico para cada prestador.
O exemplo seguinte mostra como criar um agente com a ferramenta Web Search:
using System;
using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
// Requires: dotnet add package Microsoft.Agents.AI.Foundry --prerelease
var endpoint = Environment.GetEnvironmentVariable("FOUNDRY_PROJECT_ENDPOINT")
?? throw new InvalidOperationException("FOUNDRY_PROJECT_ENDPOINT is not set.");
var deploymentName = Environment.GetEnvironmentVariable("FOUNDRY_MODEL") ?? "gpt-5.4-mini";
// Create an agent with hosted web search.
AIAgent agent = new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
.AsAIAgent(
model: deploymentName,
instructions: "You are a helpful assistant that can search the web for current information.",
tools: [new HostedWebSearchTool()]);
Console.WriteLine(await agent.RunAsync("What is the current weather in Seattle?"));
Advertência
DefaultAzureCredential é conveniente para o desenvolvimento, mas requer uma consideração cuidadosa na produção. Em produção, considere usar uma credencial específica (por exemplo, ManagedIdentityCredential) para evitar problemas de latência, sondagens não intencionais de credenciais e potenciais riscos de segurança provenientes de mecanismos de recurso.
O exemplo seguinte mostra como criar um agente com a ferramenta Web Search:
# Copyright (c) Microsoft. All rights reserved.
import asyncio
from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient
"""
OpenAI Responses Client with Web Search Example
This sample demonstrates using get_web_search_tool() with OpenAI Responses Client
for direct real-time information retrieval and current data access.
"""
async def main() -> None:
client = OpenAIChatClient()
# Create web search tool with location context
web_search_tool = client.get_web_search_tool(
user_location={"city": "Seattle", "country": "US"},
)
agent = Agent(
client=client,
instructions="You are a helpful assistant that can search the web for current information.",
tools=[web_search_tool],
)
message = "What is the current weather? Do not ask for my current location."
stream = False
print(f"User: {message}")
if stream:
print("Assistant: ", end="")
async for chunk in agent.run(message, stream=True):
if chunk.text:
print(chunk.text, end="")
print("")
else:
response = await agent.run(message)
print(f"Assistant: {response}")
if __name__ == "__main__":
asyncio.run(main())
Pesquisa na Web
Este hostedtool.WebSearch tipo permite a pesquisa web do lado do servidor ao utilizar um fornecedor que o suporta.
import "github.com/microsoft/agent-framework-go/tool/hostedtool"
webSearch := &hostedtool.WebSearch{}
a := foundryprovider.NewAgent(endpoint, token, foundryprovider.ModelDeployment(model), foundryprovider.AgentConfig{
Config: agent.Config{
Tools: []tool.Tool{webSearch},
},
})
Observação
A pesquisa na web é uma ferramenta alojada — a pesquisa é realizada pelo serviço de IA, não localmente.
Use a pesquisa na web com o Harness Agent
Para um agente simples, adicione HostedWebSearchTool às ferramentas do agente, como mostrado anteriormente.
HarnessAgent adiciona um HostedWebSearchTool por defeito, por isso não é necessário registo de ferramentas:
using Microsoft.Agents.AI;
AIAgent agent = chatClient.AsHarnessAgent(new HarnessAgentOptions
{
ChatOptions = new()
{
Instructions = "Use web search for current information and cite the sources you used.",
},
});
Defina DisableWebSearch = true quando o fornecedor selecionado não suporta a pesquisa web alojada ou quando quiser registar uma ferramenta de pesquisa específica para o fornecedor através ChatOptions.Toolsde . Se adicionar a sua própria ferramenta de pesquisa web sem desativar a predefinida, o agente recebe ambas as ferramentas.
A pesquisa web é alojada pelo fornecedor do modelo; não existe um ciclo de vida local de cliente de pesquisa para o Harness gerir. Disponibilidade, modelos suportados, parâmetros de pesquisa, residência de dados e faturação dependem do IChatClient fornecedor. Clientes não suportados podem rejeitar a ferramenta alojada quando o pedido é enviado.
Trate as consultas e resultados de pesquisa como dados que ultrapassam uma fronteira de confiança externa. Não inclua segredos nas consultas e trate as páginas recuperadas como conteúdo não confiável que pode conter injeção indireta de prompts. Verifique afirmações e citações importantes antes de tomar medidas.
HarnessAgent está disponível no Microsoft.Agents.AI.Harness pacote.
Para um agente simples, ligue client.get_web_search_tool(...) e passe a ferramenta devolvida para Agent, como mostrado anteriormente.
create_harness_agent chamadas client.get_web_search_tool() sem argumentos por defeito quando o cliente implementa SupportsWebSearchTool:
from agent_framework import create_harness_agent
agent = create_harness_agent(client=client)
Se o cliente não implementar SupportsWebSearchTool, a fábrica regista um aviso e continua sem pesquisa na web. Definido disable_web_search=True para suprimir o registo automático e o aviso.
Para passar pelas definições específicas do fornecedor, desative o padrão e registe-se explicitamente a ferramenta configurada:
agent = create_harness_agent(
client=client,
disable_web_search=True,
tools=[
client.get_web_search_tool(
user_location={"city": "Seattle", "country": "US"},
search_context_size="medium",
)
],
)
O fornecedor é responsável pela execução e ciclo de vida da pesquisa hospedada. Parâmetros suportados, modelos, tratamento de dados e faturação dependem da implementação do cliente. Não coloque segredos nas consultas, trate o conteúdo recuperado como entrada não confiável e verifique afirmações e citações importantes antes de agir.
create_harness_agent é lançado em agent-framework-core; a pesquisa web permanece disponível apenas através de clientes que implementam SupportsWebSearchTool.
Um Go Harness embalado não está atualmente disponível. Adicione hostedtool.WebSearch a um agente Go simples, como mostrado anteriormente.