import torch from transformers import AutoTokenizer, AutoModelForCausalLM import gradio as gr # Detectar dispositivo (GPU se disponível) device = torch.device("cuda" if torch.cuda.is_available() else "cpu") print(f"Dispositivo usado: {device}") # Carregar modelo e tokenizer tokenizer = AutoTokenizer.from_pretrained("Gensyn/Qwen2.5-0.5B-Instruct") model = AutoModelForCausalLM.from_pretrained("Gensyn/Qwen2.5-0.5B-Instruct").to(device) # Função para geração de texto def gerar_resposta(prompt, max_tokens, temperatura): inputs = tokenizer(prompt, return_tensors="pt").to(device) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=max_tokens, do_sample=True, temperature=temperatura, top_p=0.9, repetition_penalty=1.1, pad_token_id=tokenizer.eos_token_id ) resposta = tokenizer.decode(outputs[0], skip_special_tokens=True) if prompt in resposta: resposta = resposta[len(prompt):].strip() return resposta # Interface Gradio demo = gr.Interface( fn=gerar_resposta, inputs=[ gr.Textbox(lines=4, label="Digite seu prompt"), gr.Slider(50, 500, value=200, label="Máx. tokens gerados"), gr.Slider(0.1, 1.5, value=0.7, step=0.1, label="Temperatura") ], outputs="text", title="💬 Geração de Texto com Qwen 2.5 0.5B", description="Digite um prompt e veja a resposta do modelo Qwen2.5-0.5B-Instruct." ) demo.launch(share=True)