PROYECTO_2024 / utils.py
C2MV's picture
Update utils.py
14c7753 verified
raw
history blame
1.96 kB
# utils.py
import os
def check_image_exists(path):
"""
Verifica si la imagen existe en la ruta especificada.
Args:
path (str): Ruta de la imagen.
Returns:
bool: True si la imagen existe, False en caso contrario.
"""
return os.path.exists(path)
def process_tags_chat(search_results):
"""
Procesa los resultados de la búsqueda vectorial para detectar tags específicos y determinar la URL de la imagen correspondiente.
Args:
search_results (list): Lista de resultados de la búsqueda vectorial.
Returns:
tuple: (full_response (str), image_url (str o None))
"""
# Manejar la lógica para procesar tags e imágenes internamente
relevant_links = [
result['metadata'].get(field)
for result in search_results
for field in LINK_FIELDS
if field in result['metadata']
]
full_response = ""
image_url = None
tags_detected = []
filtered_links = []
if relevant_links:
# Limitar a solo dos tags
tag_list = ["rld0", "rld1"]
for link in relevant_links:
if any(tag in link for tag in tag_list):
tags_detected.append(link) # Guardar el tag pero no mostrarlo
else:
filtered_links.append(link)
# Añadir el primer enlace relevante bajo una sección "Respuestas relevantes"
if filtered_links:
full_response += f"\n\nRespuestas relevantes:\n{filtered_links[0]}"
# Manejar las imágenes basadas en los tags detectados
tags_to_images = {
"rld0": "images/rld0.png",
"rld1": "images/rld1.png",
}
for tag in tags_detected:
for key, path in tags_to_images.items():
if key in tag and check_image_exists(path):
image_url = path
break # Asumimos solo una imagen relevante
return full_response, image_url