Spaces:
Runtime error
Runtime error
Update utils.py
Browse files
utils.py
CHANGED
|
@@ -2,7 +2,8 @@
|
|
| 2 |
|
| 3 |
import os
|
| 4 |
|
| 5 |
-
|
|
|
|
| 6 |
|
| 7 |
def check_image_exists(path):
|
| 8 |
"""
|
|
@@ -26,13 +27,14 @@ def process_tags_chat(search_results):
|
|
| 26 |
Returns:
|
| 27 |
tuple: (full_response (str), image_url (str o None))
|
| 28 |
"""
|
| 29 |
-
#
|
| 30 |
relevant_links = [
|
| 31 |
result['metadata'].get(field)
|
| 32 |
for result in search_results
|
| 33 |
for field in LINK_FIELDS
|
| 34 |
if field in result['metadata']
|
| 35 |
]
|
|
|
|
| 36 |
full_response = ""
|
| 37 |
image_url = None
|
| 38 |
tags_detected = []
|
|
@@ -40,7 +42,7 @@ def process_tags_chat(search_results):
|
|
| 40 |
filtered_links = []
|
| 41 |
if relevant_links:
|
| 42 |
# Limitar a solo dos tags
|
| 43 |
-
tag_list = ["rld 0", "rld 1"]
|
| 44 |
for link in relevant_links:
|
| 45 |
if any(tag in link for tag in tag_list):
|
| 46 |
tags_detected.append(link) # Guardar el tag pero no mostrarlo
|
|
@@ -52,15 +54,20 @@ def process_tags_chat(search_results):
|
|
| 52 |
full_response += f"\n\nRespuestas relevantes:\n{filtered_links[0]}"
|
| 53 |
|
| 54 |
# Manejar las imágenes basadas en los tags detectados
|
|
|
|
|
|
|
|
|
|
| 55 |
tags_to_images = {
|
| 56 |
-
"rld 0": "
|
| 57 |
-
"rld 1": "
|
|
|
|
|
|
|
| 58 |
}
|
| 59 |
|
| 60 |
for tag in tags_detected:
|
| 61 |
-
|
| 62 |
-
|
|
|
|
| 63 |
image_url = path
|
| 64 |
break # Asumimos solo una imagen relevante
|
| 65 |
-
|
| 66 |
return full_response, image_url
|
|
|
|
| 2 |
|
| 3 |
import os
|
| 4 |
|
| 5 |
+
# Definir los campos de enlace relevantes
|
| 6 |
+
LINK_FIELDS = ["Tag"] # Utilizamos solo el campo 'Tag' según tu ejemplo de datos
|
| 7 |
|
| 8 |
def check_image_exists(path):
|
| 9 |
"""
|
|
|
|
| 27 |
Returns:
|
| 28 |
tuple: (full_response (str), image_url (str o None))
|
| 29 |
"""
|
| 30 |
+
# Extraer enlaces relevantes de los metadatos utilizando LINK_FIELDS
|
| 31 |
relevant_links = [
|
| 32 |
result['metadata'].get(field)
|
| 33 |
for result in search_results
|
| 34 |
for field in LINK_FIELDS
|
| 35 |
if field in result['metadata']
|
| 36 |
]
|
| 37 |
+
|
| 38 |
full_response = ""
|
| 39 |
image_url = None
|
| 40 |
tags_detected = []
|
|
|
|
| 42 |
filtered_links = []
|
| 43 |
if relevant_links:
|
| 44 |
# Limitar a solo dos tags
|
| 45 |
+
tag_list = ["rld 0", "rld 1"] # Ajusta estos tags según tus necesidades
|
| 46 |
for link in relevant_links:
|
| 47 |
if any(tag in link for tag in tag_list):
|
| 48 |
tags_detected.append(link) # Guardar el tag pero no mostrarlo
|
|
|
|
| 54 |
full_response += f"\n\nRespuestas relevantes:\n{filtered_links[0]}"
|
| 55 |
|
| 56 |
# Manejar las imágenes basadas en los tags detectados
|
| 57 |
+
current_dir = os.path.dirname(os.path.abspath(__file__))
|
| 58 |
+
images_dir = os.path.join(current_dir, "images") # Asegúrate de que la carpeta 'images' exista
|
| 59 |
+
|
| 60 |
tags_to_images = {
|
| 61 |
+
"rld 0": os.path.join(images_dir, "rld_0.png"),
|
| 62 |
+
"rld 1": os.path.join(images_dir, "rld_1.png"),
|
| 63 |
+
"rld 2": os.path.join(images_dir, "rld_2.png"),
|
| 64 |
+
# Agrega más mappings según tus tags e imágenes
|
| 65 |
}
|
| 66 |
|
| 67 |
for tag in tags_detected:
|
| 68 |
+
if tag in tags_to_images:
|
| 69 |
+
path = tags_to_images[tag]
|
| 70 |
+
if check_image_exists(path):
|
| 71 |
image_url = path
|
| 72 |
break # Asumimos solo una imagen relevante
|
|
|
|
| 73 |
return full_response, image_url
|