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