Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -66,30 +66,30 @@ def responder(pregunta):
|
|
66 |
palabras_clave = pregunta.lower().split()
|
67 |
palabras_expandidas = expandir_con_sinonimos(palabras_clave, diccionario_sinonimos)
|
68 |
|
69 |
-
|
70 |
-
|
71 |
|
72 |
filtrados = sorted(
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
)
|
77 |
|
78 |
contexto_final = "\n\n".join(filtrados[:3]) if filtrados else "\n\n".join(result_chunks[:3])
|
79 |
|
80 |
prompt = f"""
|
81 |
-
|
82 |
|
83 |
-
|
84 |
|
85 |
-
|
86 |
-
|
87 |
|
88 |
-
|
89 |
-
|
90 |
|
91 |
-
|
92 |
-
|
93 |
|
94 |
resultado = llm(
|
95 |
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,
|