O Tokenizer do Qwen/Qwen3-0.6B com "chat_template" modificado para forçar respostas em português, mesmo que "enable_thinking" seja True ou False.

Força para que o reasoning aconteça em português também.

from transformers import AutoTokenizer, AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3-0.6B", # Modelo original
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(
    "cnmoro/Qwen3-0.6B-Portuguese-Tokenizer" # Tokenizer custom
)

# Prepara os inputs
prompt = "Write a very brief introduction to Large Language Models (LLMs)."
messages = [
    {"role": "user", "content": prompt}
]

# Reasoning >ATIVADO<
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=True
)

model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=32768
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist() 
# parsing thinking content
try:
    # rindex finding 151668 (</think>)
    index = len(output_ids) - output_ids[::-1].index(151668)
except ValueError:
    index = 0

thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\n")
if thinking_content: thinking_content = "Ok, o usuário " + thinking_content.replace("</think>", "")
content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")

print("thinking content:", thinking_content)
# thinking content: Ok, o usuário  quer uma introdução muito breve sobre os modelos de linguagem natural (LLMs).
# Preciso ser específico, mas conciso. Devo mencionar o que são, os tipos e as aplicações.
# Tenho que ser breve, como um intro para um artigo ou um texto.
# O que devo dizer? Devo começar com o que é LLMs, depois os tipos, e finalmente as aplicações.
# Devo usar frases simples e diretas, sem complexidade. Preciso garantir que o intro seja breve, como um parágrafo.
# Vou testar isso. Vou chamar de "uma tecnologia de linguagem que permite a criação e interação com textos complexos".
# Deixar de repetir o que já disse.
# O que devo dizer agora? Okay, vou escrever o intro.

print("content:", content)
# content: Large Language Models (LLMs) são modelos de linguagem que permitem a criação e interação
# com textos complexos, adaptando-se a diferentes contextos e usos, sendo aplicações em áreas como
# inteligência artificial, comunicação com humanos e automação.

###### ---------------------------------- ######

# Reasoning >DESATIVADO<
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False
)

model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=32768
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist() 
# parsing thinking content
try:
    # rindex finding 151668 (</think>)
    index = len(output_ids) - output_ids[::-1].index(151668)
except ValueError:
    index = 0

thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\n")
if thinking_content: thinking_content = "Ok, o usuário " + thinking_content.replace("</think>", "")
content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")

print("thinking content:", thinking_content)
# 

print("content:", content)
# content: "Large Language Models (LLMs) são modelos de linguagem de grande escala que permitem a
# geração de textos com base em padrões e conhecimento humano."
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for cnmoro/Qwen3-0.6B-Portuguese-Tokenizer

Finetuned
Qwen/Qwen3-0.6B
Finetuned
(30)
this model