File size: 2,287 Bytes
3767294
058b417
183273b
79852cb
bf9ae69
d17bdaa
 
 
 
 
 
 
 
 
0745070
 
 
bf9ae69
0745070
 
 
 
 
 
45c0de0
0745070
 
 
 
 
 
c73ec2c
 
02b6ab1
 
c73ec2c
 
c4b2c28
0745070
45c0de0
0745070
 
016a73d
0745070
 
 
c73ec2c
 
 
0745070
c73ec2c
 
 
 
 
 
 
 
 
 
0745070
 
 
 
79852cb
 
 
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import streamlit as st
from transformers import pipeline

#Nombre_modelo = 'pysentimiento/robertuito-sentiment-analysis'

st.title("Ejercicio interfaz transformers pipeline")

model_options = [
    "facebook/bart-large-mnli",
    "roberta-large-mnli",
    "cross-encoder/nli-roberta-base"
]
# Seleccionar el modelo del pipeline
selected_model = st.selectbox("Selecciona un modelo", model_options)
#funcion eleccion del modelo
def load_pipeline(model_name):
    return pipeline("zero-shot-classification", model=model_name, device=0)

#asignacion del modelo a usar
classifier = load_pipeline(selected_model)

# Entrada de texto para la oraci贸n
nombre = st.text_input("Ingrese un nombre a clasificar:")

etiquetas = st.text_area(
    "Ingresa las categor铆as separadas por comas:",
    placeholder="Ejemplo: biology, movies, technology"
)

# Bot贸n para clasificar
if st.button("Clasificar"):
# Show a spinner during a process
    with st.spinner(text="In progress"):
        time.sleep(3)
        st.success("Done")    

    
    if nombre and etiquetas:
        # Procesar las categor铆as ingresadas por el usuario
        labels = [label.strip() for label in etiquetas.split(",")]

        # Obtener las predicciones
        result = classifier(nombre, candidate_labels=labels)

        # Mostrar los resultados
        st.subheader("Resultados de Clasificaci贸n")
        #for label, score in zip(result["labels"], result["scores"]):
        #    st.write(f"**{label}**: {score:.2f}")
        
        for label, score in zip(result["labels"], result["scores"]):
            with st.container():
                st.markdown(
                    f"""
                    <div style="background-color:#f9f9f9;padding:10px;margin-bottom:10px;border-radius:5px;border: 1px solid #ddd;">
                        <h4 style="margin:0;">{label}</h4>
                        <p style="margin:0;">Confianza: <b>{score:.2f}</b></p>
                    </div>
                    """,
                    unsafe_allow_html=True,
                )        
    else:
        st.warning("Por favor, ingresa una oraci贸n y categor铆as v谩lidas.")

        
#Clasificador =  pipeline('sentiment-analysis', model = Nombre_modelo,device='cuda')
#Res=Cla("sundays are good day for relaxing")
#print(Res)