azure-ai-services

Guia Prático: Como Criar um Agente Especialista em Planejamento de Obras com Semantic Kernel, Azure OpenAI Services e Functions

Aprenda como criar um agente especialista em planejamento de obras residenciais utilizando o Semantic Kernel, integrado com Azure OpenAI Services e Functions.

Alexandre Izefler
azure-ai-servicesazure-functionssemantic-kernelinteligencia-artificialplanejamento-obras

Agents AI Semantic Kernel Samples

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.

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 Azure Functions. O objetivo é oferecer uma abordagem prática e diferente, permitindo que você consuma o agente por meio de um endpoint HTTP.

Visão Geral

Este guia aborda 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 será chamado de "Clariane" e terá como objetivo auxiliar engenheiros e arquitetos na organização de cronogramas, estruturação de projetos e definição de tarefas.

Tecnologias Utilizadas

  • Semantic Kernel - Framework para integração de IA
  • Azure OpenAI Services - Serviços de IA da Microsoft
  • Azure Functions - Computação serverless
  • C# - Linguagem de programação
  • Visual Studio - IDE de desenvolvimento

Estrutura do Artigo

Passo 1: Provisionando o Azure OpenAI Services

O primeiro passo é provisionar o Azure OpenAI Services na sua assinatura Azure. Você precisará:

  1. Acessar o portal do Azure
  2. Criar uma nova instância do Azure OpenAI Services
  3. Configurar o modelo GPT-4 ou GPT-4o
  4. Obter as chaves de API e endpoint

Passo 2: Criando o Projeto no Visual Studio

Para este projeto, você precisará criar um projeto Azure Functions com as seguintes configurações:

  1. Criar projeto Azure Functions com gatilho HTTP
  2. Adicionar pacotes NuGet essenciais:
    • Microsoft.SemanticKernel
    • Microsoft.SemanticKernel.Core
    • Microsoft.SemanticKernel.Plugins.Core
dotnet add package Microsoft.SemanticKernel
dotnet add package Microsoft.SemanticKernel.Core
dotnet add package Microsoft.SemanticKernel.Plugins.Core

Passo 3: Configurando o Código Inicial do Semantic Kernel

Nesta etapa, você irá configurar a integração entre Azure Function e Azure OpenAI Services:

public class SK_PlanningEAP_Agent_3 
{
    [Function("SK_PlanningEAP_Agent_3_Http")]
    public async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        // Configuração inicial do Semantic Kernel
        var builder = Kernel.CreateBuilder();
        
        // Adicionar Azure OpenAI Service
        builder.AddAzureOpenAIChatCompletion(
            deploymentName: "gpt-4", 
            endpoint: "YOUR_AZURE_OPENAI_ENDPOINT",
            apiKey: "YOUR_API_KEY"
        );
        
        var kernel = builder.Build();
        
        // Implementação do agente...
    }
}

Passo 4: Criando o Agente "Clariane"

Persona "Clariane"

A definição da persona é crucial para o comportamento do agente:

var persona = @"
Você é Clariane, uma especialista em planejamento de obras residenciais de alto padrão.
Sua expertise inclui:
- Criação de cronogramas detalhados
- Estruturação de EAPs (Estrutura Analítica do Projeto)
- Organização de tarefas por prioridade
- Conhecimento em normas técnicas brasileiras
- Experiência em projetos de construção civil
 
Você deve sempre:
- Ser precisa e técnica nas suas respostas
- Considerar aspectos de segurança e qualidade
- Sugerir melhores práticas da construção civil
- Organizar informações de forma clara e estruturada
";

Passo 5: Adicionando Plugins e Configurando o Planner

Plugins Criados

Para tornar o agente mais funcional, foram criados plugins específicos:

  1. EAP Cronograma Plugin

    • Função: Criar cronogramas detalhados
    • Parâmetros: Tipo de obra, prazo, complexidade
  2. EAP Salvar Plugin

    • Função: Salvar estruturas de projeto
    • Parâmetros: Nome do projeto, dados da EAP
// Exemplo de plugin para cronograma
[KernelFunction("criar_cronograma")]
[Description("Cria um cronograma detalhado para obra residencial")]
public async Task<string> CriarCronograma(
    [Description("Tipo de obra (casa, apartamento, reforma)")] string tipoObra,
    [Description("Prazo em meses")] int prazoMeses,
    [Description("Área em metros quadrados")] double area
)
{
    // Lógica para criar cronograma
    return $"Cronograma criado para {tipoObra} de {area}m² em {prazoMeses} meses";
}

Configuração do Planner

// Configurar o planner para orquestração
var planner = new HandlebarsPlanner(new HandlebarsPlannerOptions()
{
    AllowLoops = true,
    MaxIteration = 10
});
 
// Adicionar plugins ao kernel
kernel.Plugins.AddFromType<EAPCronogramaPlugin>();
kernel.Plugins.AddFromType<EAPSalvarPlugin>();

Exemplo de Uso

Uma vez implementado, o agente pode ser consumido via HTTP:

{
  "message": "Preciso criar um cronograma para uma casa de 150m² com prazo de 8 meses",
  "context": {
    "tipo_projeto": "residencial",
    "cliente": "João Silva"
  }
}

Resposta do Agente:

{
  "response": "Olá! Sou a Clariane. Vou criar um cronograma detalhado para sua obra...",
  "cronograma": {
    "fases": [
      {
        "nome": "Fundação",
        "duracao": "15 dias",
        "atividades": ["Escavação", "Armação", "Concretagem"]
      },
      {
        "nome": "Estrutura",
        "duracao": "45 dias", 
        "atividades": ["Pilares", "Vigas", "Lajes"]
      }
    ]
  }
}

Benefícios da Solução

Automatização do processo de planejamento
Expertise especializada em construção civil
Escalabilidade via Azure Functions
Integração fácil com sistemas existentes
Customização através de plugins

Conclusão

Este guia demonstra como desenvolver agentes especializados utilizando o Semantic Kernel pode revolucionar processos específicos, como o planejamento de obras na construção civil. A combinação das tecnologias Azure oferece uma solução robusta, escalável e de fácil manutenção.

O agente "Clariane" representa apenas o início das possibilidades. Com essa base, você pode expandir funcionalidades, adicionar novos plugins e integrar com outras ferramentas do ecossistema Azure.

Próximos Passos

  • Implementar validações de dados de entrada
  • Adicionar logging e monitoramento
  • Criar interface web para interação
  • Integrar com sistemas de gestão de projetos
  • Expandir plugins para outras especialidades

Referências e Recursos Adicionais


Tags: Azure AI Services, Azure Functions, Semantic Kernel, Inteligência Artificial, Planejamento de Obras, Construção Civil, Automação, C#, .NET