Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Agent Framework unterstützt viele verschiedene Arten von Tools, die Agentfunktionen erweitern. Mit Tools können Agents mit externen Systemen interagieren, Code ausführen, Suchdaten und vieles mehr ausführen.
Tooltypen
| Tooltyp | Description |
|---|---|
| Funktionstools | Benutzerdefinierter Code, den Agents während Unterhaltungen anrufen können |
| Toolgenehmigung | Human-in-the-Loop-Genehmigung für Toolaufrufe |
| Codedolmetscher | Ausführen von Code in einer Sandkastenumgebung |
| Dateisuche | Durchsuchen von hochgeladenen Dateien |
| Websuche | Im Web nach Informationen suchen |
| Gehostete MCP-Tools | MCP-Tools, die von Azure AI Foundry gehostet werden |
| Lokale MCP-Tools | MCP-Tools, die lokal oder auf benutzerdefinierten Servern ausgeführt werden |
Anbieterunterstützungsmatrix
Die OpenAI- und Azure OpenAI-Anbieter bieten jeweils mehrere Clienttypen mit unterschiedlichen Toolfunktionen. Azure OpenAI-Clients spiegeln ihre OpenAI-Entsprechungen wieder.
| Tooltyp | Chatabschluss | Antworten | Assistenten | Azure AI Foundry | Anthropic | Ollama | GitHub Copilot | Copilot Studio |
|---|---|---|---|---|---|---|---|---|
| Funktionstools | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Toolgenehmigung | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Codedolmetscher | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Dateisuche | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Websuche | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Gehostete MCP-Tools | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Lokale MCP-Tools | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Hinweis
Die Spalten "Chatabschluss", "Antworten" und "Assistenten " gelten sowohl für OpenAI als auch für Azure OpenAI – die Azure-Varianten spiegeln die gleiche Toolunterstützung wie ihre OpenAI-Entsprechungen wider.
Anbieterunterstützungsmatrix
Die OpenAI- und Azure OpenAI-Anbieter bieten jeweils mehrere Clienttypen mit unterschiedlichen Toolfunktionen. Azure OpenAI-Clients spiegeln ihre OpenAI-Entsprechungen wieder.
| Tooltyp | Chatabschluss | Antworten | Assistenten | Azure AI Foundry | Anthropic | Claude Agent | Ollama | GitHub Copilot |
|---|---|---|---|---|---|---|---|---|
| Funktionstools | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Toolgenehmigung | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Codedolmetscher | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Dateisuche | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Websuche | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Bilderzeugung | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Gehostete MCP-Tools | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Lokale MCP-Tools | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Hinweis
Die Spalten "Chatabschluss", "Antworten" und "Assistenten " gelten sowohl für OpenAI als auch für Azure OpenAI – die Azure-Varianten spiegeln die gleiche Toolunterstützung wie ihre OpenAI-Entsprechungen wider. Lokale MCP-Tools funktionieren mit jedem Anbieter, der Funktionstools unterstützt.
Verwenden eines Agents als Funktionstool
Sie können einen Agent als Funktionstool für einen anderen Agent verwenden, wodurch die Agentkomposition und erweiterte Workflows aktiviert werden. Der innere Agent wird in ein Funktionstool konvertiert und an den äußeren Agent bereitgestellt, der ihn dann nach Bedarf aufrufen kann.
Rufen Sie .AsAIFunction() eine AIAgent Funktion auf, um sie in ein Funktionstool zu konvertieren, das einem anderen Agent zur Verfügung gestellt werden kann:
// 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?"));
Rufen Sie .as_tool() einen Agent auf, um ihn in ein Funktionstool zu konvertieren, das einem anderen Agent zur Verfügung gestellt werden kann:
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)
Sie können auch den Toolnamen, die Beschreibung und den Argumentnamen anpassen:
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"
)