Udostępnij przez


Omówienie narzędzi

Struktura agentów obsługuje wiele różnych typów narzędzi, które rozszerzają możliwości agenta. Narzędzia umożliwiają agentom interakcję z systemami zewnętrznymi, wykonywanie kodu, wyszukiwanie danych i nie tylko.

Typy narzędzi

Typ narzędzia Opis
Narzędzia funkcji Kod niestandardowy, który agenci mogą wywoływać podczas konwersacji
Zatwierdzanie narzędzi Zatwierdzanie pętli przez człowieka dla wywołań narzędzi
Interpreter kodów Wykonywanie kodu w środowisku w trybie piaskownicy
wyszukiwanie plików Wyszukiwanie przekazanych plików
Wyszukiwanie w Sieci Web Wyszukaj informacje w Internecie
Hostowane narzędzia MCP Narzędzia MCP hostowane przez usługę Azure AI Foundry
Lokalne narzędzia MCP Narzędzia MCP uruchomione lokalnie lub na serwerach niestandardowych

Macierz obsługi dostawcy

Dostawcy openAI i Azure OpenAI oferują wiele typów klientów z różnymi możliwościami narzędzi. Klienci usługi Azure OpenAI dublują swoje odpowiedniki openAI.

Typ narzędzia Uzupełnianie czatu Odpowiedzi Asystenci Azure AI Foundry Antropiczny Ollama GitHub Copilot Copilot Studio
Narzędzia funkcji
Zatwierdzanie narzędzi
Interpreter kodów
wyszukiwanie plików
Wyszukiwanie w Sieci Web
Hostowane narzędzia MCP
Lokalne narzędzia MCP

Uwaga / Notatka

Kolumny Uzupełnianie czatu, Odpowiedzi i Asystenty mają zastosowanie zarówno do interfejsu OpenAI, jak i usługi Azure OpenAI — warianty platformy Azure dublują tę samą obsługę narzędzia co ich odpowiedniki openAI.

Macierz obsługi dostawcy

Dostawcy openAI i Azure OpenAI oferują wiele typów klientów z różnymi możliwościami narzędzi. Klienci usługi Azure OpenAI dublują swoje odpowiedniki openAI.

Typ narzędzia Uzupełnianie czatu Odpowiedzi Asystenci Azure AI Foundry Antropiczny Claude Agent Ollama GitHub Copilot
Narzędzia funkcji
Zatwierdzanie narzędzi
Interpreter kodów
wyszukiwanie plików
Wyszukiwanie w Sieci Web
Generowanie obrazów
Hostowane narzędzia MCP
Lokalne narzędzia MCP

Uwaga / Notatka

Kolumny Uzupełnianie czatu, Odpowiedzi i Asystenty mają zastosowanie zarówno do interfejsu OpenAI, jak i usługi Azure OpenAI — warianty platformy Azure dublują tę samą obsługę narzędzia co ich odpowiedniki openAI. Lokalne narzędzia MCP współpracują z dowolnym dostawcą, który obsługuje narzędzia funkcji.

Używanie agenta jako narzędzia funkcji

Agent można użyć jako narzędzia funkcji dla innego agenta, umożliwiając kompozycję agenta i bardziej zaawansowane przepływy pracy. Agent wewnętrzny jest konwertowany na narzędzie funkcji i dostarczany do agenta zewnętrznego, który może następnie wywołać go w razie potrzeby.

Wywołaj .AsAIFunction() metodę AIAgent , aby przekonwertować ją na narzędzie funkcji, które można udostępnić innemu agentowi:

// Create the inner agent with its own tools
AIAgent weatherAgent = new AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com"),
    new AzureCliCredential())
     .GetChatClient("gpt-4o-mini")
     .AsAIAgent(
        instructions: "You answer questions about the weather.",
        name: "WeatherAgent",
        description: "An agent that answers questions about the weather.",
        tools: [AIFunctionFactory.Create(GetWeather)]);

// Create the main agent and provide the inner agent as a function tool
AIAgent agent = new AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com"),
    new AzureCliCredential())
     .GetChatClient("gpt-4o-mini")
     .AsAIAgent(instructions: "You are a helpful assistant.", tools: [weatherAgent.AsAIFunction()]);

// The main agent can now call the weather agent as a tool
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));

Wywołaj .as_tool() agenta, aby przekonwertować go na narzędzie funkcji, które można udostępnić innemu agentowi:

from agent_framework.azure import AzureOpenAIChatClient
from azure.identity import AzureCliCredential

# Create the inner agent with its own tools
weather_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
    name="WeatherAgent",
    description="An agent that answers questions about the weather.",
    instructions="You answer questions about the weather.",
    tools=get_weather
)

# Create the main agent and provide the inner agent as a function tool
main_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
    instructions="You are a helpful assistant.",
    tools=weather_agent.as_tool()
)

# The main agent can now call the weather agent as a tool
result = await main_agent.run("What is the weather like in Amsterdam?")
print(result.text)

Możesz również dostosować nazwę narzędzia, opis i nazwę argumentu:

weather_tool = weather_agent.as_tool(
    name="WeatherLookup",
    description="Look up weather information for any location",
    arg_name="query",
    arg_description="The weather query or location"
)

Dalsze kroki