Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med webbsökning kan agenter söka på webben efter information om up-to-date. Med det här verktyget kan agenter svara på frågor om aktuella händelser, hitta dokumentation och komma åt information utöver sina träningsdata.
Anmärkning
Webbsökningstillgänglighet beror på den underliggande agentprovidern. Se Provideröversikt för providerspecifik support.
I följande exempel visas hur du skapar en agent med verktyget Webbsökning:
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?"));
Varning
DefaultAzureCredential är praktiskt för utveckling men kräver noggrant övervägande i produktion. I produktion bör du överväga att använda en specifik autentiseringsuppgift (t.ex. ManagedIdentityCredential) för att undvika problem med svarstid, oavsiktlig avsökning av autentiseringsuppgifter och potentiella säkerhetsrisker från reservmekanismer.
I följande exempel visas hur du skapar en agent med verktyget Webbsökning:
# 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())
Webbsökning
Typen hostedtool.WebSearch aktiverar webbsökning på serversidan när du använder en provider som stöder den.
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},
},
})
Anmärkning
Webbsökning är ett värdbaserat verktyg – sökningen utförs av AI-tjänsten, inte lokalt.
Använda webbsökning med Harness Agent
För en vanlig agent lägger du till HostedWebSearchTool i agentens verktyg, som du visade tidigare.
HarnessAgent lägger till en HostedWebSearchTool som standard, så ingen verktygsregistrering krävs:
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.",
},
});
Ange DisableWebSearch = true när den valda providern inte stöder värdbaserad webbsökning eller när du vill registrera ett providerspecifikt sökverktyg själv via ChatOptions.Tools. Om du lägger till ett eget webbsökningsverktyg utan att inaktivera standardinställningen tar agenten emot båda verktygen.
Webbsökningen hanteras av modellprovidern. Det finns ingen lokal livscykel för sökningsklienten som Harness kan hantera. Tillgänglighet, modeller som stöds, sökparametrar, datahemvist och fakturering beror på IChatClient leverantören. Klienter som inte stöds kan avvisa det värdbaserade verktyget när begäran skickas.
Behandla sökfrågor och resultat som data som korsar en extern förtroendegräns. Inkludera inte hemligheter i frågor och behandla hämtade sidor som ej betrott innehåll som kan innehålla indirekt promptinmatning. Kontrollera viktiga anspråk och citat innan du vidtar åtgärder.
HarnessAgent är tillgängligt från Microsoft.Agents.AI.Harness paketet.
För en vanlig agent anropar client.get_web_search_tool(...) och skickar du det returnerade verktyget till Agent, som du visade tidigare.
create_harness_agent anropar client.get_web_search_tool() utan argument som standard när klienten implementerar SupportsWebSearchTool:
from agent_framework import create_harness_agent
agent = create_harness_agent(client=client)
Om klienten inte implementerar SupportsWebSearchToolloggar fabriken en varning och fortsätter utan webbsökning. Ange disable_web_search=True för att förhindra automatisk registrering och varningen.
Om du vill skicka providerspecifika inställningar inaktiverar du standardvärdet och registrerar det konfigurerade verktyget explicit:
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",
)
],
)
Providern äger körning och livscykel för värdbaserad sökning. Parametrar, modeller, datahantering och fakturering som stöds beror på klientimplementeringen. Placera inte hemligheter i frågor, behandla hämtat innehåll som ej betrodda indata och verifiera viktiga anspråk och citat innan du vidtar åtgärder.
create_harness_agent släpps i agent-framework-core. Webbsökning är endast tillgängligt via klienter som implementerar SupportsWebSearchTool.
En paketerad Go-sele är inte tillgänglig för närvarande. Lägg till hostedtool.WebSearch i en vanlig Go-agent som du visade tidigare.