Övning – Använda inbyggda plugin-program

Slutförd

I den här övningen lägger du till ett befintligt plugin-program i ditt Semantic Kernel-projekt och lär dig hur du använder ditt första plugin-program för att utföra en uppgift. Nu sätter vi igång!

Förbereda utvecklingsmiljön

För de här övningarna är ett startprojekt tillgängligt för dig att använda. Använd följande steg för att konfigurera startprojektet:

Viktigt!

Du måste ha Visual Studio Code och .NET Framework 8.0 installerat för att slutföra de här stegen. Du kan också behöva installera Tillägget Visual Studio Code C# Dev Kit.

  1. Öppna Visual Studio Code.

  2. Under avsnittet Start i Visual Studio Code väljer du Klona Git-lagringsplats.

  3. I URL-fältet anger du https://github.com/MicrosoftLearning/MSLearn-Develop-AI-Agents-with-Azure-OpenAI-and-Semantic-Kernel-SDK.git

  4. I Utforskaren skapar du en ny mapp på en plats som är lätt att hitta och komma ihåg, till exempel en mapp i skrivbordet.

  5. Klicka på knappen Välj som lagringsplatsmål.

    Du måste vara inloggad på GitHub för att kunna klona projektet.

  6. Öppna projektet i Visual Studio Code.

  7. Högerklicka på mappen M02-create-plugins-for-semantic-kernel/M02-Project i Utforskaren och klicka på Öppna i integrerad terminal.

  8. Expandera mappen M02-create-plugins-for-semantic-kernel/M02-Project.

    Du bör se filen "Program.cs".

  9. Öppna filen Program.cs och uppdatera följande variabler med distributionsnamnet för Azure OpenAI Services, API-nyckeln och slutpunkten.

    string yourDeploymentName = "";
    string yourEndpoint = "";
    string yourKey = "";
    

Nu är du redo att börja övningen. Lycka till!

Hämta användarens avsikt

  1. I den integrerade terminalen lägger du till semantiska kernel-plugin-program. Kärnpaket till projektet genom att köra följande kommando: dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha

    Kommentar

    För närvarande är paketet en förhandsversion. Du kanske vill söka efter den senaste versionen https://www.nuget.org/packages/Microsoft.SemanticKernel.Plugins.Core/1.2.0-alpha

  2. Lägg till följande kod i din Program.cs-fil:

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

    I den här koden importerar ConversationSummaryPlugin du från Core.Plugins paketet. Du skapar en ny kernel builder och lägger till plugin-programmet i byggaren. Stöder ConversationSummaryPlugin flera åtgärder: GetConversationActionItems, SummarizeConversationoch GetConversationTopics.

    Du skapar en sträng med en exempelkonversation och anropar sedan plugin-programmet med funktionsnamnet och skickar konversationssträngen. Plugin-programmet returnerar en sammanfattning av konversationen.

    Kommentar

    Eftersom plugin-programmet fortfarande är i förhandsversion kan du behöva lägga till ignorera varningen med hjälp #pragma warning disable SKEXP0050 av längst upp i filen.

  3. Kör koden genom att ange dotnet run i terminalen.

    Du bör se ett svar som liknar följande utdata:

    {
        "actionItems": [
            {
                "owner": "",
                "actionItem": "Provide a list of vegan-friendly spicy breakfast recipes",
                "dueDate": "",
                "status": "Open",
                "notes": ""
            }
        ]
    }
    

    Observera att plugin-programmet kunde identifiera en förenklad avsikt från indatasträngen.

Det här exemplet är bara början på vad du kan göra med Semantic Kernel SDK. I nästa lektion får du lära dig fler sätt att anpassa plugin-program och köra funktioner.

Viktigt!

Se till att inte ta bort någon av koden du skrev, du behöver den för nästa övningar.