patopla commited on
Commit
3725ecd
·
verified ·
1 Parent(s): 88d1b70

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -2
app.py CHANGED
@@ -172,9 +172,62 @@ def run_and_submit_all( profile: gr.OAuthProfile | None):
172
  return status_message, results_df
173
 
174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  # --- Build Gradio Interface using Blocks ---
176
- with gr.Blocks() as demo:
177
- gr.Markdown("# Basic Agent Evaluation Runner")
178
  gr.Markdown("""
179
  # 🔍 Detector de Ambigüedades en Historias de Usuario
180
 
 
172
  return status_message, results_df
173
 
174
 
175
+ # Inicializar el clasificador
176
+ classifier = AmbiguityClassifier()
177
+
178
+ def analyze_user_story(user_story: str) -> str:
179
+ """Analiza una historia de usuario y retorna los resultados formateados."""
180
+ if not user_story.strip():
181
+ return "Por favor, ingrese una historia de usuario para analizar."
182
+
183
+ # Analizar la historia
184
+ result = classifier(user_story)
185
+
186
+ # Formatear resultados
187
+ output = []
188
+ output.append(f"📝 Historia analizada:\n{user_story}\n")
189
+ output.append(f"🎯 Score de ambigüedad: {result['score_ambiguedad']}")
190
+
191
+ if result['ambiguedad_lexica']:
192
+ output.append("\n📚 Ambigüedades léxicas encontradas:")
193
+ for amb in result['ambiguedad_lexica']:
194
+ output.append(f"• {amb}")
195
+
196
+ if result['ambiguedad_sintactica']:
197
+ output.append("\n🔍 Ambigüedades sintácticas encontradas:")
198
+ for amb in result['ambiguedad_sintactica']:
199
+ output.append(f"• {amb}")
200
+
201
+ if result['sugerencias']:
202
+ output.append("\n💡 Sugerencias de mejora:")
203
+ for sug in result['sugerencias']:
204
+ output.append(f"• {sug}")
205
+
206
+ return "\n".join(output)
207
+
208
+ def analyze_multiple_stories(user_stories: str) -> str:
209
+ """Analiza múltiples historias de usuario separadas por líneas."""
210
+ if not user_stories.strip():
211
+ return "Por favor, ingrese al menos una historia de usuario para analizar."
212
+
213
+ stories = [s.strip() for s in user_stories.split('\n') if s.strip()]
214
+ all_results = []
215
+
216
+ for i, story in enumerate(stories, 1):
217
+ result = classifier(story)
218
+ story_result = {
219
+ "historia": story,
220
+ "score": result['score_ambiguedad'],
221
+ "ambiguedades_lexicas": result['ambiguedad_lexica'],
222
+ "ambiguedades_sintacticas": result['ambiguedad_sintactica'],
223
+ "sugerencias": result['sugerencias']
224
+ }
225
+ all_results.append(story_result)
226
+
227
+ return json.dumps(all_results, indent=2, ensure_ascii=False)
228
+
229
  # --- Build Gradio Interface using Blocks ---
230
+ with gr.Blocks(title="Detector de Ambigüedades en Historias de Usuario") as demo:
 
231
  gr.Markdown("""
232
  # 🔍 Detector de Ambigüedades en Historias de Usuario
233