Skip to content

Implement Groq rate limits and set default model#86

Closed
bdcdo wants to merge 3 commits into
mainfrom
claude/groq-default-model-setup-qJul4
Closed

Implement Groq rate limits and set default model#86
bdcdo wants to merge 3 commits into
mainfrom
claude/groq-default-model-setup-qJul4

Conversation

@bdcdo
Copy link
Copy Markdown
Owner

@bdcdo bdcdo commented Jan 20, 2026

No description provided.

Implementa o Groq com modelo Kimi K2 Instruct como provider e modelo
default do dataframeit, substituindo o Google Gemini.

**Principais mudanças:**

- Define `moonshotai/kimi-k2-instruct-0905` como modelo default
- Define `groq` como provider default
- Adiciona `langchain-groq>=0.2.0` às dependências principais
- Adiciona seção opcional `groq` ao pyproject.toml

**Vantagens do Kimi K2 no Groq:**

- Free tier permanente: 60 RPM, 10.000 TPM
- Ultra-rápido: 200+ tokens/segundo
- Context window: 256K tokens (maior do Groq)
- MoE architecture: 1T parâmetros (32B ativos)
- Structured outputs + Function calling nativos
- Prompt caching com 50% desconto
- Pricing competitivo: $1.00/$3.00 por milhão de tokens

**Documentação atualizada:**

- README.md: instruções de instalação e API key
- docs/guides/providers.md: documentação completa do Groq
- Tabela comparativa de preços e rate limits (2026)
- Exemplos de uso com Kimi K2 e outros modelos Groq

Closes #75
Melhora significativamente a documentação para iniciantes:

**README.md:**
- Nova seção "💰 100% Gratuito com Groq!" logo após exemplo rápido
- Instruções claras sobre rate_limit_delay e parallel_requests
- Exemplos práticos de otimização para free tier
- Destaque para track_tokens=True para monitoramento

**docs/guides/providers.md:**
- Expande seção Groq com ênfase em free tier permanente
- Adiciona "Uso Básico" e "Otimizando para o Free Tier"
- Nova seção "🔧 Troubleshooting: Rate Limits" com 4 soluções
- Exemplos práticos de rate_limit_delay com parallel_requests
- Explica output do track_tokens
- Nova dica destacando que Groq é único com free tier permanente
- Comparação clara: Groq (free forever) vs outros providers

**Objetivo:**
Ajudar usuários iniciantes a começarem sem erros de rate limit,
entendendo como otimizar uso do free tier do Groq.
Corrige erro crítico na documentação que causaria rate limit 429.

**Problema:**
A documentação anterior sugeria:
- parallel_requests=3 + rate_limit_delay=1.0
- Isso resulta em ~180 RPM (3 × 60), ultrapassando o limite de 60 RPM

**Correção:**
Com N workers paralelos, o delay deve ser N × 1.0 segundo:
- 1 worker: rate_limit_delay=1.0 → 60 RPM
- 2 workers: rate_limit_delay=2.0 → 60 RPM total (30 cada)
- 3 workers: rate_limit_delay=3.0 → 60 RPM total (20 cada)

**Mudanças:**

README.md:
- Corrige exemplos de parallel_requests=3 para parallel_requests=2
- Adiciona fórmula clara: rate_limit_delay = N × 1.0
- Adiciona tabela de exemplos (1-3 workers)

docs/guides/providers.md:
- Renomeia para "Opção 1/2/3" para ficar mais claro
- Adiciona seção "⚠️ IMPORTANTE - Cálculo do delay"
- Adiciona fórmula matemática explícita
- Adiciona "❌ Erro comum" com exemplo do que NÃO fazer
- Tabela expandida com 1-4 workers

Agradecimentos ao usuário por identificar esse bug crítico!
@bdcdo
Copy link
Copy Markdown
Owner Author

bdcdo commented Apr 19, 2026

Fechando este PR. Decidimos não trocar o default para Groq e, em vez disso, adicionar Groq como provider opcional via extra pip install dataframeit[groq] — mantendo o padrão de providers opcionais do projeto e sem tornar langchain-groq uma dependência obrigatória. Um novo PR seguindo essa abordagem será aberto.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants