CoolFace
Modelpublic

bratao/Qwen3OIE-8B

sourceHugging Faceapache-2.0updated 27d agoView on Hugging Face
0likes150downloads
Model Card

Qwen3OIE-8B

Qwen3OIE-8B is a Portuguese abstractive Open Information Extraction (OpenIE) model fine-tuned from Qwen/Qwen3-8B. It generates one or more binary extractions in JSON with fields ARG0, V, and ARG1. It obtained the highest lexical-match F1 in the doctoral evaluation.

Model details

FieldValue
Public repository`bratao/Qwen3OIE-8B`
Base model`Qwen/Qwen3-8B`
Architecturedecoder-only causal language model
TaskPortuguese abstractive OpenIE
Parameters8,190,735,360
Published weight precisionbfloat16
Approximate repository size16.40 GB
Audited revision5327c23f603944851f94df9cf0b3580dcf70de19 (2026-08-30)

The published trainer_state.json records epoch 2.0 and step 1,572 of a nominal 2,358-step, three-epoch run, with no best checkpoint or metric. This may be a stale state file rather than proof that the weights are incomplete, but the repository does not contain enough evidence to resolve that ambiguity. Treat the artifact as a research checkpoint and pin a revision in reproducible work.

Use with portuguese-openie

bash
pip install "portuguese-openie[transformers]"
python
from portuguese_openie import Model, PortugueseOpenIE

extractor = PortugueseOpenIE(Model.QWEN3_OIE_8B)
triples = extractor.extract("A UFBA está localizada em Salvador.")
print([triple.to_dict() for triple in triples])

No model path is required. The first call downloads public files from Hugging Face into its standard local cache; subsequent runs reuse the cached snapshot.

Expected output shape (illustrative; exact wording can vary by runtime):

python
[{"ARG0": "A UFBA", "V": "está localizada em", "ARG1": "Salvador"}]

Direct Transformers use

python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "bratao/Qwen3OIE-8B"
revision = "5327c23f603944851f94df9cf0b3580dcf70de19"
tokenizer = AutoTokenizer.from_pretrained(model_id, revision=revision)
model = AutoModelForCausalLM.from_pretrained(
    model_id, revision=revision, dtype="auto", device_map="auto"
)

sentence = "A UFBA está localizada em Salvador."
messages = [
    {
        "role": "system",
        "content": (
            "Dada uma frase S você consegue fazer extrações em JSON no formato "
            "ARG0 , V, ARG1. Realize a extração para a frase abaixo:"
        ),
    },
    {"role": "user", "content": f"S: {sentence}"},
]
prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.inference_mode():
    output = model.generate(
        **inputs,
        max_new_tokens=512,
        do_sample=False,
        pad_token_id=tokenizer.eos_token_id,
    )
generated = output[0, inputs["input_ids"].shape[-1]:]
print(tokenizer.decode(generated, skip_special_tokens=True))

Use the exact system prompt, S: prefix, chat template, and enable_thinking=False. The fine-tuning configuration used sequence length 2,048; larger contexts permitted by the base configuration were not evaluated for OpenIE.

Evaluation

The thesis reports results on 100 Portuguese sentences and 238 reference extractions from WikiPUD-Portuguese-Abstractive. These targets were generated with an LLM from OIEC-PT Gold source sentences and manually spot-checked, so this is a silver-standard, not a fully human-authored gold test set.

CriterionPrecisionRecallF1
Perfect match0.34120.30250.3207
Lexical match0.59720.52940.5612

Perfect match requires an exact triple match; lexical match gives partial credit for token overlap. Precision and recall come from the associated local evaluation summary, while F1 is also reproduced in the thesis. Evaluation was not rerun for this card.

Training-data provenance

The thesis describes 29,026 Portuguese sentences and 102,788 synthetic OpenIE extractions derived from 2,015 Portuguese Wikipedia paragraphs with Gemini 2.5 Flash. The repository does not declare a public Hugging Face dataset identifier and does not bundle the corpus, so this YAML intentionally has no datasets entry.

Requirements and hardware

  • —Recent Python, PyTorch, Transformers, and Accelerate.
  • —The bfloat16 repository is about 16.4 GB. Roughly 20 GB or more of free VRAM is a practical starting point for unquantized GPU inference; CPU/offload is possible but slower. This is an estimate, not a guaranteed minimum.
  • —No official quantized artifact is supplied here; re-evaluate extraction quality after third-party quantization.

Limitations and responsible use

  • —Generative output may omit, duplicate, or hallucinate relations and may violate the requested JSON schema.
  • —Abstractive fields need not be literal spans of the source sentence.
  • —The test set is small and mostly encyclopedic. Performance on dialectal, conversational, specialized, long, or adversarial Portuguese is unknown.
  • —The publication state does not establish full training completion; pin revisions.
  • —An extraction is not fact verification and must not alone drive high-impact uses.

License

This repository declares Apache-2.0. Users must also follow the upstream Qwen terms and rights applicable to their input and data. The training corpus is not included.

Citation

bibtex
@phdthesis{cabral2025evolving,
  author = {Cabral, Bruno Souza},
  title = {Evolving Open Information Extraction for Portuguese employing Language Models},
  school = {Universidade Federal da Bahia},
  year = {2025}
}

@inproceedings{cabral2022portnoie,
  author = {Cabral, Bruno and Souza, Marlo and Claro, Daniela Barreiro},
  title = {PortNOIE: A Neural Framework for Open Information Extraction for the Portuguese Language},
  booktitle = {Computational Processing of the Portuguese Language (PROPOR 2022)},
  year = {2022},
  doi = {10.1007/978-3-030-98305-5_23}
}

Project: Portuguese-OpenIE · PortNOIE paper · Generative OpenIE paper