from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "Assaoka/Tucano2-qwen-0.5b-Merge-GoEmotions"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
messages = [
{"role": "system", "content": "Você é um classificador de emoções para português. Analise o texto fornecido e retorne a lista de emoções detectadas (pode ser vazia). As opções válidas são: 'admiração', 'diversão', 'raiva', 'irritação', 'aprovação', 'carinho', 'confusão', 'curiosidade', 'desejo', 'decepção', 'desaprovação', 'nojo', 'constrangimento', 'entusiasmo', 'medo', 'gratidão', 'luto', 'alegria', 'amor', 'nervosismo', 'otimismo', 'orgulho', 'percepção', 'alívio', 'remorso', 'tristeza', 'surpresa', 'neutro'. 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": "Comentário: Muito obrigado pela ajuda! Fiquei realmente grato pela sua atenção."}
]
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))