Lecciones de plataforma HF (2026-09-27)
Contexto: lo aprendido al provisionar cómputo para el servicio RAG/harnessing a clientes.
Fuente: pruebas reales contra la cuenta [usuario] (PRO) y el token fine-grained de zshrc.
Cuenta y token
- Cuenta
[usuario]es PRO (isPro: true), email verificado, sin orgs. - El token
HF_TOKENdezshrces fine-grained (role: fineGrained). - Permisos del token fine-grained (verificados):
- ✅ Puede crear Spaces (
create_repoOK). - ✅ Puede pushear código por git (
git pushOK). - ❌ NO puede subir archivos por API (
upload_file→ 403 “must use a write token”). - ❌ NO puede cambiar hardware (
request_space_hardware→ 403). - ❌ NO puede reiniciar el Space (
restart_space→ 403).
- ✅ Puede crear Spaces (
- El token OAuth del MCP
hf-mcp-serveres distinto (scopes: read-repos, contribute-repos, inference-api). No sirve para crear Spaces.
Spaces ZeroGPU
- ZeroGPU: gratis para todos; PRO = 40 min GPU/día, prioridad alta, hasta 10 Spaces.
- Solo SDK Gradio (4+), Python 3.12.12/3.10.13, torch 2.8+.
- Tamaño
large= 48 GB (1× cuota),xlarge= 96 GB (2× cuota). @spaces.GPU(duration=...); modelos deben cargarse encudaa nivel módulo.- El campo
zero_gpu: truedel README NO asigna GPU. El hardware se asigna solo desde la web (Settings → Hardware → ZeroGPU). Verificado: conzero_gpu: trueel runtime seguía encpu-basic/hardware: None. suggested_hardwaredel YAML no incluye ZeroGPU (solo flavors de pago).preload_from_hubdescarga los pesos en el build (arranque más rápido).
HF Sandboxes (Jobs)
hf_sandbox create(GPUa10g-smally CPUcpu-basic) → 402 Payment Required.- Incluso después de vincular tarjeta, el 402 persiste (la tarjeta no propaga a Jobs).
- Conclusión: los Sandboxes de HF no son viables sin resolver billing.
Proveedores de inferencia (estado 2026-09-27)
- HF Inference Providers: créditos agotados → 402 en chat y embeddings.
- Groq free: funciona, pero límite 200k tokens/día por modelo (TPD). La evaluación
completa de 20 muestras con RAGAS necesita ~1.2M tokens de juez → no cabe en un día.
gpt-oss-20bnecesitareasoning_effort: lowpara JSON estricto (si no, 400).qwen3.8-27baceptajson_objectpero tiene rate limit OTPM bajo (1000/min).
- RAGAS 0.4.3: importa
langchain_community.chat_models.vertexai(removido en langchain-community 0.4.x) → requiere stub. El adaptador Instructor no parchea Groq (usa ruta Anthropic) → se registrando comoprovider="openai"con cliente Groq.
Escritura paralela (riesgo operativo)
- Había 3 sesiones opencode corriendo; dos de ellas podían escribir en el mismo repo.
- El Space recibió un commit ajeno (
3e3eaffañadiózero_gpu: trueysdk_version). - Lección: verificar sesiones opencode activas antes de pushear a un repo compartido.
Comando:
ps aux | grep opencode.
Estado del servicio RAG (para retomar)
proyecto_1_dentistas: scaffold verificado (generación 20/20 con Groq; RAGAS parcial por TPD de Groq). Commits:6993f87,ea88a39,32b3d2b.- Space
[usuario]/sonrisa-inference: creado, código pusheado, build OK, pero en CPU (no se asignó ZeroGPU) → la app no carga los modelos (~37 GB en CPU → OOM). - Siguiente paso: asignar ZeroGPU desde la web (Settings → Hardware → ZeroGPU), cerrar la sesión opencode paralela, y probar embed/rerank/chat + golden set 20/20.