Web Search

A Web Search lehetővé teszi, hogy az ügynökök up-to-date információkat keressenek a weben. Ez az eszköz lehetővé teszi az ügynökök számára, hogy válaszoljanak az aktuális eseményekre vonatkozó kérdésekre, dokumentációt keressenek, és a betanítási adatokon túl hozzáférjenek az információkhoz.

Megjegyzés:

A webkeresés elérhetősége az alapul szolgáló ügynök szolgáltatójától függ. A szolgáltatóspecifikus támogatásért tekintse meg a Szolgáltatók áttekintése című témakört .

Az alábbi példa bemutatja, hogyan hozhat létre ügynököt a Web Search eszközzel:

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?"));

Figyelmeztetés

DefaultAzureCredential a fejlesztéshez kényelmes, de a termelési környezetben gondos megfontolást igényel. Éles környezetben fontolja meg egy adott hitelesítő adat (pl. ManagedIdentityCredential) használatát a késési problémák elkerülése, a hitelesítő adatok nem szándékos próbálgatásának és a tartalék mechanizmusokból eredő esetleges biztonsági kockázatok elkerülése érdekében.

Az alábbi példa bemutatja, hogyan hozhat létre ügynököt a Web Search eszközzel:

# 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())

Webes keresés

Ez a hostedtool.WebSearch típus lehetővé teszi a kiszolgálóoldali webkeresést, ha olyan szolgáltatót használ, amely támogatja azt.

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},
    },
})

Megjegyzés:

A webes keresés egy üzemeltetett eszköz – a keresést nem helyben, hanem az AI szolgáltatás végzi.

Webes keresés használata a Hámügynökkel

Egyszerű ügynök esetén adja hozzá HostedWebSearchTool az ügynök eszközeihez a korábban bemutatott módon. HarnessAgent alapértelmezés szerint hozzáad egyet HostedWebSearchTool , ezért nincs szükség eszközregisztrációra:

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.",
    },
});

Akkor állítsa be DisableWebSearch = true , ha a kijelölt szolgáltató nem támogatja a üzemeltetett webes keresést, vagy ha saját maga szeretne regisztrálni egy szolgáltatóspecifikus keresőeszközt ChatOptions.Tools. Ha saját webkereső eszközt ad hozzá az alapértelmezett beállítás letiltása nélkül, az ügynök mindkét eszközt megkapja.

A webkeresést a modellszolgáltató üzemelteti; Nincs helyi keresési-ügyfél-életciklus a Hám számára, amelyet kezelni szeretne. A rendelkezésre állás, a támogatott modellek, a keresési paraméterek, az adatok tartózkodási helye és a számlázás a IChatClient szolgáltatótól függ. A nem támogatott ügyfelek elutasíthatják az üzemeltetett eszközt a kérés elküldésekor.

A keresési lekérdezések és eredmények kezelése külső megbízhatósági határt átlépő adatként. Ne tartalmazzon titkos kulcsokat a lekérdezésekben, és ne kezelje a lekért lapokat nem megbízható tartalomként, amelyek indirekt parancssori injektálást tartalmazhatnak. A műveletek végrehajtása előtt ellenőrizze a fontos jogcímeket és idézeteket.

HarnessAgent elérhető a Microsoft.Agents.AI.Harness csomagból.

Egyszerű ügynök esetén hívja fel client.get_web_search_tool(...) és adja át a visszaadott eszközt Agenta korábban látható módon. create_harness_agent alapértelmezés szerint argumentum nélküli hívások client.get_web_search_tool() , amikor az ügyfél implementálja a következőt SupportsWebSearchTool:

from agent_framework import create_harness_agent

agent = create_harness_agent(client=client)

Ha az ügyfél nem implementál SupportsWebSearchTool, a gyár naplóz egy figyelmeztetést, és webes keresés nélkül folytatja. Állítsa be disable_web_search=True az automatikus regisztráció és a figyelmeztetés letiltására.

A szolgáltatóspecifikus beállítások megadásához tiltsa le az alapértelmezett beállítást, és regisztrálja a konfigurált eszközt kifejezetten:

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",
        )
    ],
)

A szolgáltató rendelkezik az üzemeltetett keresés végrehajtásával és életciklusával. A támogatott paraméterek, modellek, adatkezelés és számlázás az ügyfél implementációjától függenek. Ne tegyen titkos kulcsokat a lekérdezésekbe, ne kezelje a beolvasott tartalmat nem megbízható bemenetként, és a műveletek végrehajtása előtt ellenőrizze a fontos jogcímeket és idézeteket.

create_harness_agent kiadásra agent-framework-corekerül; a webes keresés csak a implementálást végrehajtó SupportsWebSearchToolügyfeleken keresztül érhető el.

A csomagolt Go Harness jelenleg nem érhető el. Hozzáadás hostedtool.WebSearch egyszerű Go-ügynökhöz a korábban látható módon.

Következő lépések