File size: 1,581 Bytes
86baa07
57f8a46
971808c
659d84c
86baa07
 
 
 
 
 
 
4e0786f
977dae4
fd883f9
e36f1db
86baa07
 
 
 
07e7e9e
4e0786f
c2fb9d4
86baa07
8d8377f
86baa07
4e0786f
86baa07
d2545fc
fd883f9
86baa07
fd883f9
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
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))