import gradio as gr from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel import torch # La ruta al modelo base que usaste para el entrenamiento base_model_path = "meta-llama/Llama-2-7b-hf" # Es una suposición, verifica cuál usaste # La ruta a tu adaptador LoRA que subiste adapter_path = "AvaLovelace/LLaMA-ASCII-Art" # Carga el tokenizador y el modelo base tokenizer = AutoTokenizer.from_pretrained(base_model_path) model = AutoModelForCausalLM.from_pretrained( base_model_path, torch_dtype=torch.float16 ).to("cuda") # Carga el adaptador LoRA en el modelo base model = PeftModel.from_pretrained(model, adapter_path) def generate_ascii_art(prompt): if not prompt: return "Por favor, introduce un prompt de texto." try: inputs = tokenizer(prompt, return_tensors="pt").to("cuda") outputs = model.generate( **inputs, max_length=200, do_sample=True, top_k=50, top_p=0.95, temperature=0.7, num_return_sequences=1 ) ascii_art = tokenizer.decode(outputs[0], skip_special_tokens=True) return ascii_art except Exception as e: return f"Error al generar el arte ASCII: {e}" demo = gr.Interface( fn=generate_ascii_art, inputs=gr.Text(label="Prompt"), outputs=gr.Text(label="ASCII Art"), title="Generador de Arte ASCII para Taraxa Pulse", description="Escribe un prompt de texto para generar arte ASCII con un modelo Llama especializado." ) if __name__ == "__main__": demo.launch()