Exercício – Usar plug-ins internos
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 fazer uma tarefa. Vamos começar!
Preparar seu ambiente de desenvolvimento
No caso desses exercícios, um projeto inicial está disponível para você usar. Use as seguintes etapas para configurar o projeto inicial:
Importante
Você deverá ter o Visual Studio Code e o .NET Framework 8.0 instalados para concluir essas etapas. É possível que você também precise instalar a extensão do Kit de Desenvolvimento do C# do Visual Studio Code.
Abra o Visual Studio Code.
Na seção Iniciar do Visual Studio Code, selecione Clonar repositório do Git.
Na barra de URL, insira
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 localizar e lembrar, como uma pasta em sua Á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.
Você deve ver um arquivo "Program.cs".
Abra o arquivo Program.cs e atualize as seguintes variáveis com o nome de implantação dos Serviços OpenAI do Azure, a chave de API e o 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
Observação
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);
Nesse código, você importa o
ConversationSummaryPlugin
do pacoteCore.Plugins
. Você cria um novo construtor de kernel e adiciona o plug-in ao construtor. OConversationSummaryPlugin
aceita várias ações:GetConversationActionItems
,SummarizeConversation
eGetConversationTopics
.Você cria uma cadeia de caracteres com uma conversa de exemplo e, em seguida, chama o plug-in com o nome da função e passa a cadeia de caracteres da conversa. O plug-in retorna um resumo da conversa.
Observação
Como o plug-in ainda está em pré-visualização, poderá ser necessário suprimir o aviso usando
#pragma warning disable SKEXP0050
na parte superior do arquivo.Execute o código inserindo
dotnet run
no terminal.Você deverá 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 com base na 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 plug-ins e executar funções.
Importante
Certifique-se de não excluir nenhum código que você escreveu, pois ele será necessário para os próximos exercícios.