Overzicht van hulpprogramma's

Agent Framework ondersteunt veel verschillende typen hulpprogramma's waarmee de mogelijkheden van agents worden uitgebreid. Met hulpprogramma's kunnen agents communiceren met externe systemen, code uitvoeren, gegevens zoeken en meer.

Typen hulpprogramma's

Type hulpprogramma Description
Functiehulpmiddelen Aangepaste code die agents kunnen aanroepen tijdens gesprekken
Code-interpreter Code uitvoeren in een sandbox-omgeving
Bestand Zoeken Zoeken naar geüploade bestanden
Zoeken op internet Zoeken op internet naar informatie
Gehoste MCP-hulpprogramma's MCP-servers die worden aangeroepen door de runtime van de provider
Lokale MCP-hulpprogramma's MCP-servers die lokaal of op aangepaste hosts worden uitgevoerd
Foundry Toolboxes Benoemde, geversiede bundels van gehoste hulpprogrammaconfiguraties die worden beheerd in een Foundry-project
Type hulpprogramma Description
Functiehulpmiddelen Aangepaste code die agents kunnen aanroepen tijdens gesprekken
Code-interpreter Code uitvoeren in een sandbox-omgeving
Bestand Zoeken Zoeken naar geüploade bestanden
Zoeken op internet Zoeken op internet naar informatie
Gehoste MCP-hulpprogramma's MCP-servers die worden aangeroepen door de runtime van de provider
Lokale MCP-hulpprogramma's MCP-servers die lokaal of op aangepaste hosts worden uitgevoerd
Foundry Toolboxes Benoemde, geversiede bundels van gehoste hulpprogrammaconfiguraties die worden beheerd in een Foundry-project
Beeldgeneratie Hosted image generation on the Foundry /OpenAI Responses Runtime
Shell Gehoste shell-uitvoering op de Runtime voor OpenAI-antwoorden, verschilt van de ingebouwde shell-/file-/URL-runtimehulpprogramma's van de GitHub Copilot CLI
Bing Aarding Webaarding via uw eigen Grounding met Bing Search-resource - experimenteel
Bing Aangepaste Zoekopdracht Bing grounding beperkt tot een gecureerde domeinlijst - preview
Azure AI Zoeken Een query uitvoeren op een Azure AI Zoeken-index via een Foundry-verbinding , experimenteel
SharePoint Basisantwoorden in SharePoint inhoud - preview
Microsoft Fabric Een query uitvoeren op een Fabric-gegevensagent - preview
Geheugen zoeken Zoeken in een door Foundry beheerd geheugenarchief - preview
Computergebruik Een bureaublad- of browseromgeving stimuleren - preview
Browserautomatisering Een browser sturen via Azure Playwright - preview
Agent-to-Agent (A2A)-tool Een externe A2A-agent aanroepen als een hulpprogramma van een Foundry-agent — preview

Opmerking

Hulpprogramma's die zijn gemarkeerd als experimenteel of voorbeeld , worden beschreven op de relevante providerpagina en verzenden een ExperimentalWarning eerste keer dat ze in een proces worden gebruikt.

Goedkeuring van hulpprogramma

