Spaces:
Running
Running
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from transformers import pipeline
|
3 |
+
|
4 |
+
# Carga de los dos modelos de an谩lisis de sentimientos
|
5 |
+
model_1 = pipeline("sentiment-analysis", model="nlptown/bert-base-multilingual-uncased-sentiment")
|
6 |
+
model_2 = pipeline("sentiment-analysis", model="finiteautomata/beto-sentiment-analysis")
|
7 |
+
|
8 |
+
# T铆tulo de la app
|
9 |
+
st.title("Comparando LLMs")
|
10 |
+
|
11 |
+
# Cuadro de entrada de texto principal
|
12 |
+
input_text = st.text_input("Escribe un texto para analizar el sentimiento:", "")
|
13 |
+
|
14 |
+
# Funci贸n para analizar y mostrar los resultados de ambos modelos
|
15 |
+
def analizar_sentimiento(texto):
|
16 |
+
resultado_1 = model_1(texto)[0]
|
17 |
+
resultado_2 = model_2(texto)[0]
|
18 |
+
|
19 |
+
# Mostrar resultados del primer modelo
|
20 |
+
st.markdown(f"### Resultado con **'nlptown/bert-base-multilingual-uncased-sentiment'**")
|
21 |
+
st.write("*Modelo basado en BERT y entrenado para 6 lenguajes con 50k revisiones en espa帽ol*")
|
22 |
+
st.markdown(f"**Sentimiento:** {resultado_1['label']} (Precisi贸n: {resultado_1['score']:.4f})")
|
23 |
+
|
24 |
+
# Mostrar resultados del segundo modelo
|
25 |
+
st.markdown(f"### Resultado con **'finiteautomata/beto-sentiment-analysis'**")
|
26 |
+
st.write("*Modelo basado en BERT y entrenado con 5k tweets espec铆ficamente en espa帽ol*")
|
27 |
+
st.markdown(f"**Sentimiento:** {resultado_2['label']} (Precisi贸n: {resultado_2['score']:.4f})")
|
28 |
+
|
29 |
+
# Bot贸n para ejecutar el an谩lisis
|
30 |
+
if st.button("Analizar"):
|
31 |
+
if input_text:
|
32 |
+
analizar_sentimiento(input_text)
|
33 |
+
else:
|
34 |
+
st.warning("Por favor, introduce un texto para analizar.")
|
35 |
+
|
36 |
+
# Barra lateral con botones para sugerencias de texto
|
37 |
+
st.sidebar.header("Sugerencias de texto")
|
38 |
+
if st.sidebar.button("Ejemplo 1"):
|
39 |
+
st.session_state["input_text"] = "Estoy muy feliz por este logro."
|
40 |
+
if st.sidebar.button("Ejemplo 2"):
|
41 |
+
st.session_state["input_text"] = "Esto es un desastre total."
|
42 |
+
if st.sidebar.button("Ejemplo 3"):
|
43 |
+
st.session_state["input_text"] = "La comida estuvo bien, pero el servicio fue lento."
|
44 |
+
if st.sidebar.button("Ejemplo 4"):
|
45 |
+
st.session_state["input_text"] = "20 veces es que voy a repetir esta vaina."
|
46 |
+
|
47 |
+
# Mostrar el texto seleccionado en el campo principal
|
48 |
+
if "input_text" in st.session_state:
|
49 |
+
st.text_input("Escribe un texto para analizar el sentimiento:", value=st.session_state["input_text"], key="input")
|