thejarll commited on
Commit
7977dd9
·
verified ·
1 Parent(s): e099411

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -6
app.py CHANGED
@@ -1,6 +1,7 @@
1
  import gradio as gr
2
  import pickle
3
  import os
 
4
  from transformers import AutoTokenizer, AutoModel, pipeline
5
  import torch
6
  import faiss
@@ -17,6 +18,19 @@ if os.path.exists("index.pkl"):
17
  else:
18
  raise FileNotFoundError("No se encontró el archivo 'index.pkl'.")
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  # Modelo de embeddings
21
  model_id = "jinaai/jina-embeddings-v2-base-es"
22
  tokenizer = AutoTokenizer.from_pretrained(model_id)
@@ -51,11 +65,10 @@ def responder(pregunta):
51
  result_chunks = [chunks[i] for i in indices[0]]
52
 
53
  palabras_clave = pregunta.lower().split()
54
- #filtrados = [c for c in result_chunks if any(p in c.lower() for p in palabras_clave)]
55
- #contexto_final = "\n\n".join(filtrados[:3]) if filtrados else "\n\n".join(result_chunks[:3])
56
- contexto_final = "\n\n".join(result_chunks[:10])
57
- print("Primeros chunks:")
58
- print("\n\n".join(result_chunks[:3]))
59
 
60
  prompt = f"""
61
  Eres un abogado colombiano especializado en el Código de Tránsito, Código de Policía y Código Penal.
@@ -104,4 +117,4 @@ demo = gr.Interface(
104
  )
105
 
106
  if __name__ == "__main__":
107
- demo.launch()
 
1
  import gradio as gr
2
  import pickle
3
  import os
4
+ import json
5
  from transformers import AutoTokenizer, AutoModel, pipeline
6
  import torch
7
  import faiss
 
18
  else:
19
  raise FileNotFoundError("No se encontró el archivo 'index.pkl'.")
20
 
21
+ # Cargar diccionario de sinónimos
22
+ with open("sinonimos.json", "r", encoding="utf-8") as f:
23
+ diccionario_sinonimos = json.load(f)
24
+
25
+ # Función para expandir palabras clave con sinónimos
26
+ def expandir_con_sinonimos(palabras, diccionario):
27
+ resultado = set(palabras)
28
+ for palabra in palabras:
29
+ for clave, sinonimos in diccionario.items():
30
+ if palabra == clave or palabra in sinonimos:
31
+ resultado.update([clave] + sinonimos)
32
+ return list(resultado)
33
+
34
  # Modelo de embeddings
35
  model_id = "jinaai/jina-embeddings-v2-base-es"
36
  tokenizer = AutoTokenizer.from_pretrained(model_id)
 
65
  result_chunks = [chunks[i] for i in indices[0]]
66
 
67
  palabras_clave = pregunta.lower().split()
68
+ palabras_expandidas = expandir_con_sinonimos(palabras_clave, diccionario_sinonimos)
69
+
70
+ filtrados = [c for c in result_chunks if any(p in c.lower() for p in palabras_expandidas)]
71
+ contexto_final = "\n\n".join(filtrados[:3]) if filtrados else "\n\n".join(result_chunks[:3])
 
72
 
73
  prompt = f"""
74
  Eres un abogado colombiano especializado en el Código de Tránsito, Código de Policía y Código Penal.
 
117
  )
118
 
119
  if __name__ == "__main__":
120
+ demo.launch()