Serigy Golpes BR
Pesos System One para mensagens de golpe / legítimas em PT-BR (PIX, bancos, WhatsApp, Correios, marketplaces).
Sensor: Manacá-1B.
Tipos System One: Escolha · Indice · Verdadeiro · Prioridade.
| Arquivo | Função |
|---|---|
serigy_heads.safetensors |
Pesos das perguntas tipadas (domínio golpes) |
serigy_heads.json |
Metadados do release |
serigy_jev.safetensors |
Pesos base do modelo |
serigy_jev.json |
Sidecar (model_id, dims) |
Uso: via pacote PyPI serigy — este Hub não inclui código de inferência.
Modelo de distribuição — open weights
| Artefato | Onde | O que libera |
|---|---|---|
Pesos (.safetensors + .json) |
este Hub | checkpoint público |
Inferência (predict / system_one) |
PyPI serigy |
pip install → carrega Hub + sensor |
| Treino / cache / datasets | monorepo | fora do wheel |
Quickstart
pip install serigy
System One (caminho principal)
from serigy import SerigyModel, Escolha, Indice, Verdadeiro, Prioridade
model = SerigyModel("wendellperbar/serigy-golpes-br")
msg = (
"URGENTE: sua conta será bloqueada. Acesse http://banco-seguro.tk "
"e confirme seus dados com a senha do cartão."
)
result = model.system_one(
msg,
{
"acao": Escolha(
instructions="Como tratar esta mensagem?",
criteria={
"bloquear": "Provável golpe; isolar / alertar",
"revisar": "Incerto; pedir confirmação por canal oficial",
"entregar": "Comunicação legítima",
},
),
"risco": Indice(
instructions="Qual o nível de risco?",
criteria=["Baixo", "Médio", "Alto", "Crítico"],
),
"eh_golpe": Verdadeiro(instructions="Esta mensagem é um golpe?"),
"prioridade": Prioridade(
instructions="Classifique a veracidade / risco ordinal.",
),
},
)
print(result.answers["acao"].escolha)
print(result.answers["risco"].indice)
print(result.answers["eh_golpe"].verdadeiro)
print(result.answers["prioridade"].classe_ordinal)
Atalho predict (só Prioridade)
from serigy import SerigyModel
model = SerigyModel("wendellperbar/serigy-golpes-br")
out = model.predict(
"PIX recebido. Para liberar o valor, envie o código SMS que chegará agora."
)
print(out["predicao"], out["score_final"], out["confianca_calibrada"])
Baixar só os pesos (opcional):
hf download wendellperbar/serigy-golpes-br --local-dir ./serigy-golpes-br
# model = SerigyModel("./serigy-golpes-br")
Se o Manacá for gated, configure HF_TOKEN.
Mapa TypeSafe ↔ Serigy
| TypeSafe Jev | Serigy (type) |
Neste release |
|---|---|---|
| Choice | escolha |
sim |
| Score | indice |
sim |
| Noul | verdadeiro |
sim |
| — | prioridade |
sim (ternária) |
Avaliação honesta (OOD)
Treino em golpes_ref: 8000 linhas, mas só 3683 mensagens únicas, geradas a partir de 53 templates sintéticos (baixa diversidade lexical); split sem leak por template_id (3008 / 120 / 555 mensagens úteis em treino / val / test).
Scorecard comparado = média Choice / Score / Noul (Prioridade à parte).
OOD real (ood_real, n=200 msgs educacionais / instituições; scorecard n=197 pós-warmup):
| Sistema | Macro acc | p50 latência |
|---|---|---|
TypeSafe Jev (jev-latest) |
70.4% | ~236 ms |
| Serigy (heads golpes) | 65.7% | ~203 ms |
Laya (multilingual) |
37.7% | ~59 ms |
| Serigy sem treino (baseline) | 28.4% | ~200 ms |
Caveat: Serigy foi treinado no domínio; TypeSafe/Laya em zero-shot / checkpoint próprio.
Licença e créditos
- MIT — pesos Serigy
- Sensor — AI Institute LNCC, Manacá-1B
- Embedding —
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2