Capítulo 2: Limites de Tokens e Janelas de Contexto
Evolução do Comprimento de Contexto
| Modelo | Ano | Contexto |
|---|---|---|
| GPT-3 | 2020 | 2K |
| GPT-3.5 | 2022 | 4K/16K |
| Claude 2 | 2023 | 100K |
| GPT-4 Turbo | 2023 | 128K |
| Claude 3 | 2024 | 200K |
| Gemini 1.5 | 2024 | 1M+ |
Manipulando Documentos Longos
Estratégias de Divisão (Chunking)
def chunk_text(text, max_tokens=4000, overlap=200):
tokens = tokenizer.encode(text)
chunks = []
for i in range(0, len(tokens), max_tokens - overlap):
chunk = tokens[i:i + max_tokens]
chunks.append(tokenizer.decode(chunk))
return chunks
RoPE para Contexto Longo
Rotary Position Embedding permite extrapolação de comprimento:
- LLaMA utiliza RoPE
- Informação de posição em rotação, não adição
Principais Pontos
dica
- As janelas de contexto cresceram drasticamente (2K → 1M+)
- Divisão com sobreposição preserva o contexto
- RoPE permite melhor manipulação de sequências longas