|
from transformers import AutoModelForSequenceClassification, AutoTokenizer, TextClassificationPipeline |
|
import gradio as gr |
|
|
|
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) |
|
|
|
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": float(prediction[0]['score']), "Informativo" if prediction[0]['label'] == 'LABEL_0' else "Comercial": float(1-prediction[0]['score'])} |
|
|
|
|
|
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 |
|
os.environ.getattribute("Colsubsidio") |
|
|
|
iface.launch(share = True, auth=("colsubsidio", Colsubsidio)) |