Oefening: ingebouwde invoegtoepassingen gebruiken
Voor deze oefening voegt u een bestaande invoegtoepassing toe aan uw Semantic Kernel-project en leert u hoe u uw eerste invoegtoepassing gebruikt om een taak uit te voeren. Laten we beginnen.
Uw ontwikkelomgeving voorbereiden
Voor deze oefeningen is er een startersproject beschikbaar dat u kunt gebruiken. Gebruik de volgende stappen om het startersproject in te stellen:
Belangrijk
U moet Visual Studio Code en .NET Framework 8.0 hebben geïnstalleerd om deze stappen uit te voeren. Mogelijk moet u ook de Visual Studio Code C# Dev Kit-extensie installeren.
Open Visual Studio Code.
Selecteer Git-opslagplaats klonen in de sectie Start van Visual Studio Code.
Voer in de URL-balk het volgende in
https://github.com/MicrosoftLearning/MSLearn-Develop-AI-Agents-with-Azure-OpenAI-and-Semantic-Kernel-SDK.git
Maak in de Bestandenverkenner een nieuwe map op een locatie die gemakkelijk te vinden en te onthouden is, zoals een map in uw bureaublad.
Klik op de knop Selecteren als opslagplaatsbestemming .
U moet zijn aangemeld bij GitHub om het project te klonen.
Open het project in Visual Studio Code.
Klik in Explorer met de rechtermuisknop op de map M02-create-plugins-for-semantic-kernel/M02-Project en klik op Openen in geïntegreerde terminal.
Vouw de map M02-create-plugins-for-semantic-kernel/M02-Project uit.
Als het goed is, ziet u een bestand met de naam 'Program.cs'.
Open het Program.cs-bestand en werk de volgende variabelen bij met de naam van uw Azure OpenAI Services-implementatie, API-sleutel, eindpunt.
string yourDeploymentName = ""; string yourEndpoint = ""; string yourKey = "";
Nu bent u klaar om de oefening te starten. Succes!
De intentie van de gebruiker ophalen
Voeg in de geïntegreerde terminal de Semantische kernelinvoegtoepassingen toe. Basispakket voor uw project door de volgende opdracht uit te voeren:
dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha
Notitie
Momenteel is het pakket een voorlopige versie. Mogelijk wilt u controleren op de nieuwste versie https://www.nuget.org/packages/Microsoft.SemanticKernel.Plugins.Core/1.2.0-alpha
Voeg de volgende code toe aan uw Program.cs-bestand:
builder.Plugins.AddFromType<ConversationSummaryPlugin>(); var kernel = builder.Build(); string input = @"I'm a vegan in search of new recipes. I love spicy food! Can you give me a list of breakfast recipes that are vegan friendly?"; var result = await kernel.InvokeAsync( "ConversationSummaryPlugin", "GetConversationActionItems", new() {{ "input", input }}); Console.WriteLine(result);
In deze code importeert u het
ConversationSummaryPlugin
uit hetCore.Plugins
pakket. U maakt een nieuwe kernelbouwer en voegt de invoegtoepassing toe aan de opbouwfunctie. DeConversationSummaryPlugin
ondersteuning biedt ondersteuning voor verschillende acties:GetConversationActionItems
,SummarizeConversation
enGetConversationTopics
.U maakt een tekenreeks met een voorbeeldgesprek en roept de invoegtoepassing vervolgens aan met de functienaam en geeft de gespreksreeks door. De invoegtoepassing retourneert een samenvatting van het gesprek.
Notitie
Omdat de invoegtoepassing nog in preview is, moet u mogelijk de waarschuwing onderdrukken door boven aan het bestand te gebruiken
#pragma warning disable SKEXP0050
.Voer de code uit door de terminal in te voeren
dotnet run
.Als het goed is, ziet u een antwoord dat lijkt op de volgende uitvoer:
{ "actionItems": [ { "owner": "", "actionItem": "Provide a list of vegan-friendly spicy breakfast recipes", "dueDate": "", "status": "Open", "notes": "" } ] }
U ziet dat de invoegtoepassing een vereenvoudigde intentie van de invoertekenreeks kon identificeren.
Dit voorbeeld is slechts het begin van wat u kunt doen met de Semantische Kernel SDK. In de volgende les leert u meer manieren om invoegtoepassingen aan te passen en functies uit te voeren.
Belangrijk
Zorg ervoor dat u geen code verwijdert die u hebt geschreven. U hebt deze nodig voor de volgende oefeningen.