Gerenciamento de Janela de Contexto
Otimizando o uso do contexto disponível
A janela de contexto é o limite de tokens que um modelo pode processar em uma única interação. Gerenciar esse recurso de forma eficiente é crucial para obter respostas precisas e relevantes, especialmente em aplicações complexas.
Limites de Contexto por Modelo
Estratégias de Otimização
Resuma conversas anteriores mantendo informações essenciais
Inclua apenas contexto relevante para a tarefa atual
Mantenha as N mensagens mais recentes, descartando as antigas
Use bancos de dados vetoriais para armazenar e recuperar contexto
Introdução ao RAG
Retrieval-Augmented Generation
RAG (Retrieval-Augmented Generation) é uma arquitetura que combina a capacidade generativa de LLMs com busca em bases de conhecimento externas. Isso permite que o modelo responda com base em informações atualizadas e específicas do seu domínio.
Pipeline RAG
Vantagens
- • Conhecimento atualizado
- • Reduz alucinações
- • Citações verificáveis
- • Domínio específico
Desafios
- • Qualidade da recuperação
- • Latência adicional
- • Manutenção da base
- • Custo de embeddings
Embeddings e Busca Vetorial
Representação semântica de texto
Embeddings são representações numéricas (vetores) de texto que capturam seu significado semântico. Textos similares em significado terão vetores próximos no espaço vetorial, permitindo buscas por similaridade.
Como Funciona
# Texto Original
"O gato dormiu no sofá"
↓ Modelo de Embedding
# Vetor (simplificado)
[0.23, -0.45, 0.67, 0.12, -0.89, ...]
* Vetores reais têm 768-3072 dimensões
Modelos de Embedding Populares
Pinecone
DB vetorial gerenciado
Weaviate
Open source
Chroma
Leve e simples
Estratégias de Chunking
Dividindo documentos de forma inteligente
Chunking é o processo de dividir documentos grandes em segmentos menores para indexação. A estratégia de chunking impacta diretamente a qualidade da recuperação no RAG.
Estratégias de Chunking
📏 Por Tamanho Fixo
Divide em chunks de N tokens com overlap
📝 Por Estrutura
Respeita estrutura do documento (parágrafos, seções, markdown)
🧠 Semântico
Usa embeddings para identificar mudanças de tópico
🔄 Recursivo
Tenta separadores maiores primeiro, depois menores
Dica de Ouro
Não existe tamanho de chunk perfeito. Experimente valores entre 256-1024 tokens e avalie empiricamente qual funciona melhor para seu caso de uso específico.
Avaliação de Prompts
Métricas e metodologias de teste
Avaliar a qualidade de prompts e sistemas de IA é essencial para melhorias contínuas. Uma boa metodologia de avaliação combina métricas automáticas com revisão humana.
Framework de Avaliação
📊 Métricas Automáticas
- Relevância: Cosine similarity com gold standard
- Precisão: % respostas corretas
- Recall: % informações recuperadas
- Latência: Tempo de resposta
👥 Avaliação Humana
- Utilidade: A resposta ajuda o usuário?
- Clareza: É fácil de entender?
- Factualidade: Informações corretas?
- Completude: Aborda todos os pontos?
Metodologia de Teste
Criar Dataset de Teste
Colete exemplos representativos com respostas esperadas
Definir Métricas
Escolha métricas alinhadas com seus objetivos de negócio
Testar Variações
Compare diferentes versões do prompt (A/B testing)
Analisar e Iterar
Use insights para melhorar continuamente
Prompts em Produção
Deploy, monitoramento e escalabilidade
Levar sistemas de IA para produção requer atenção a aspectos como versionamento, monitoramento, segurança, custos e escalabilidade. Um deploy bem feito garante confiabilidade e permite melhorias contínuas.
Checklist de Produção
Versionamento
- • Controle de versão de prompts
- • Histórico de mudanças
- • Rollback fácil
Monitoramento
- • Logs de requisições
- • Métricas de qualidade
- • Alertas de anomalias
Segurança
- • Rate limiting
- • Input sanitization
- • Proteção de dados
Custos
- • Tracking de tokens
- • Otimização de prompts
- • Cache de respostas
Arquitetura de Referência
┌─────────────────────────────────────────┐
│ USUÁRIOS │
└──────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ API Gateway (Rate Limit, Auth) │
└──────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Prompt Service (Templates, Cache) │
└───────┬─────────────────────┬───────────┘
│ │
▼ ▼
┌───────────────┐ ┌───────────────────┐
│ Vector DB │ │ LLM API │
│ (RAG) │ │ (OpenAI, etc) │
└───────────────┘ └───────────────────┘
Projeto Final Integrador
Aplicando todos os conceitos do nível técnico
O projeto final é a oportunidade de demonstrar domínio das técnicas aprendidas. Você construirá um sistema completo de Q&A com RAG sobre uma base de conhecimento de sua escolha.
Especificação do Projeto
🎯 Objetivo
Criar um assistente de Q&A especializado que responde perguntas sobre um domínio específico (documentação técnica, manual de produto, base legal, etc.)
📋 Requisitos
- • Pipeline RAG completo (ingestão, chunking, embedding, retrieval)
- • System prompt profissional com persona e guardrails
- • Formatação estruturada de respostas
- • Citação de fontes nas respostas
- • Tratamento de perguntas fora do escopo
📦 Entregáveis
- 1. Documentação da arquitetura
- 2. System prompt completo e comentado
- 3. Código/configuração do pipeline RAG
- 4. Dataset de teste com 20+ perguntas
- 5. Relatório de avaliação com métricas
Rubrica de Avaliação
🎓 Parabéns!
Ao completar este projeto, você terá demonstrado competência em engenharia de prompt no nível técnico. Você está pronto para o Nível Masterclass!