Goedkeuring van hulpprogramma's is een frameworkfunctie waarmee u elke aanroep van hulpprogramma's ( functiehulpprogramma's, gehoste hulpprogramma's, MCP-hulpprogramma's ) kunt gateen via een beslissing voor menselijke in-the-loop voordat het model het resultaat ontvangt. Het wordt verwerkt door de functie-aanroepende chatclient van het framework in zowel .NET als Python, dus werkt het met elke provider waarvan de client hulpprogramma's lokaal aanroept; het is geen mogelijkheid per provider. Zie de pagina Goedkeuring van hulpprogramma's voor het volledige patroon, inclusief hoe goedkeuringen communiceren met sessies, streaming en middleware.

Ondersteuningsmatrix voor providers

De OpenAI- en Azure OpenAI-providers bieden elk twee clienttypen, antwoorden en chatvoltooiing, met verschillende hulpprogrammamogelijkheden. Azure OpenAI-clients spiegelen hun OpenAI-equivalenten. Copilot Studio en A2A agents worden uitgevoerd op een externe service, zodat hun mogelijkheden zijn geconfigureerd op de externe agent in plaats van via de Agent Framework-client. Ze worden niet vermeld in de matrix.

Type hulpprogramma Reacties Chatvoltooiing Gieterij Antropisch Ollama GitHub-copiloot
Functiehulpmiddelen
Code-interpreter
Bestand Zoeken
Zoeken op internet
Gehoste MCP-hulpprogramma's
Lokale MCP-hulpprogramma's

Opmerking

De kolommen Responses en Chatvoltooiing zijn van toepassing op zowel OpenAI als Azure OpenAI: de Azure varianten spiegelen dezelfde toolondersteuning als hun OpenAI-tegenhangers. De afgeschafte OpenAI Assistants-API wordt niet meer gedocumenteerd; Zie de migratiehandleiding voor Semantic Kernel voor migratierichtlijnen.

Ondersteuningsmatrix voor providers

De OpenAI- en Azure OpenAI-providers bieden elk meerdere clienttypen met verschillende hulpprogrammamogelijkheden. Azure OpenAI-clients spiegelen hun OpenAI-equivalenten. De kolom Foundry is van toepassing op FoundryChatClient : voor FoundryAgent, de hulpprogramma's zijn geconfigureerd op de definitie van de Foundry-agent (zie Wat werkt en wat niet met FoundryAgent). Copilot Studio en A2A agents worden uitgevoerd op een externe service, zodat hun mogelijkheden zijn geconfigureerd op de externe agent in plaats van via de Agent Framework-client. Ze worden niet vermeld in de matrix.

Type hulpprogramma Reacties Chatvoltooiing Gieterij Antropisch Ollama Foundry Local GitHub-copiloot
Functiehulpmiddelen ⚠️¹ ⚠️¹
Code-interpreter
Bestand Zoeken
Zoeken op internet
Beeldgeneratie
Gehoste Shell (get_shell_tool)
Ingebouwde shell/ bestandssysteem/URL ophalen ✅²
Gehoste MCP-hulpprogramma's
Lokale MCP-hulpprogramma's
Foundry Toolboxes
Bing Grounding (experimenteel)
Bing Custom Search (preview)
Azure AI Zoeken (experimenteel)
SharePoint (preview)
Microsoft Fabric (preview)
Geheugen zoeken (preview)
Computergebruik (preview)
Browserautomatisering (preview)
Hulpprogramma agent-naar-agent (A2A) ( preview)

¹ Is afhankelijk van het gekozen lokale model dat functie aanroept. ² Ingebouwd in de GitHub Copilot CLI-runtime, die wordt beveiligd door een machtigingshandler. Verschillend oppervlak van OpenAI's get_shell_tool.

Opmerking

De kolommen Responses en Chatvoltooiing zijn van toepassing op zowel OpenAI als Azure OpenAI: de Azure varianten spiegelen dezelfde toolondersteuning als hun OpenAI-tegenhangers. Lokale MCP-hulpprogramma's werken met elke provider die functiehulpprogramma's ondersteunt.

Een agent gebruiken als functiehulpmiddel

U kunt een agent gebruiken als functiehulpmiddel voor een andere agent, waardoor agentsamenstelling en geavanceerdere werkstromen mogelijk zijn. De binnenste agent wordt geconverteerd naar een functiehulpmiddel en geleverd aan de buitenste agent, die deze vervolgens indien nodig kan aanroepen.

Roep .AsAIFunction() een AIAgent aan om deze te converteren naar een functiehulpprogramma dat kan worden geleverd aan een andere agent:

// Create the inner agent with its own tools
AIAgent weatherAgent = new AIProjectClient(
    new Uri("<your-foundry-project-endpoint>"),
    new DefaultAzureCredential())
     .AsAIAgent(
        model: "gpt-4o-mini",
        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 AIProjectClient(
    new Uri("<your-foundry-project-endpoint>"),
    new DefaultAzureCredential())
     .AsAIAgent(
        model: "gpt-4o-mini",
        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?"));

Waarschuwing

DefaultAzureCredential is handig voor ontwikkeling, maar vereist zorgvuldige overwegingen in de productieomgeving. Overweeg in productie een specifieke referentie te gebruiken (bijvoorbeeld ManagedIdentityCredential) om latentieproblemen, onbedoelde referentieprobing en potentiële beveiligingsrisico's van terugvalmechanismen te voorkomen.

Roep .as_tool() een agent aan om deze te converteren naar een functiehulpprogramma dat kan worden geleverd aan een andere agent:

import os
from agent_framework.openai import OpenAIChatCompletionClient
from azure.identity import AzureCliCredential

# Create the inner agent with its own tools
weather_agent = OpenAIChatCompletionClient(
    model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
    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 = OpenAIChatCompletionClient(
    model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
    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)

U kunt ook de naam, beschrijving en argumentnaam van het hulpprogramma aanpassen:

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

Volgende stappen