Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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"
)