| --- |
| title: Ottema |
| emoji: π’ |
| colorFrom: blue |
| colorTo: pink |
| sdk: static |
| pinned: true |
| license: apache-2.0 |
| --- |
| |
| # Ottema |
|
|
| **Open, specialized AI models for Brazilian Portuguese and reliable AI systems.** |
|
|
| We build open-source models that solve concrete production problems in Brazilian Portuguese. Our work focuses on **open-vocabulary information extraction**, **structured-output recovery for agents**, **speech recognition**, and **operational AI for real-world workflows**. |
|
|
| Based in Brazil. Open research, reproducible benchmarks, production-oriented models. |
|
|
| ## Brazilian Portuguese Extraction |
|
|
| Open-vocabulary NER and evidence extraction for real PT-BR text β including noisy operational domains where standard models fail. |
|
|
| | Model | What it's for | Result | |
| |---|---|---| |
| | [`ottema/gliner2-ptbr-harem`](https://huggingface.co/ottema/gliner2-ptbr-harem) (v0.12b) | NER on journalistic/formal PT-BR. **Best entity F1** among compared models on HAREM. | entity F1 = 0.4749 (macro) / 0.4501 (micro), 4x faster than BERT-CRF | |
| | [`ottema/gliner2-ptbr`](https://huggingface.co/ottema/gliner2-ptbr) (v0.4) | Generalist NER for informal PT-BR (chat, atendimento, suporte). | entity F1 = 0.9976 on synthetic benchmark | |
| | [`ottema/gliner2-ptbr-ontoevidence`](https://huggingface.co/ottema/gliner2-ptbr-ontoevidence) (v0.18) | Ontology-guided evidence extraction with hard-negative rejection. First model to break the GLiNER2 "yes-man" failure mode. | F1 = 0.32 on OE test, avg 4.4 pred/text | |
| | [`ottema/gliner2-ptbr-ontoevidence-data`](https://huggingface.co/datasets/ottema/gliner2-ptbr-ontoevidence-data) | 2268 samples, 3 splits, multi-label spans + hard negatives. | Apache-2.0 | |
|
|
| > π‘ Also published as [`ottema/gliner2-ptbr-v23`](https://huggingface.co/ottema/gliner2-ptbr-v23) (same weights, 90+ downloads). |
|
|
| > Browse the full **Ottema Open Models** collection: [huggingface.co/collections/ottema/ottema/ottema-open-models-6a3600e6cc0bdc9c01dd68c8](https://huggingface.co/collections/ottema/ottema/ottema-open-models-6a3600e6cc0bdc9c01dd68c8) |
|
|
| ## Reliable Agents |
|
|
| Small specialized models that recover structured output when the LLM fails β JSON, tool calls, schema-constrained generation. |
|
|
| | Model | What it does | |
| |---|---| |
| | [`ottema/structfix-codet5p-220m`](https://huggingface.co/ottema/structfix-codet5p-220m) | Repairs broken JSON/tool-call output from upstream LLMs against a target schema. 220M params, fast, deterministic. | |
| | [`ottema/structfix-bench`](https://huggingface.co/datasets/ottema/structfix-bench) | Benchmark: 250k examples of schema-guided generation with controlled noise and constraint coverage. | |
| | [`ottema/constraint-dsl`](https://huggingface.co/datasets/ottema/constraint-dsl) | Compact DSL for declaring typed constraints over JSON outputs. | |
|
|
| ## Speech & Edge AI |
|
|
| Lightweight ASR and small models for resource-constrained deployment. |
|
|
| | Model | What it's for | |
| |---|---| |
| | [`ottema/stt_pt_quartznet15x5_ctc_small`](https://huggingface.co/ottema/stt_pt_quartznet15x5_ctc_small) | Research baseline / lightweight CPU ASR reference for PT-BR. See [Nemotron full-stack](https://huggingface.co/ottema) for current SOTA. | |
|
|
| ## How we work |
|
|
| - **Open research, reproducible benchmarks.** Every model ships with training data, evaluation scripts, and ablations documented. |
| - **Production-oriented.** We optimize for the metric that matters in deployment: latency, label F1 on the user's actual distribution, hard-negative robustness. |
| - **Honest about failure modes.** We publish what didn't work (see the "yes-man problem" with OntoEvidence). |
| - **No private data.** All training data is either synthetic, openly licensed, or used for training only (not redistributed). |
|
|
| ## Try it |
|
|
| - [`ottema/gliner2-ptbr-demo`](https://huggingface.co/spaces/ottema/gliner2-ptbr-demo) β interactive Gradio demo with model selection, label presets, and 7 example sentences spanning journalistic, informal, and operational Portuguese. |
| - [`ottema/structfix-demo`](https://huggingface.co/spaces/ottema/structfix-demo) β repair broken JSON / tool-call output against typed schemas. 5 schema presets, 10 broken-output presets, 13 paired examples. |
|
|
| ## Credits |
|
|
| Our models build on: |
| - **GLiNER / GLiNER2** (Urchade Zaratiana et al.) β open-vocabulary NER architecture |
| - **fastino/gliner2-multi-v1** (Fastino) β multilingual GLiNER2 base |
| - **microsoft/mdeberta-v3-base** β multilingual encoder |
| - **CodeT5+** (Salesforce) β seq2seq for structured output repair |
| - **Linguateca HAREM, lfcc, arubenruben** β Portuguese NER datasets (training only) |
|
|
| ## License |
|
|
| All models and datasets are released under **Apache-2.0** unless otherwise noted. |
|
|
| ## Contact |
|
|
| Organization: [huggingface.co/ottema](https://huggingface.co/ottema) |
|
|