import gradio as gr from transformers import AutoTokenizer, AutoModelForCausalLM import torch # Inicializa o modelo e tokenizer model_name = "Orenguteng/Llama-3-8B-Lexi-Uncensored" tokenizer = AutoTokenizer.from_pretrained(model_name) # Carregando em CPU com precisão reduzida model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype=torch.float16, low_cpu_mem_usage=True, device_map="cpu" ) def generate_text(prompt): inputs = tokenizer(prompt, return_tensors="pt") # Ajustando parâmetros para economizar memória outputs = model.generate( inputs["input_ids"], max_new_tokens=50, # Reduzido para economizar memória temperature=0.7, pad_token_id=tokenizer.eos_token_id, num_beams=1, # Beam search simples para economizar memória do_sample=True ) return tokenizer.decode(outputs[0], skip_special_tokens=True) # Cria a interface com tempo limite maior iface = gr.Interface( fn=generate_text, inputs="text", outputs="text", title="LLama Chat", examples=["Hello, how are you?"], cache_examples=False, ) # Aumentando o tempo limite devido ao processamento mais lento em CPU iface.launch(share=True, server_timeout=180)