Exercício - Use plugins integrados
Para este exercício, você adiciona um plug-in existente ao seu projeto de Kernel Semântico e aprende a usar seu primeiro plug-in para realizar uma tarefa. Vamos começar!
Preparar o ambiente de desenvolvimento
Para estes exercícios, um projeto inicial está disponível para você usar. Use as seguintes etapas para configurar o projeto inicial:
Importante
Você deve ter o Visual Studio Code e o .NET Framework 8.0 instalado para concluir essas etapas. Também pode ser necessário instalar a extensão Visual Studio Code C# Dev Kit.
Abra o Visual Studio Code.
Na seção Visual Studio Code Start , selecione Clone Git Repository.
Na barra de URL, digite
https://github.com/MicrosoftLearning/MSLearn-Develop-AI-Agents-with-Azure-OpenAI-and-Semantic-Kernel-SDK.git
No Explorador de Arquivos, crie uma nova pasta em um local fácil de encontrar e lembrar, como uma pasta na área de trabalho.
Clique no botão Selecionar como destino do repositório.
Você precisa estar conectado ao GitHub para clonar o projeto com êxito.
Abra o projeto no Visual Studio Code.
No Explorer, clique com o botão direito do mouse na pasta M02-create-plugins-for-semantic-kernel/M02-Project e clique em Abrir no Terminal Integrado.
Expanda a pasta M02-create-plugins-for-semantic-kernel/M02-Project .
Deverá ver um ficheiro "Program.cs".
Abra o arquivo Program.cs e atualize as seguintes variáveis com seu nome de implantação dos Serviços OpenAI do Azure, chave de API, ponto de extremidade.
string yourDeploymentName = ""; string yourEndpoint = ""; string yourKey = "";
Agora você está pronto para começar o exercício. Boa sorte!
Obter a intenção do usuário
No Terminal Integrado, adicione os Plug-ins do Kernel Semântico. Pacote principal para seu projeto executando o seguinte comando:
dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha
Nota
Atualmente o pacote é uma versão de pré-lançamento. Você pode querer verificar a versão mais recente https://www.nuget.org/packages/Microsoft.SemanticKernel.Plugins.Core/1.2.0-alpha
Adicione o seguinte código ao seu arquivo 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);
Neste código, você importa o
ConversationSummaryPlugin
doCore.Plugins
pacote. Você cria um novo construtor de kernel e adiciona o plug-in ao construtor. OConversationSummaryPlugin
apoia várias ações:GetConversationActionItems
,SummarizeConversation
, eGetConversationTopics
.Você cria uma cadeia de caracteres com uma conversa de exemplo, em seguida, chama o plug-in com o nome da função e passa a cadeia de caracteres de conversa. O plugin retorna um resumo da conversa.
Nota
Uma vez que o plugin ainda está em visualização, você pode precisar adicionar suprimir o aviso usando
#pragma warning disable SKEXP0050
na parte superior do arquivo.Execute o código inserindo
dotnet run
no terminal.Você verá uma resposta semelhante à seguinte saída:
{ "actionItems": [ { "owner": "", "actionItem": "Provide a list of vegan-friendly spicy breakfast recipes", "dueDate": "", "status": "Open", "notes": "" } ] }
Observe que o plug-in foi capaz de identificar uma intenção simplificada a partir da cadeia de caracteres de entrada.
Este exemplo é apenas o começo do que você pode fazer com o SDK do Kernel Semântico. Na próxima unidade, você aprenderá mais maneiras de personalizar plugins e executar funções.
Importante
Certifique-se de não excluir nenhum dos códigos que você escreveu, você precisa dele para os próximos exercícios.