Een Azure AI-agent maken met Microsoft Agent Framework
Tip
Zie het tabblad Tekst en afbeeldingen voor meer informatie.
De Foundry Agent Service is de aanbevolen provider voor productieomgevingen die zijn gebouwd met het Microsoft Agent Framework. Het verwerkt permanente gespreksgeschiedenis aan de servicezijde, ondersteunt ingebouwde hulpprogramma's zoals het uitvoeren van code en het zoeken van bestanden, en kan naadloos worden geïntegreerd met Azure identiteitsbeheer. Met deze functies kunt u zich richten op het gedrag van uw agent in plaats van de overhead van de infrastructuur.
Een Foundry-agent configureren
Het maken en gebruiken van een Foundry-agent volgt een consistente reeks stappen.
1. Uw Foundry-project instellen
Voordat u code schrijft, hebt u een Microsoft Foundry-project met een geïmplementeerd model nodig. U maakt verbinding met uw project met behulp van twee gegevens:
- Project eindpunt: de URL van uw Foundry-project.
- Naam van modelimplementatie: de naam van de modelimplementatie die u wilt gebruiken voor uw agent.
2. Verificatie configureren
Het Agent Framework maakt verbinding met uw Foundry-project met behulp van Azure referenties. In de meeste scenario's bepaalt DefaultAzureCredential automatisch de juiste aanmeldingsgegevens op basis van uw omgeving: Azure CLI tijdens de ontwikkeling en een beheerde identiteit in productie. Er hoeven geen verbindingsreeksen of API-sleutels te worden vastgelegd.
3. Initialiseren van de chatclient van Foundry
Maak een Foundry-chatclient door uw referenties, het projecteindpunt en de modelnaam op te geven. Deze client is de brug tussen uw toepassing en de Foundry Agent Service. Het verwerkt verificatie, aanvraagroutering en sessiebeheer aan de servicezijde.
4. De agent maken
Maak met behulp van de chatclient een agent door een set instructies op te geven waarmee het gedrag wordt gedefinieerd:
- Instructies: de systeemprompt waarmee de rol, doelstellingen en beperkingen van de agent worden gedefinieerd
- Hulpprogramma's(optioneel)— Aangepaste functies die de agent kan aanroepen om acties uit te voeren of informatie op te halen
Het framework registreert alle hulpprogramma's die u opgeeft en genereert automatisch hun schema's, zodat het model weet wanneer en hoe ze moeten worden aangeroepen.
5. Een sessie opzetten en de agent uitvoeren
Om te beginnen met interactie opent u via de agentinstantie een sessie. De sessie fungeert als de container voor de gespreksstatus. U verzendt gebruikersberichten naar de uitvoeringsmethode van de sessie, die de prompt verwerkt, alle benodigde hulpprogrammaaanroepen coördineert en het antwoord van het model retourneert.
Gesprekken met meerdere beurten
Eén aanroep van de run-methode van de agent verwerkt één uitwisseling: één gebruikersbericht, één antwoord. Voor een echt gesprek hebt u de agent nodig om te onthouden wat er eerder is gezegd. Dat is waar een sessie voor is.
Voor de Foundry-provider worden de sessies ondersteund door opslag aan de servicezijde. De gespreksgeschiedenis bevindt zich in de Foundry Agent-service in plaats van in het geheugen van uw toepassing.
Persistente geschiedenis—Omdat de status aan de servicezijde wordt bewaard, kan het gesprek van een gebruiker over meerdere aanvragen heen worden voortgezet, zelfs als uw toepassing opnieuw wordt opgestart of wordt uitgeschaald naar meerdere exemplaren.
Lokale geschiedenis: voor providers die geen ondersteuning bieden voor geschiedenis aan de servicezijde, behoudt het framework de gespreksstatus in het geheugen binnen het sessieobject. Lokale geschiedenis is geschikt voor kortstondige of staatloze toepassingen, maar blijft niet behouden tijdens het opnieuw opstarten van processen.
Nietstreaming versus streaming-antwoorden
Het Agent Framework ondersteunt twee antwoordmodi:
Niet-streaming (synchroon): de uitvoeringsmethode wacht totdat de agent de verwerking heeft voltooid en retourneert een volledig antwoordobject. Niet-streamen is het eenvoudigste patroon en werkt goed als u de uitvoer niet incrementeel hoeft weer te geven.
Streaming (asynchroon): de uitvoeringsmethode retourneert een antwoordstroom die u asynchroon doorloopt en gedeeltelijke updates ontvangt terwijl het model deze genereert. Streaming is beter geschikt voor gebruikersgerichte interfaces, waarbij de uitvoer de ervaring geleidelijk verbetert.
In beide gevallen wordt in het antwoord een text eigenschap weergegeven waarmee alle tekstinhoud uit de uitvoer van de agent wordt geaggregeerd, waardoor het eenvoudig is om het uiteindelijke antwoord te extraheren, ongeacht de modus die u gebruikt.