Esercizio - Usare i plug-in predefiniti
Per questo esercizio, si aggiunge un plug-in esistente al progetto Kernel semantico e si apprende come usare il primo plug-in per eseguire un'attività. È ora di iniziare.
Preparare l'ambiente di sviluppo
Per questi esercizi è disponibile un progetto iniziale da usare. Per configurare il progetto iniziale, seguire questa procedura:
Importante
Per completare questi passaggi, è necessario che sia installato Visual Studio Code e .NET Framework 8.0. Potrebbe anche essere necessario installare l'estensione Visual Studio Code C# Dev Kit.
Aprire Visual Studio Code.
Nella sezione Avvia di Visual Studio Code selezionare Clona repository Git.
Nella barra dell'URL immettere
https://github.com/MicrosoftLearning/MSLearn-Develop-AI-Agents-with-Azure-OpenAI-and-Semantic-Kernel-SDK.git
In Esplora file creare una nuova cartella in un percorso facile da trovare e ricordare, ad esempio una cartella sul desktop.
Fare clic sul pulsante Seleziona come destinazione repository.
È necessario accedere a GitHub per clonare correttamente il progetto.
Aprire il progetto in Visual Studio Code.
In Explorer, fare clic con il pulsante destro del mouse sulla cartella M02-create-plugins-for-semantic-kernel/M02-Project e scegliere Apri nel terminale integrato.
Espandere la cartella M02-create-plugins-for-semantic-kernel/M02-Project.
Verrà visualizzato un file "Program.cs".
Aprire il file Program.cs e aggiornare le variabili seguenti con il nome della distribuzione dei Servizi OpenAI di Azure, la chiave API e l'endpoint.
string yourDeploymentName = ""; string yourEndpoint = ""; string yourKey = "";
A questo punto si è pronti per iniziare l'esercizio. Buona fortuna!
Ottenere l’intento dell’utente
Nel terminale integrato aggiungere i plug-in del kernel semantico. Per aggiungere il pacchetto di base al progetto, eseguire il comando seguente:
dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha
Nota
Attualmente il pacchetto è una versione non definitiva. È consigliabile verificare la disponibilità dell’ultima versione https://www.nuget.org/packages/Microsoft.SemanticKernel.Plugins.Core/1.2.0-alpha
Aggiungere il codice seguente al file Program.cs:
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 questo codice si importa l'oggetto
ConversationSummaryPlugin
dal pacchettoCore.Plugins
. Si crea un nuovo generatore di kernel e quindi si aggiunge il plug-in al generatore.ConversationSummaryPlugin
supporta diverse azioni:GetConversationActionItems
,SummarizeConversation
eGetConversationTopics
.Si crea una stringa con una conversazione di esempio, quindi si chiama il plug-in con il nome della funzione e si passa la stringa di conversazione. Il plug-in restituisce un riepilogo della conversazione.
Nota
Poiché il plug-in è ancora in anteprima, potrebbe essere necessario aggiungere elimina l'avviso usando
#pragma warning disable SKEXP0050
nella parte superiore del file.Eseguire il codice immettendo
dotnet run
nel terminale.La risposta dovrebbe essere simile all'output seguente:
{ "actionItems": [ { "owner": "", "actionItem": "Provide a list of vegan-friendly spicy breakfast recipes", "dueDate": "", "status": "Open", "notes": "" } ] }
Si noti che il plug-in è stato in grado di identificare un intento semplificato dalla stringa di input.
Questo esempio è solo l'inizio delle operazioni che è possibile eseguire con l’SDK Kernel semantico. Nell'unità successiva verranno illustrati altri modi per personalizzare i plug-in ed eseguire le funzioni.
Importante
Assicurarsi di non eliminare nulla del codice scritto finora perché sarà necessario per gli esercizi successivi.