Update app.py
Browse files
app.py
CHANGED
|
@@ -52,6 +52,9 @@ class LRUCache:
|
|
| 52 |
cache_respuestas = LRUCache()
|
| 53 |
cache_paginas = LRUCache()
|
| 54 |
|
|
|
|
|
|
|
|
|
|
| 55 |
# Funci贸n de b煤squeda optimizada
|
| 56 |
def buscar_alojamiento(consulta):
|
| 57 |
consulta = consulta.lower()
|
|
@@ -62,7 +65,7 @@ def buscar_alojamiento(consulta):
|
|
| 62 |
palabras = set(re.split(r'\W+', consulta))
|
| 63 |
indices = set()
|
| 64 |
for palabra in palabras:
|
| 65 |
-
if palabra in indice_palabras:
|
| 66 |
indices.update(indice_palabras[palabra])
|
| 67 |
|
| 68 |
resultados = [alojamientos_info[idx] for idx in indices]
|
|
@@ -71,6 +74,7 @@ def buscar_alojamiento(consulta):
|
|
| 71 |
cache_paginas.put(consulta, 0)
|
| 72 |
return resultados
|
| 73 |
|
|
|
|
| 74 |
def formatear_alojamiento(texto):
|
| 75 |
bloques = texto.split("\n\n")
|
| 76 |
resultado = []
|
|
@@ -81,7 +85,7 @@ def formatear_alojamiento(texto):
|
|
| 81 |
for bloque in bloques:
|
| 82 |
lineas = bloque.split("\n")
|
| 83 |
for linea in lineas:
|
| 84 |
-
if "Alojamiento:" in linea:
|
| 85 |
nombre_alojamiento = linea # Guardamos el nombre del alojamiento
|
| 86 |
elif any(tag in linea for tag in ["Direcci贸n:", "Tel茅fono:", "Email:", "Mascotas:", "Wifi:", "Directv:", "Ropa blanca:", "Habilitaci贸n provincial:"]):
|
| 87 |
datos_contacto.append(linea)
|
|
@@ -128,4 +132,4 @@ with gr.Blocks(title="Chat de Turismo") as iface:
|
|
| 128 |
send_button.click(mostrar_resultados, inputs=input_box, outputs=[output_box, extra_box])
|
| 129 |
input_box.submit(mostrar_resultados, inputs=input_box, outputs=[output_box, extra_box])
|
| 130 |
|
| 131 |
-
iface.launch(share=True, inbrowser=True)
|
|
|
|
| 52 |
cache_respuestas = LRUCache()
|
| 53 |
cache_paginas = LRUCache()
|
| 54 |
|
| 55 |
+
# Sin贸nimos de b煤squeda
|
| 56 |
+
sinonimos = ["alojamiento", "alquiler", "hospedaje", "residencia", "vivienda"]
|
| 57 |
+
|
| 58 |
# Funci贸n de b煤squeda optimizada
|
| 59 |
def buscar_alojamiento(consulta):
|
| 60 |
consulta = consulta.lower()
|
|
|
|
| 65 |
palabras = set(re.split(r'\W+', consulta))
|
| 66 |
indices = set()
|
| 67 |
for palabra in palabras:
|
| 68 |
+
if palabra in indice_palabras or palabra in sinonimos:
|
| 69 |
indices.update(indice_palabras[palabra])
|
| 70 |
|
| 71 |
resultados = [alojamientos_info[idx] for idx in indices]
|
|
|
|
| 74 |
cache_paginas.put(consulta, 0)
|
| 75 |
return resultados
|
| 76 |
|
| 77 |
+
# Formateo visual optimizado
|
| 78 |
def formatear_alojamiento(texto):
|
| 79 |
bloques = texto.split("\n\n")
|
| 80 |
resultado = []
|
|
|
|
| 85 |
for bloque in bloques:
|
| 86 |
lineas = bloque.split("\n")
|
| 87 |
for linea in lineas:
|
| 88 |
+
if "Alojamiento:" in linea or "Alquiler:" in linea:
|
| 89 |
nombre_alojamiento = linea # Guardamos el nombre del alojamiento
|
| 90 |
elif any(tag in linea for tag in ["Direcci贸n:", "Tel茅fono:", "Email:", "Mascotas:", "Wifi:", "Directv:", "Ropa blanca:", "Habilitaci贸n provincial:"]):
|
| 91 |
datos_contacto.append(linea)
|
|
|
|
| 132 |
send_button.click(mostrar_resultados, inputs=input_box, outputs=[output_box, extra_box])
|
| 133 |
input_box.submit(mostrar_resultados, inputs=input_box, outputs=[output_box, extra_box])
|
| 134 |
|
| 135 |
+
iface.launch(share=True, inbrowser=True)
|