Metadata-Version: 2.4
Name: serigy
Version: 0.2.0
Summary: Inference-only PT-BR typed predictors (load Hub weights + predict / system_one)
Author-email: Wendell Barreto <wendellbarreto@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/wendellbigato/serigy-jev
Project-URL: Hugging Face, https://huggingface.co/wendellperbar/serigy-jev
Project-URL: Hugging Face Golpes BR, https://huggingface.co/wendellperbar/serigy-golpes-br
Project-URL: Hugging Face T-Rex, https://huggingface.co/wendellperbar/serigy-trex
Requires-Python: >=3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.26.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: torch
Requires-Dist: transformers>=4.40.0
Requires-Dist: sentence-transformers>=3.0.0
Requires-Dist: safetensors>=0.4.0
Requires-Dist: huggingface_hub>=0.24.0
Requires-Dist: python-dotenv>=1.0.0
Dynamic: license-file

<p align="center">
  <img src="assets/brand/simbolo_transparente.png" alt="Serigy" width="140"/>
</p>

# Serigy

Classificador local de fake news em PT-BR. Carrega pesos do Hub e faz `predict`.
Também expõe primitivos System One: **Escolha**, **Indice**, **Verdadeiro**, **Prioridade**.

Marca: [`assets/brand/`](assets/brand/) · [spec](.cursor/specs/marca/spec.md).

```bash
pip install serigy
```

```python
from serigy import SerigyModel

model = SerigyModel("wendellperbar/serigy-jev")
out = model.predict(
    "Senado aprova lei que PROÍBE jogo de videogame para menores de 18 anos."
)
print(out["predicao"], out["score_final"], out["confianca_calibrada"])
```

```bash
serigy --texto "texto da notícia..."
```

Se o sensor for gated, configure `HF_TOKEN`.

### Saída (`predict` = Prioridade)

| Campo | Significado |
|-------|-------------|
| `predicao` | `Claramente Falso` / `Incerto/Misto` / `Claramente Verdadeiro` |
| `classe_ordinal` | `0`, `1` ou `2` |
| `score_final` | veracidade `0.0`…`1.0` |
| `confianca_calibrada` | perto de `1` = mais concentrado |
| `probabilidades` | massa em cada classe |

Critérios usam `type: "prioridade"` (alias de input: `ordinal_score`).

### System One (`system_one`)

```python
from serigy import SerigyModel, Escolha, Indice, Verdadeiro, Prioridade

model = SerigyModel("wendellperbar/serigy-jev")
result = model.system_one(
    "texto a avaliar…",
    {
        "rota": Escolha(
            instructions="Qual ação?",
            criteria={"abaixar": None, "fazer_nada": None, "pular": None},
        ),
        "nivel": Indice(
            instructions="Quão grave?",
            criteria=["Baixa", "Média", "Alta"],
        ),
        "eh_fato": Verdadeiro(instructions="É verdadeira?"),
    },
)
print(result.answers["rota"].escolha, result.answers["eh_fato"].verdadeiro)
# JSON público: result.as_public_dict()
```

| Jev | Serigy | O que responde |
|-----|--------|----------------|
| Choice | `escolha` | Qual opção (conjunto fechado)? |
| Score | `indice` | Em que ponto do espectro (K∈[2,10])? |
| Noul | `verdadeiro` | A proposição é verdadeira? (P(sim)) |
| — | `prioridade` | Em qual de 3 patamares? (`predict` é atalho) |

CLI System One: `serigy --json '{"state":"…","questions":{…}}'`.

Spec pública: [`.cursor/specs/sdk-primitivos/spec.md`](.cursor/specs/sdk-primitivos/spec.md).

Pesos FakeNews: [huggingface.co/wendellperbar/serigy-jev](https://huggingface.co/wendellperbar/serigy-jev)

### Golpes BR (System One)

Heads multi-task para mensagens de golpe/legítimas em PT-BR (staging `hf/golpes/` → Hub `wendellperbar/serigy-golpes-br`):

```python
from serigy import SerigyModel, Escolha, Verdadeiro

model = SerigyModel("wendellperbar/serigy-golpes-br")
result = model.system_one(
    "Confirme seu CPF neste link para liberar o PIX…",
    {
        "acao": Escolha(
            instructions="Como tratar?",
            criteria={"bloquear": None, "revisar": None, "entregar": None},
        ),
        "eh_golpe": Verdadeiro(instructions="É golpe?"),
    },
)
```

Sync / upload: [`hf/README.md`](hf/README.md) · card [`hf/golpes/README.md`](hf/golpes/README.md).

### Extra: benchmark T-Rex (monorepo)

Comparativo Serigy × Jev × Laya no Chrome T-Rex Runner (`serigy_trex`):  
[src/serigy_trex/README.md](src/serigy_trex/README.md) · [docs/RELATORIO_TREX.md](docs/RELATORIO_TREX.md) · [spec](.cursor/specs/trex-benchmark/spec.md).

MIT — Copyright © 2026 Wendell Barreto.
