Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Поиск в Интернете позволяет агентам искать в Интернете сведения о up-to-date. Это средство позволяет агентам отвечать на вопросы о текущих событиях, находить документацию и получать доступ к информации за пределами обучающих данных.
Замечание
Доступность веб-поиска зависит от базового поставщика агента. Общие сведения о поддержке поставщиков см. в разделе " Общие сведения о поставщиках ".
В следующем примере показано, как создать агент с помощью средства поиска в Интернете:
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?"));
Предупреждение
DefaultAzureCredential удобно для разработки, но требует тщательного рассмотрения в рабочей среде. В рабочей среде рекомендуется использовать определенные учетные данные (например, ManagedIdentityCredential), чтобы избежать проблем с задержкой, непреднамеренной проверки данных аутентификации и потенциальных рисков безопасности из-за резервных механизмов.
В следующем примере показано, как создать агент с помощью средства поиска в Интернете:
# 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())
Поиск в Интернете
Тип hostedtool.WebSearch включает серверный веб-поиск при использовании поставщика, поддерживающего его.
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},
},
})
Замечание
Веб-поиск — это размещенное средство— поиск выполняется службой ИИ, а не локально.
Использование веб-поиска с агентом Use
Для обычного агента добавьте HostedWebSearchTool в средства агента, как показано ранее.
HarnessAgent добавляет один HostedWebSearchTool по умолчанию, поэтому регистрация инструментов не требуется:
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.",
},
});
Установите, DisableWebSearch = true если выбранный поставщик не поддерживает размещенный веб-поиск или когда вы хотите самостоятельно зарегистрировать средство ChatOptions.Toolsпоиска для конкретного поставщика. Если добавить собственный инструмент поиска в Интернете без отключения по умолчанию, агент получает оба средства.
Веб-поиск размещается поставщиком модели; Локальный жизненный цикл поиска и клиента для управления ими не существует. Доступность, поддерживаемые модели, параметры поиска, место расположения данных и выставление счетов зависят от IChatClient поставщика. Неподдерживаемые клиенты могут отклонять размещенное средство при отправке запроса.
Обрабатывать поисковые запросы и результаты как данные, пересекающие границу внешнего доверия. Не включать секреты в запросы и обрабатывать извлеченные страницы как ненадежное содержимое, которое может содержать непрямую внедрение запроса. Перед выполнением действий проверьте важные утверждения и ссылки.
HarnessAgent доступен из Microsoft.Agents.AI.Harness пакета.
Для обычного агента вызовите client.get_web_search_tool(...) и передайте возвращенное средство Agent, как показано ранее.
create_harness_agent вызовы client.get_web_search_tool() без аргументов по умолчанию при реализации клиентом SupportsWebSearchTool:
from agent_framework import create_harness_agent
agent = create_harness_agent(client=client)
Если клиент не реализует SupportsWebSearchTool, фабрика записывает предупреждение и продолжается без поиска в Интернете. Установите для disable_web_search=True подавления автоматической регистрации и предупреждения.
Чтобы передать параметры для конкретного поставщика, отключите значение по умолчанию и зарегистрируйте настроенное средство явным образом:
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",
)
],
)
Поставщик владеет выполнением размещенного поиска и жизненным циклом. Поддерживаемые параметры, модели, обработка данных и выставление счетов зависят от реализации клиента. Не помещайте секреты в запросы, рассматривайте полученное содержимое как ненадежные входные данные и проверяйте важные утверждения и ссылки перед выполнением действий.
create_harness_agent выпущен в agent-framework-core; поиск в Интернете остается доступным только через клиенты, реализующие SupportsWebSearchTool.
В настоящее время упакованный Go Harness недоступен. Добавьте hostedtool.WebSearch в обычный агент Go, как показано ранее.