Spaces:
Sleeping
A newer version of the Gradio SDK is available:
6.6.0
Limitacoes do Hugging Face Spaces
Guia completo sobre limitacoes ao usar o RAG Template no Hugging Face Spaces.
Hardware Spaces (Free Tier)
CPU Basic
Recursos:
- 2 vCPU
- 16 GB RAM
- 50 GB disco
Limitacoes:
- Sem GPU (embeddings e inference via CPU)
- Cold start: 30-60 segundos
- Timeout: 60 segundos por request
Limitacoes de Performance
Embeddings
Modelo: sentence-transformers/all-MiniLM-L6-v2
Performance:
- Geracao: ~100-200ms por documento (CPU)
- Batch de 10 docs: ~1-2 segundos
- Upload de 100 docs: ~10-20 segundos
Recomendacoes:
- Limite uploads a 50-100 documentos por vez
- Use documentos menores (<10 paginas)
- Evite PDFs muito grandes (>5MB)
Busca Vetorial
Performance:
- Query simples: 50-150ms
- Hybrid search: 100-300ms
- Com reranking: 200-500ms
Recomendacoes:
- Limite top_k a 10 ou menos
- Use reranking apenas quando necessario
- Considere indices otimizados (IVFFLAT)
Geracao de Respostas
HuggingFace Inference API (Free)
Limites:
- ~30,000 tokens/hora
- Queue em horarios de pico
- Timeout de 60 segundos
- Modelos limitados
Performance:
- Geracao: 2-10 segundos
- Pode ter espera na queue
- Tokens/segundo: variavel
Recomendacoes:
- Use modelos menores (7B parameters)
- Limite max_tokens a 512
- Evite uso intensivo em pico
OpenAI / Anthropic
Limites:
- Baseado em creditos da conta
- Rate limits por tier
- Custos por token
Performance:
- GPT-3.5: ~1-3 segundos
- GPT-4: ~3-10 segundos
- Claude: ~2-5 segundos
Limitacoes de Database
Espaco de Armazenamento
O Space em si nao armazena dados persistentes. Voce precisa de banco externo:
Supabase Free
- Storage: 500MB
- Documentos: ~300,000 chunks pequenos
- Embeddings (384d): ~1.5KB por documento
- Estimativa: 500MB = ~330k documentos
Calculo:
Documento medio: 1000 chars = 1 chunk
Embedding: 384 floats * 4 bytes = 1536 bytes
Metadata: ~100 bytes
Total: ~1.6KB por documento
500MB / 1.6KB = ~312,500 documentos
Neon Free
- Storage: 10GB
- Documentos: ~6M chunks pequenos
- Compute: 100 horas/mes
Connection Limits
Supabase Free
- Conexoes simultaneas: ~50
- Pooling: Sim (pgBouncer)
Neon Free
- Conexoes simultaneas: 1000
- Pooling: Sim (integrado)
Recomendacao: Configure connection pooling no app.
Cold Start
O que e Cold Start?
Quando seu Space nao recebe requests por algum tempo, ele "dorme". No proximo acesso:
- Container reinicia
- Dependencias carregam
- Modelos baixam
- Banco conecta
Tempo total: 30-60 segundos
Como Mitigar
Keep-alive simples:
# Ping a cada 10 minutos (externamente) curl https://seu-space.hf.spaceUpgrade para persistente:
- Spaces Pro: Sem cold start
- Custo: $5-20/mes
Timeouts
Request Timeout
Limite: 60 segundos
Impacto:
- Uploads muito grandes podem falhar
- Geracao longa pode timeout
- Processos pesados podem ser interrompidos
Solucoes:
- Divida uploads grandes em batches
- Limite max_tokens
- Use modelos mais rapidos
- Otimize queries
Idle Timeout
Free Tier: Space pausa apos ~15 minutos sem uso
Pro: Sem pause
Limites de Rede
Bandwidth
Free Tier: Ilimitado (com fair use)
Upload:
- Limite pratico: ~100MB por arquivo
- Multiple uploads: OK
Download:
- Responses: Sem limite oficial
- Fair use aplicado
Limitacoes de Features
Nao Disponivel no Spaces Free
- GPU: Apenas CPU (ou upgrade)
- Persistencia de dados: Precisa banco externo
- Scheduled jobs: Nao suportado
- WebSockets persistentes: Limitado
- Custom domains: Apenas em Pro
Disponivel
- Gradio interface: Totalmente suportado
- PostgreSQL externo: Supabase/Neon/Railway
- API calls: OpenAI, Anthropic, HF
- File uploads: Temporarios (perdidos no restart)
- Secrets management: Sim
Comparacao: Free vs Pro
| Feature | Free | Pro ($5/mes) |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 16 GB | 32 GB |
| Disco | 50 GB | 100 GB |
| Cold start | Sim | Nao |
| Timeout | 60s | 120s |
| Priority queue | Nao | Sim |
| Custom domain | Nao | Sim |
Recomendacoes de Uso
Para Demo/Portfolio
Configuracao ideal:
- Supabase Free (500MB)
- HuggingFace Inference API
- ~100-1000 documentos
- Top_k: 3-5
- Max_tokens: 256-512
Usuarios simultaneos: 5-10
Para Desenvolvimento
Configuracao ideal:
- Neon Free (10GB)
- Qualquer LLM provider
- ~1000-5000 documentos
- Testes de features
Usuarios simultaneos: 1-2 (voce)
Para Producao
Nao recomendado Free Tier
Upgrade necessario:
- Spaces Pro ($5-20/mes)
- Supabase Pro ($25/mes)
- LLM provider pago
Ou:
- Deploy proprio (Railway, Render, VPS)
- Mais controle e recursos
Otimizacoes Recomendadas
1. Cache Embeddings
Ja implementado no template:
# Embeddings sao cacheados automaticamente
# Evita reprocessar mesmos documentos
2. Batch Processing
# Processe multiplos documentos de uma vez
# Mais eficiente que um por um
3. Lazy Loading
# Modelos carregam apenas quando necessario
# Reduz cold start
4. Connection Pooling
# Reusa conexoes de banco
# Evita overhead de novas conexoes
Monitoramento
Metricas Disponiveis
- Logs: Via interface do Space
- Usage: Dashboard do HF
- Database: Dashboard do provider
O que Monitorar
- Cold starts: Frequencia
- Timeouts: Quantas requests falham
- Database size: Proximo do limite?
- API usage: LLM provider credits
Troubleshooting
"Application startup timeout"
Causa: Modelos muito grandes ou muitas dependencias
Solucao:
- Reduza dependencias
- Use modelos menores
- Upgrade para Pro
"Request timeout"
Causa: Operacao demora >60s
Solucao:
- Divida em batches menores
- Reduza max_tokens
- Use modelo mais rapido
"Out of memory"
Causa: Modelos ou dados muito grandes
Solucao:
- Use modelo de embedding menor (384d)
- Limite batch size
- Upgrade para Pro
"Database connection failed"
Causa: Banco pausado ou limites excedidos
Solucao:
- Verifique se banco esta ativo
- Verifique connection string
- Verifique limites de conexao
Alternativas ao Spaces
Se limitacoes sao problematicas:
Railway
- $5/mes credito
- Mais controle
- Deployment completo
Render
- Free tier generoso
- 750h/mes compute
- Hibernacao apos 15min
VPS (DigitalOcean, Linode)
- $5-10/mes
- Controle total
- Requer setup manual
Local
- Gratuito
- Sem limitacoes
- Apenas para voce
Conclusao
Hugging Face Spaces Free e excelente para:
- Demos e portfolios
- Prototipos e MVPs
- Aprendizado e testes
- Projetos pessoais pequenos
Nao recomendado para:
- Producao em escala
- Aplicacoes criticas
- Multiplos usuarios simultaneos
- Processamento pesado continuo
Para producao, considere upgrade ou deploy proprio.
Recursos Adicionais
Feito com muito cafe