--- license: apache-2.0 language: - pt base_model: - Qwen/Qwen3-0.6B --- 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. ```python 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 () 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("", "") 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 () 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("", "") 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." ```