Implementando um assistente pessoal com IA no Azure, passo a passo

No post anterior, eu desenhei um assistente que consulta runbooks, mantém contexto e chama ferramentas de infraestrutura. A arquitetura fazia sentido, mas ainda tinha um problema: os exemplos eram recortes. Faltavam os arquivos que conectam uma parte à outra. Neste post, parto de uma aplicação que roda localmente sem Azure e levo a mesma vertical slice para Container Apps, Azure OpenAI e Azure AI Search. O código está no repositório agentic-infra-handbook, em labs/personal-assistant. O README do lab também traz um passo a passo independente para executar o projeto localmente e fazer o deploy no Azure, incluindo App Registration, configuração do AZD, callback de autenticação, validação e limpeza dos recursos. ...

3 de agosto de 2026 · 22 minutos · Ricardo Martins

Como RAG funciona: da teoria ao pipeline

O VP de produto chega na daily: “Quero que o chatbot responda perguntas sobre nossa documentação interna. Tem 2000 páginas de runbooks, políticas, e procedimentos. O ChatGPT não sabe nada disso.” O time de ML responde: “Vamos implementar RAG.” Todo mundo faz que sim com a cabeça. Você fica com a tarefa de provisionar a infra. Antes de subir recurso, vale entender o que RAG realmente faz por dentro. tl;dr: RAG é pipeline de indexação + retrieval + prompt. O que mais quebra em produção é chunk ruim, busca ruim e custo do LLM, não falta de fine-tuning. ...

2 de julho de 2026 · 8 minutos · Ricardo Martins

Como vector databases funcionam por dentro

O time de ML acabou de te pedir um “vector database” em produção. Você sabe operar PostgreSQL, Redis, Cosmos DB. Mas isso? É um banco de dados ou um índice de busca? Precisa de backup? Tem replicação? Qual o modelo de consistência? Aqui dentro: o que é, como funciona por dentro, e como operar em produção. tl;dr: vector database, na prática, é um motor de busca por similaridade com índice ANN. O custo mora em RAM, recall, rebuild de índice e operação de busca, não só em “guardar vetores”. ...

29 de junho de 2026 · 8 minutos · Ricardo Martins