Spaces:
Paused
Paused
File size: 2,231 Bytes
6c036c1 aab52b9 059ead2 a9b1392 aab52b9 b08158b 61e43c4 059ead2 61e43c4 b08158b c50fc17 059ead2 19693ec 059ead2 b08158b 5ef6d7c 059ead2 5ef6d7c e3d3bd5 b08158b 19693ec b08158b 059ead2 c0a326a 059ead2 b08158b 059ead2 b1f7af6 19693ec aab52b9 19693ec aab52b9 059ead2 b08158b aab52b9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# Cargar el modelo m谩s estable que funcion贸 bien en pruebas anteriores
model_name = "BSC-LT/salamandra-2b"
if "tokenizer" not in globals():
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
tokenizer.pad_token = tokenizer.eos_token
if "model" not in globals():
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16)
model.eval()
# Funci贸n de humanizaci贸n con el mejor ajuste probado
def humanize_text(input_text):
system_prompt = (
"Reescribe el siguiente texto de manera m谩s clara, natural y atractiva, "
"sin cambiar su significado. Reformula frases r铆gidas y estructuradas para "
"que sean m谩s fluidas y conversacionales, pero sin perder precisi贸n. "
"Evita tecnicismos y burocracia innecesaria."
)
prompt = f"{system_prompt}\n\nTexto original: {input_text}\n\nTexto humanizado:"
inputs = tokenizer(prompt, return_tensors="pt", padding=True, truncation=True)
outputs = model.generate(
inputs.input_ids,
attention_mask=inputs.attention_mask,
max_new_tokens=130, # 馃敼 Equilibrio entre reformulaci贸n y velocidad
min_length=50, # 馃敼 Evita respuestas demasiado cortas
do_sample=True, # 馃敼 Mantiene variabilidad sin ralentizar
temperature=0.75, # 馃敼 Buen balance entre creatividad y rapidez
top_p=0.9, # 馃敼 Mantiene coherencia en la reescritura
repetition_penalty=1.05, # 馃敼 Evita repeticiones sin afectar fluidez
num_return_sequences=1, # 馃敼 Genera solo una respuesta bien formulada
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
# Interfaz en Gradio
with gr.Blocks() as demo:
gr.Markdown("# 鉁嶏笍 Humanizaci贸n de Texto con ALIA (Versi贸n 脫ptima)")
input_text = gr.Textbox(label="Pega aqu铆 el texto generado por IA para humanizar")
output_text = gr.Textbox(label="Texto humanizado por ALIA", interactive=False)
submit_button = gr.Button("Humanizar Texto")
submit_button.click(humanize_text, inputs=input_text, outputs=output_text)
demo.launch()
|