clavel commited on
Commit
e4fc2bb
·
verified ·
1 Parent(s): a3f1eec

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -17
app.py CHANGED
@@ -29,7 +29,7 @@ def respond(message, history, system_message, max_tokens, temperature, top_p):
29
  Función para generar respuestas usando el modelo de chat
30
  """
31
  # Usar el mismo modelo para generación (si es compatible)
32
- # Nota: Si el modelo no soporta chat, necesitas usar un endpoint diferente
33
  client = InferenceClient(
34
  model="somosnlp-hackathon-2026/patriae-cuban-dialect-model"
35
  )
@@ -54,6 +54,7 @@ def respond(message, history, system_message, max_tokens, temperature, top_p):
54
  except Exception as e:
55
  yield f"Error: {str(e)}"
56
 
 
57
  def classify_text(text):
58
  """
59
  Función para clasificar texto y detectar coloquialismos cubanos
@@ -61,13 +62,21 @@ def classify_text(text):
61
  if not text or text.strip() == "":
62
  return "Por favor, ingresa un texto para clasificar."
63
 
64
- results = classifier(text)
65
- # Ordenar por score (de mayor a menor)
66
- results.sort(key=lambda x: x['score'], reverse=True)
67
-
68
- # Mostrar el resultado más probable
69
- top_result = results[0]
70
- return f"**Clasificación:** {top_result['label']}\n**Confianza:** {top_result['score']:.2%}"
 
 
 
 
 
 
 
 
71
 
72
  # Interfaz de Chat
73
  chat_interface = gr.ChatInterface(
@@ -88,8 +97,8 @@ chat_interface = gr.ChatInterface(
88
  ),
89
  ],
90
  title=title,
91
- description=description,
92
- article=article
93
  )
94
 
95
  # Interfaz de Clasificación
@@ -98,29 +107,34 @@ classifier_interface = gr.Interface(
98
  inputs=gr.Textbox(
99
  label="Texto a clasificar",
100
  placeholder="Escribe una frase en cubano...",
101
- lines=3
102
  ),
103
  outputs=gr.Markdown(label="Resultado"),
104
- title="Clasificador de coloquialismos cubanos",
105
  description="Detecta si un texto contiene expresiones coloquiales cubanas.",
106
  examples=[
107
  ["Nos marchábamos sin ti, creyendo que se te habían pegado las sábanas."],
108
  ["De Varadero venía para acá porque en su casa las broncas con el padre eran de ampanga."],
109
  ["Los pueblos que no se conocen han de darse prisa para conocerse, como quienes van a pelear juntos."],
110
- ]
 
111
  )
112
 
113
  # Combinar ambas interfaces en una sola app
114
- with gr.Blocks() as demo:
115
  gr.Markdown(f"# {title}")
116
  gr.Markdown(description)
117
 
118
- with gr.Tab("💬 Chat"):
119
- chat_interface.render()
120
-
121
  with gr.Tab("🔍 Clasificador"):
122
  classifier_interface.render()
123
 
 
 
 
 
 
 
 
124
  gr.Markdown(article)
125
 
126
  if __name__ == "__main__":
 
29
  Función para generar respuestas usando el modelo de chat
30
  """
31
  # Usar el mismo modelo para generación (si es compatible)
32
+
33
  client = InferenceClient(
34
  model="somosnlp-hackathon-2026/patriae-cuban-dialect-model"
35
  )
 
54
  except Exception as e:
55
  yield f"Error: {str(e)}"
56
 
57
+
58
  def classify_text(text):
59
  """
60
  Función para clasificar texto y detectar coloquialismos cubanos
 
62
  if not text or text.strip() == "":
63
  return "Por favor, ingresa un texto para clasificar."
64
 
65
+ try:
66
+ results = classifier(text)
67
+ # Ordenar por score (de mayor a menor)
68
+ results.sort(key=lambda x: x['score'], reverse=True)
69
+
70
+ # Mostrar los 3 mejores resultados
71
+ output = "### 📊 Resultados de clasificación:\n\n"
72
+ for i, result in enumerate(results[:3], 1):
73
+ label = result['label']
74
+ score = result['score']
75
+ output += f"{i}. **{label}**: {score:.2%}\n"
76
+
77
+ return output
78
+ except Exception as e:
79
+ return f"❌ Error en clasificación: {str(e)}"
80
 
81
  # Interfaz de Chat
82
  chat_interface = gr.ChatInterface(
 
97
  ),
98
  ],
99
  title=title,
100
+ description=description
101
+ válido para ChatInterface)
102
  )
103
 
104
  # Interfaz de Clasificación
 
107
  inputs=gr.Textbox(
108
  label="Texto a clasificar",
109
  placeholder="Escribe una frase en cubano...",
110
+ lines=5
111
  ),
112
  outputs=gr.Markdown(label="Resultado"),
113
+ title="🔍 Clasificador de coloquialismos cubanos",
114
  description="Detecta si un texto contiene expresiones coloquiales cubanas.",
115
  examples=[
116
  ["Nos marchábamos sin ti, creyendo que se te habían pegado las sábanas."],
117
  ["De Varadero venía para acá porque en su casa las broncas con el padre eran de ampanga."],
118
  ["Los pueblos que no se conocen han de darse prisa para conocerse, como quienes van a pelear juntos."],
119
+ ],
120
+ article=article # ✅ article SÍ es válido para gr.Interface
121
  )
122
 
123
  # Combinar ambas interfaces en una sola app
124
+ with gr.Blocks(title=title) as demo:
125
  gr.Markdown(f"# {title}")
126
  gr.Markdown(description)
127
 
 
 
 
128
  with gr.Tab("🔍 Clasificador"):
129
  classifier_interface.render()
130
 
131
+ with gr.Tab("💬 Chat (Beta)"):
132
+ gr.Markdown("""
133
+ ⚠️ **Función de chat en desarrollo**
134
+
135
+ """)
136
+ chat_interface.render()
137
+
138
  gr.Markdown(article)
139
 
140
  if __name__ == "__main__":