How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="Assaoka/Tucano2-qwen-0.5b-Merge-Brighter")
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("Assaoka/Tucano2-qwen-0.5b-Merge-Brighter")
model = AutoModelForCausalLM.from_pretrained("Assaoka/Tucano2-qwen-0.5b-Merge-Brighter", device_map="auto")
messages = [
    {"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

Tucano2-qwen-0.5b-Merge-BRIGHTER (Prior Model)

Este é um modelo especialista em análise de sentimento em língua portuguesa, construído usando a estratégia Knowledge Accumulation (Prior). O modelo foi inicialmente pre-mesclado (merged) com outros especialistas usando TIES Merge e, em seguida, sofreu ajuste fino (fine-tuning) no conjunto de dados brighter-dataset/BRIGHTER-emotion-categories.

Este desenvolvimento faz parte do artigo científico submetido ao ENIAC 2026: "United Experts: Merging Small Language Models for Multi-Domain Sentiment Analysis in Portuguese".

📌 Detalhes do Modelo

  • Modelos Base (Merge):
  • Assaoka/Tucano2-qwen-0.5B-ReLiSA
  • Assaoka/Tucano2-qwen-0.5B-FinBERT
  • Assaoka/Tucano2-qwen-0.5B-Phrasebank
  • Assaoka/Tucano2-qwen-0.5B-GoEmotions
  • Tarefa: Detecção de múltiplas emoções simultâneas em língua portuguesa (raiva, nojo, medo, alegria, tristeza, surpresa) após alinhamento sequencial por Knowledge Accumulation (Prior).
  • Domínio: Língua Portuguesa (PT-BR).
  • Licença: Apache 2.0.
  • Estratégia: Alinhamento sequencial via Knowledge Accumulation (Prior + Fine-tuning).

📊 Avaliação Completa (In-Domain & Out-Of-Domain)

Métricas padronizadas (Macro F1 · Micro F1 · Accuracy · Hamming Loss) calculadas sobre o conjunto de teste completo de cada domínio. A coluna Baseline corresponde ao modelo base Polygl0t/Tucano2-qwen-0.5B-Instruct sem fine-tuning.

Dataset / Tarefa Métrica Valor Baseline
RELI-SA Macro F1
Micro F1
Accuracy
Hamming Loss
43.46%
63.35%
63.35%
0.3665
30.66%
37.07%
37.07%
0.6293
BRIGHTER Macro F1
Micro F1
Accuracy
Hamming Loss
43.35%
60.99%
49.46%
0.1183
33.47%
38.07%
24.66%
0.2731
FINBERT-PT-BR Macro F1
Micro F1
Accuracy
Hamming Loss
71.04%
71.29%
71.29%
0.2871
54.77%
66.34%
66.34%
0.3366
FINANCIAL-PHRASEBANK Macro F1
Micro F1
Accuracy
Hamming Loss
69.41%
75.23%
75.23%
0.2477
38.13%
39.32%
39.32%
0.6068
GO-EMOTIONS Macro F1
Micro F1
Accuracy
Hamming Loss
16.08%
20.53%
13.31%
0.0577
7.59%
10.31%
6.08%
0.0720

🚀 Como utilizar o modelo (vLLM ou Transformers)

O modelo responde a prompts estruturados com instruções do sistema em português. Exemplo real de inferência estruturada:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "Assaoka/Tucano2-qwen-0.5b-Merge-Brighter"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

messages = [
    {"role": "system", "content": "Você é um detector de emoções em português. Analise o texto fornecido e retorne a lista de emoções detectadas (pode ser vazia). As opções válidas são: 'raiva', 'nojo', 'medo', 'alegria', 'tristeza', 'surpresa'. Sua tarefa é retornar um JSON válido no seguinte formato: {"emocoes": ["emocao1", "emocao2", ..., "emocaoN"]} baseado na lista de emoções permitidas. Responda APENAS com o JSON válido."},
    {"role": "user", "content": "Texto: Fiquei extremamente feliz com a aprovação da minha pesquisa, mas confesso que a ansiedade me deu um pouco de medo."}
]

prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
# Resposta esperada: {"emocoes": ["alegria", "medo"]}
Downloads last month
13
Safetensors
Model size
0.5B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Assaoka/Tucano2-qwen-0.5b-Merge-Brighter

Finetuned
(1)
this model

Dataset used to train Assaoka/Tucano2-qwen-0.5b-Merge-Brighter

Evaluation results