Spaces:
Sleeping
Sleeping
| from transformers import AutoModelForSequenceClassification, AutoTokenizer, TextClassificationPipeline | |
| import gradio as gr | |
| import random | |
| model_id = "hedtorresca/Multilingual-MiniLM-L12-H384-fine-tunning2" | |
| model = AutoModelForSequenceClassification.from_pretrained(model_id) | |
| tokenizer = AutoTokenizer.from_pretrained(model_id, return_dict=True ) | |
| pipe = TextClassificationPipeline(model=model, tokenizer=tokenizer, add_special_tokens=True, max_length= 512, truncation= True) | |
| # Definir la función de inferencia | |
| def classify_message(ues_detallada, medio_de_comunicacion, asunto_o_copy): | |
| combined = f"{ues_detallada.upper()} por {medio_de_comunicacion}. {asunto_o_copy}" | |
| prediction = pipe(combined) | |
| return "Comercial" if prediction[0]['label'] == 'LABEL_0' else "Informativo" | |
| # Crear la interfaz de Gradio | |
| iface = gr.Interface( | |
| fn=classify_message, | |
| inputs=[ | |
| gr.Textbox(lines=1, placeholder="Escribe la UES aquí.", label="UES"), | |
| gr.Radio(["EMAIL", "SMS", "WHATSAPP"], label="Canal de Comunicación"), | |
| gr.Textbox(lines=2, placeholder="Escribe el asunto o copy del mensaje aquí.", label="Asunto o Copy") | |
| ], | |
| outputs= gr.Label( label="Tipo de Campaña"), | |
| title="Clasificador de Campañas", | |
| description="Describe la unidad de negocio, el canal de comunicación y el copy de la campaña para clasificar si es comercial o informativo." | |
| ) | |
| import os | |
| colsubsidio = os.getenv("colsubsidio") | |
| # Lanzar la interfaz | |
| iface.launch(share = True, auth=("colsubsidio", colsubsidio)) |