Guia Prático: Como Criar Agentes com Semantic Kernel, Azure OpenAI Services e Azure Functions
A criação de agentes inteligentes, que unem o poder da IA com a automação de processos, está transformando empresas em diversos setores — e o impacto é ainda maior na construção civil. Agora, imagine um agente capaz de planejar obras residenciais de alto padrão, oferecendo suporte a engenheiros e arquitetos na definição de cronogramas detalhados, na criação de EAPs e na organização automatizada de tarefas. Esse tipo de solução não é mais um sonho distante, mas uma realidade acessível. Neste guia, vamos te mostrar como desenvolver agentes de IA que potencializam essas capacidades, utilizando ferramentas como o Semantic Kernel, Azure OpenAI Services e Functions. Prepare-se para descobrir como a tecnologia pode revolucionar o planejamento de obras. Vamos começar!
Objetivo do Artigo
Neste guia passo a passo, você aprenderá como criar um agente especialista em planejamento de obras residenciais utilizando o Semantic Kernel, integrado com Azure OpenAI Services e Functions. O objetivo é oferecer uma abordagem prática e diferente, permitindo que você consuma o agente por meio de um endpoint HTTP. Vamos abordar desde a criação do serviço no Azure até a configuração de plugins e persona, explorando cada etapa com exemplos claros e diretos.
Visão Geral
Neste guia, abordaremos a criação de um agente especialista em planejamento de obras residenciais, utilizando o Semantic Kernel, o Azure OpenAI Services e Azure Functions. O agente terá como objetivo auxiliar engenheiros e arquitetos na organização de cronogramas, estruturação de projetos e definição de tarefas. Chamado de Clariane, este agente será projetado para fornecer suporte inteligente a partir de uma interface HTTP, utilizando plugins e inteligência artificial para expandir suas habilidades.
Passo 1: Provisionando o Azure OpenAI Services
O primeiro passo para criar nosso agente é garantir que você tenha o serviço Azure OpenAI Services provisionado na sua assinatura Azure. Este serviço será a base para interagirmos com os modelos distribuídos pela OpenAI, como o GPT, que será utilizado para dar vida ao agente.
Como provisionar:
- Acesse o portal do Azure e crie uma nova instância de Azure OpenAI Services ou utilize uma existente.
- Distribua o modelo desejado (neste caso, GPT-4 ou GPT-4o), estou usando o GPT-4o.
Nota: Certifique-se de que o serviço esteja ativo e disponível, e que você tenha todas as permissões configuradas corretamente, pois será necessário a Apikey e Endpoint para que possamos integrá-lo ao código mais adiante.
Veja as imagens em ordem abaixo dos passos necessários para provisionamento do recurso e distribuição do modelo.
Passo 2: Criando o Projeto no Visual Studio
Com o Azure OpenAI Services provisionado, é hora de criar o projeto no Visual Studio. O exemplo deste guia será baseado em uma Azure Function com gatilho HTTP para facilitar a interação via API. Você pode optar por usar o Visual Studio, Visual Studio Code, ou a CLI, conforme sua preferência.
Instruções:
- Crie um novo projeto de Azure Functions com o gatilho HTTP.
- Adicione os seguintes pacotes via NuGet:
- Microsoft.SemanticKernel
- Microsoft.SemanticKernel.Core
- Microsoft.SemanticKernel.Plugins.Core
Dica: Estou usando o Visual Studio com .NET 8. Caso precise de mais informações sobre Azure Functions, consulte a documentação oficial.
Passo 3: Configurando o Código Inicial do Semantic Kernel
Agora, com o projeto configurado, vamos configurar o código inicial para testar o Semantic Kernel. Nessa etapa, vamos garantir que a integração entre a Azure Function e o Azure OpenAI Services está funcionando corretamente, sem adicionar plugins ainda.
Confira nas imagens abaixo os testes realizados no Postman. Observe que o agente responde a qualquer pergunta, mesmo aquelas que estão fora do contexto ao qual será projetado.
Passo 4: Criando o Agente “Clariane”
Agora chegamos à parte mais empolgante: a criação do nosso agente! Como mencionado anteriormente, um agente é composto por três elementos principais:
- Plugins (Ferramentas)
- Planner (Orquestração)
- Persona (Identidade)
Persona “Clariane”:
Nossa persona será uma especialista em planejamento de obras residenciais, com foco em moradias como casas térreas e sobrados de alto padrão. A identidade do agente será responsável por suas decisões e limitações. A persona foi criada utilizando o ChatGPT para definir suas características e o escopo de atuação.
Dica: Ao definir um contexto específico, o agente será mais eficiente e relevante para as demandas do usuário.
Nas imagens abaixo, você pode ver os testes realizados no Postman. Agora, o agente exibe uma mensagem de boas-vindas e responde apenas dentro do contexto para o qual foi projetado. No próximo tópico, vamos adicionar plugins para ampliar as capacidades do agente.
Importante: Para o teste da requisição http, foi usado o seguinte valor “O tipo será cassa térrea, 240 metros quadrados, com acabamento de luxo, serão 4 quarto, 1 escritório, 1 sala para dois ambientes, 1 cozinha estilo americana, 1 espaço goumert, 1 piscina e 5 vagas de garagem, disposição para energia solar e aquecimento de agua para a casa e piscina.” para o parâmetro “question”.
Passo 5: Adicionando Plugins e Configurando o Planner
Com a persona definida, é hora de dar mais poder ao nosso agente adicionando plugins e configurando o planner para orquestrar suas funções. Para nosso exemplo, vamos criar um plugin que ajude a gerar e salvar uma Estrutura Analítica de Projeto (EAP).
Plugins Criados:
- EAP Cronograma: Responsável por direcionar as regras para geração das datas do cronograma.
- EAP Salvar: Salva a EAP em um arquivo TXT para consulta futura.
Importante: Note que, além de adicionarmos os plugins no código, também ajustamos o prompt do nosso agente. Os três últimos itens são os mais relevantes para ativar os plugins configurados.
Exemplo do código:
No código a seguir temos a implementação do plugin EAP.
Nas imagens a seguir poderá visualizar os resultados do nosso agente.
Tenha acesso ao código completo deste artigo em meu repositório no Github.
Conclusão
Neste guia, abordamos como criar um agente especialista em planejamento de obras residenciais utilizando o poder do Semantic Kernel e Azure OpenAI Services. Passamos pelo provisionamento dos serviços, configuração do projeto e criação de plugins e personas. Esta solução pode ser expandida para inúmeras outras funcionalidades, como sumarização de documentos, cálculos avançados e automação de processos de engenharia.
Se você gostou deste conteúdo, deixe seu comentário e compartilhe suas dúvidas. Em breve, lançarei um projeto completo com práticas de segurança e observabilidade para uso corporativo!
Newsletter
Inscreva-se para saber em primeira mão as notificações dos novos artigos