File size: 1,045 Bytes
d949249
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from transformers import pipeline
import gradio as gr

# Cargar modelo ligero (ej: tinyllama, phi-2, o bertin)
model_name = "bertin-project/bertin-gpt-j-6B"  # Modelo en español
tag_generator = pipeline("text-generation", model=model_name)

def generate_tags(title):
    prompt = f"""
    Genera 3 etiquetas técnicas en español para este título de TFM.
    Formato: tag1, tag2, tag3
    Ejemplo: "machine_learning, análisis_de_datos, optimización"

    Título: {title}
    Etiquetas:"""
    
    result = tag_generator(prompt, max_length=100, do_sample=True, temperature=0.3)
    tags = result[0]['generated_text'].split("Etiquetas:")[-1].strip()
    return [tag.strip() for tag in tags.split(",")][:3]

# Interfaz Gradio
demo = gr.Interface(
    fn=generate_tags,
    inputs=gr.Textbox(label="Título del TFM"),
    outputs=gr.JSON(label="Etiquetas generadas"),
    title="Etiquetador automático de TFMs",
    examples=[["Predicción de demanda energética con redes neuronales"]]
)

demo.launch(server_name="0.0.0.0", server_port=7860)