Hulpprogramma's toevoegen aan Azure AI-agent
Tip
Zie het tabblad Tekst en afbeeldingen voor meer informatie.
Hulpprogramma's stellen uw agent in staat om actie te ondernemen. Roep API's aan, voer code uit, zoekbestanden of communiceer met externe services. Zonder hulpprogramma's kan een agent alleen tekst genereren op basis van wat al bekend is. Met hulpmiddelen kan het inwerken op de wereld.
Het Microsoft Agent Framework ondersteunt twee algemene categorieën hulpprogramma's: door de service geleverde hulpprogramma's die worden gehost en beheerd door de provider, en aangepaste functiehulpprogramma's die u zelf schrijft en bij de agent registreert.
Door de service geleverde hulpprogramma's
Wanneer u de Foundry-provider gebruikt, zijn er verschillende gehoste hulpprogramma's beschikbaar zonder extra implementatie. U kunt ze inschakelen door ze op te slaan in de agentconfiguratie. De provider verwerkt de werkelijke uitvoering.
De meestgebruikte hulpprogramma's die door de service worden geleverd, zijn onder andere:
| Tool | Wat het doet |
|---|---|
| Code-interpreter | Voert Python code uit in een sandboxomgeving voor berekeningen en gegevensanalyse |
| Zoeken naar bestanden | Zoekt en haalt informatie op uit geüploade documenten |
| Zoeken op internet | Haalt actuele informatie van het internet op |
| Gehoste MCP-tools | MCP-servers (Model Context Protocol) die rechtstreeks door de providerruntime worden aangeroepen |
| Azure AI Zoeken | Query's uitvoeren op een Azure AI Zoeken-index via een Foundry-verbinding |
| Foundry-gereedschapskisten | Benoemde, geversiede bundels van gehoste hulpprogrammaconfiguraties die worden beheerd in een Foundry-project |
Note
Sommige hulpprogramma's, waaronder Azure AI Zoeken, Bing Grounding, SharePoint en andere, zijn in preview of experimenteel. Ze zijn beschikbaar voor Foundry-agents, maar hebben mogelijk beperkte ondersteuning voor andere providers.
Aangepaste functiegereedschappen
Met aangepaste functiehulpprogramma's kunt u uw agent uitbreiden met elke logica die u nodig hebt: het aanroepen van interne API's, het uitvoeren van query's op databases, het uitvoeren van berekeningen of iets anders dat een Python functie kan doen.
Als u een functie als een hulpprogramma wilt registreren, geeft u deze rechtstreeks door aan de agent tijdens het maken. Het framework inspecteert de handtekening van de functie en genereert een schema dat aangeeft wat de functie doet, welke parameters er worden verwacht en wat deze retourneert.
Om een hulpprogramma betrouwbaar aan te roepen, moet uw functie duidelijk worden beschreven. Het Agent Framework ondersteunt twee benaderingen:
-
Typeannotaties met beschrijvingen—gebruik het
Annotated-type van Python met een beschrijving van een veld voor elke parameter. De docstring van de functie fungeert als de beschrijving van het hulpprogramma. -
De
@tooldecorator: geef expliciet de naam en beschrijving van het hulpprogramma op als decoratorargumenten, zodat u volledige controle hebt over wat het model ziet. U kunt ook een expliciet schema opgeven met behulp van een Pydantic-model als u nauwkeurige controle over de invoerstructuur nodig hebt.
In beide gevallen verwerkt het framework het genereren van schema's en het aanroepen van hulpprogramma's automatisch. Wanneer het model bepaalt dat een hulpprogramma moet worden aangeroepen, voert het framework de functie uit en retourneert het resultaat terug naar het model voordat het uiteindelijke antwoord wordt gegenereerd.
Meerdere hulpprogramma's toevoegen
U kunt meerdere hulpprogramma's registreren met één agent. Geef een lijst met functies door bij het maken van de agent en het model selecteert automatisch het meest geschikte hulpprogramma voor elk deel van het gesprek. U hoeft geen routeringslogica te schrijven: het framework verwerkt de indeling van hulpprogramma's op basis van de gesprekscontext en de beschrijvingen van de hulpprogramma's die u opgeeft.
Goedkeuring van tools
Voor scenario's waarbij voor aanroepen van hulpprogramma's menselijke beoordeling moet worden vereist voordat het wordt uitgevoerd, ondersteunt het Agent Framework een goedkeuringspatroon voor hulpprogramma's. Wanneer de goedkeuringsmodus is ingeschakeld op een tool, pauzeert de agent voordat die functie aanroept en vraagt om bevestiging. Dit is handig voor acties die onherstelbaar, duur zijn of gevoelige gegevens bevatten. Goedkeuringsgedrag kan per hulpprogramma worden geconfigureerd met behulp van de approval_mode parameter op de @tool decorator.
Een agent gebruiken als hulpprogramma
Agents kunnen worden samengesteld door één agent als tool voor een andere agent te gebruiken. U converteert een interne agent naar een functiehulpprogramma en geeft deze door aan een buitenste agent, die vervolgens specifieke taken aan de agent kan delegeren. Dit maakt modulaire ontwerpen mogelijk waarbij gespecialiseerde agents bepaalde domeinen verwerken en een coördinerende agent aanvragen tussen hen routeert, een patroon dat uitgebreider is verkend in de module met meerdere agents.
Aanbevolen procedures voor aangepaste hulpprogramma's
- Duidelijke beschrijvingen schrijven: de mogelijkheid van het model om het juiste hulpprogramma te kiezen, is volledig afhankelijk van de beschrijvingen die u opgeeft. Wees specifiek over wat de functie doet en wanneer deze moet worden gebruikt.
- Aantekeningen toevoegen aan elke parameter: beschrijf elke invoer zodat het model geldige aanroepen kan maken, met name wanneer parameternamen alleen niet zelf verklarend zijn.
- Nuttige gegevens retourneren. Hulpprogramma's moeten gestructureerde, interpreteerbare uitvoer retourneren. Het model gebruikt de retourwaarde rechtstreeks bij het vormen van de reactie.
- Houd hulpprogramma's gefocust. Elk hulpprogramma moet één ding goed doen. Het combineren van meerdere verantwoordelijkheden in één functie maakt het moeilijker voor het model om het correct aan te roepen.
- Fouten probleemloos afhandelen: als een hulpprogramma een onverwachte invoer tegenkomt of een externe service mislukt, retourneert u een informatief foutbericht in plaats van een uitzondering op te stellen, zodat het model nuttig kan reageren.