thejarll commited on
Commit
6f87108
·
verified ·
1 Parent(s): 524b35e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -10
app.py CHANGED
@@ -66,22 +66,30 @@ def responder(pregunta):
66
  palabras_clave = pregunta.lower().split()
67
  palabras_expandidas = expandir_con_sinonimos(palabras_clave, diccionario_sinonimos)
68
 
69
- filtrados = [c for c in result_chunks if any(p in c.lower() for p in palabras_expandidas)]
70
- contexto_final = "\n\n".join(filtrados[:3]) if filtrados else "\n\n".join(result_chunks[:3])
 
 
 
 
 
 
 
 
71
 
72
  prompt = f"""
73
- Eres un asistente legal especializado en la legislación colombiana, con conocimientos en el Código de Tránsito, el Código Nacional de Policía y el Código Penal. Tu tarea es responder de forma clara, breve y profesional la siguiente pregunta, utilizando únicamente el contexto legal que se te proporciona. Puedes interpretar el significado de los artículos si su relación con la pregunta es evidente, pero no debes inventar leyes, sanciones ni artículos que no estén presentes en el texto.
74
 
75
- No utilices conocimiento externo, no cites fuentes adicionales, ni incluyas enlaces o advertencias innecesarias. Si el contexto no ofrece información suficiente para responder, dilo de forma directa y concluye. Siempre que sea posible, sintetiza tu respuesta para que sea comprensible incluso para personas sin formación jurídica.
76
 
77
- CONTEXTO LEGAL:
78
- {contexto_final}
79
 
80
- PREGUNTA:
81
- {pregunta}
82
 
83
- RESPUESTA:
84
- """
85
 
86
  resultado = llm(
87
  prompt,
 
66
  palabras_clave = pregunta.lower().split()
67
  palabras_expandidas = expandir_con_sinonimos(palabras_clave, diccionario_sinonimos)
68
 
69
+ def contar_coincidencias(chunk, palabras):
70
+ return sum(1 for p in palabras if p in chunk.lower())
71
+
72
+ filtrados = sorted(
73
+ result_chunks,
74
+ key=lambda c: contar_coincidencias(c, palabras_expandidas),
75
+ reverse=True
76
+ )
77
+
78
+ contexto_final = "\n\n".join(filtrados[:3]) if filtrados else "\n\n".join(result_chunks[:3])
79
 
80
  prompt = f"""
81
+ Eres un asistente legal especializado en la legislación colombiana, con conocimientos en el Código de Tránsito, el Código Nacional de Policía y el Código Penal. Tu tarea es responder de forma clara, breve y profesional la siguiente pregunta, utilizando únicamente el contexto legal que se te proporciona. Puedes interpretar el significado de los artículos si su relación con la pregunta es evidente, pero no debes inventar leyes, sanciones ni artículos que no estén presentes en el texto.
82
 
83
+ No utilices conocimiento externo, no cites fuentes adicionales, ni incluyas enlaces o advertencias innecesarias. Si el contexto no ofrece información suficiente para responder, dilo de forma directa y concluye. Siempre que sea posible, sintetiza tu respuesta para que sea comprensible incluso para personas sin formación jurídica.
84
 
85
+ CONTEXTO LEGAL:
86
+ {contexto_final}
87
 
88
+ PREGUNTA:
89
+ {pregunta}
90
 
91
+ RESPUESTA:
92
+ """
93
 
94
  resultado = llm(
95
  prompt,