Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Web Search permite a los agentes buscar en la web información de up-to-date. Esta herramienta permite a los agentes responder a preguntas sobre eventos actuales, buscar documentación e información de acceso más allá de sus datos de entrenamiento.
Note
La disponibilidad de Web Search depende del proveedor del agente subyacente. Consulte Información general sobre proveedores para obtener compatibilidad específica del proveedor.
En el ejemplo siguiente se muestra cómo crear un agente con la herramienta Búsqueda web:
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?"));
Warning
DefaultAzureCredential es conveniente para el desarrollo, pero requiere una consideración cuidadosa en producción. En producción, considere usar una credencial específica (por ejemplo, ManagedIdentityCredential) para evitar problemas de latencia, sondeos de credenciales no deseados y posibles riesgos de seguridad de los mecanismos de respaldo.
En el ejemplo siguiente se muestra cómo crear un agente con la herramienta Búsqueda web:
# 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())
Búsqueda web
El hostedtool.WebSearch tipo habilita la búsqueda web del lado servidor al usar un proveedor que lo admita.
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},
},
})
Note
La búsqueda web es una herramienta hospedada: el servicio de inteligencia artificial realiza la búsqueda, no localmente.
Uso de la búsqueda web con el agente de Harness
Para un agente sin formato, agregue HostedWebSearchTool a las herramientas del agente, como se muestra anteriormente.
HarnessAgent agrega uno HostedWebSearchTool de forma predeterminada, por lo que no se requiere ningún registro de herramientas:
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.",
},
});
Se establece DisableWebSearch = true cuando el proveedor seleccionado no admite la búsqueda web hospedada o cuando desea registrar una herramienta de búsqueda específica del proveedor a través de ChatOptions.Tools. Si agrega su propia herramienta de búsqueda web sin deshabilitar el valor predeterminado, el agente recibe ambas herramientas.
La búsqueda web está hospedada por el proveedor de modelos; no hay ningún ciclo de vida de cliente de búsqueda local para que Harness lo administre. La disponibilidad, los modelos admitidos, los parámetros de búsqueda, la residencia de datos y la facturación dependen del IChatClient proveedor. Los clientes no admitidos pueden rechazar la herramienta hospedada cuando se envía la solicitud.
Trate las consultas de búsqueda y los resultados como datos que cruzan un límite de confianza externo. No incluya secretos en las consultas y trate las páginas recuperadas como contenido que no es de confianza que puede contener la inyección indirecta de mensajes. Compruebe las notificaciones y citas importantes antes de realizar acciones.
HarnessAgent está disponible en el Microsoft.Agents.AI.Harness paquete.
Para un agente sin formato, llame client.get_web_search_tool(...) a y pase la herramienta devuelta a Agent, como se muestra anteriormente.
create_harness_agent llama client.get_web_search_tool() a sin argumentos de forma predeterminada cuando el cliente implementa SupportsWebSearchTool:
from agent_framework import create_harness_agent
agent = create_harness_agent(client=client)
Si el cliente no implementa SupportsWebSearchTool, el generador registra una advertencia y continúa sin búsqueda web. Establézcalo disable_web_search=True para suprimir el registro automático y la advertencia.
Para pasar la configuración específica del proveedor, deshabilite el valor predeterminado y registre explícitamente la herramienta 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",
)
],
)
El proveedor posee la ejecución y el ciclo de vida de la búsqueda hospedada. Los parámetros, modelos, control de datos y facturación admitidos dependen de la implementación del cliente. No coloque secretos en consultas, trate el contenido recuperado como entrada que no es de confianza y compruebe las notificaciones y citas importantes antes de realizar acciones.
create_harness_agent se libera en agent-framework-core; la búsqueda web permanece disponible solo a través de los clientes que implementan SupportsWebSearchTool.
Go Harness empaquetado no está disponible actualmente. Agregue hostedtool.WebSearch a un agente de Go sin formato como se muestra anteriormente.