Blog
Escrita
Notas sobre AI/ML Engineering, Generative AI, MLOps e o que estou aprendendo no caminho.
Frameworks para construção de agentes de IA: um guia prático
Como LangGraph, CrewAI, AutoGen e outros frameworks organizam raciocínio, ferramentas e memória em agentes prontos para produção.
Fine-tuning, RAG ou prompt engineering: quando usar cada um
Como decidir entre adaptar o modelo, recuperar contexto ou refinar o prompt — critérios práticos para cada abordagem em produção.
Como avaliar um sistema RAG antes de ir para produção
Métricas, datasets de teste e o que medir além da resposta 'parecer boa' — faithfulness, context precision e evals com RAGAS.
RAG na prática: construindo sistemas de recuperação com LangChain
Um guia visual e direto ao ponto sobre como construir um pipeline RAG robusto — dos embeddings ao reranking.
Embeddings explicados: a base da busca semântica
Como vetores transformam texto em busca por significado — similaridade, modelos de embedding e exemplo prático em Python.
Pipelines de dados na AWS: Glue, Lambda e Redshift na prática
Como montar um pipeline ETL na AWS — ingestão no S3, transformação com Glue, processamento com Lambda e analytics no Redshift.
Prometheus, Grafana e drift detection em modelos em produção
Como monitorar modelos de ML em produção — métricas operacionais, drift de features e alertas com Prometheus e Grafana.
CI/CD para modelos de ML com GitHub Actions
Como automatizar testes, treino e deploy de modelos com GitHub Actions — gates de qualidade, artefatos e promoção controlada.
MLOps na prática: MLflow, DVC e versionamento de modelos
Como versionar dados, treinar modelos reprodutíveis e registrar experimentos com DVC e MLflow — do notebook ao artefato rastreável.
Como extrair sinais úteis de dados financeiros e transacionais
Feature engineering para modelos tabulares: agregações temporais, razões, encoding e seleção de variáveis com dados de crédito e transações.
Do notebook ao Streamlit: construindo um modelo de score de crédito
Como levar um classificador de inadimplência do Jupyter para uma aplicação interativa — pipeline, serialização e interface com Streamlit.
SMOTE, ADASYN e outras técnicas para classes desbalanceadas
Como lidar com datasets onde a classe minoritária é rara — do diagnóstico à escolha entre oversampling, undersampling e class weights.