import streamlit as st from transformers import pipeline from time import sleep #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"""
Confianza: {score:.2f}