eduardoworrel/atos-de-fala-ptbr-demo
0
Atos de Fala PT-BR — demo client-side (transformers.js v4)
Sobre o SDK: tenteisdk: gradiocomgr.HTMLembutindo a UI, mas oimportmapdoindex.htmlnão é visível pros<script type="module">no shadow DOM do Gradio. Tentei tambémgr.HTMLcom<iframe>apontando pra/file=index.html, mas o endpoint de static files do Gradio retorna 403 semgr.mount_gradio_app+ FastAPI custom. A solução canônica dos 117+ demos transformers.js v4 no HF (Gemma 4, Voxtral, Qwen3, etc) ésdk: static. Funciona, é o padrão, e é o que vou usar.
Demo standalone do lucianfialho/atos-de-fala-ptbr que roda 100% no navegador (sem servidor) usando `transformers.js` v4
- o ONNX int8 do modelo.
Como rodar local
python3 -m http.server 8000
# abre http://localhost:8000/Ou abre index.html direto no browser (importmap carrega transformers.js do CDN).
Estrutura
static-space/
├── index.html ← markup + importmap CDN
├── style.css ← Gradio-inspired styling
├── app.js ← import do pipeline + render dos atos
└── README.md ← este arquivo (vira o card do Space)0 dependências locais. 0 build step. 0 servidor. Privacy: o texto nunca sai do browser.
Inferência
import { pipeline } from '@huggingface/transformers';
const clf = await pipeline('token-classification', 'lucianfialho/atos-de-fala-ptbr', {
dtype: 'q8',
});
const atos = await clf('Bom dia! Você pode revisar o relatório? Obrigado.', {
aggregation_strategy: 'simple',
});
// atos = [
// { entity_group: 'saudar', word: 'Bom dia!', score: 0.99 },
// { entity_group: 'pedir', word: 'Você pode revisar o relatório?', score: 0.95 },
// { entity_group: 'agradecer', word: 'Obrigado.', score: 0.95 },
// ]Deploy no HF
- https://huggingface.co/new-space → SDK: Static
- Push esses 3 arquivos
- Aparece automaticamente no model card do
lucianfialho/atos-de-fala-ptbrem "Spaces using this model"
