Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -62,20 +62,26 @@ def generate_code(system_prompt, user_prompt, max_length):
|
|
62 |
# Función para combinar búsqueda vectorial y Yi-Coder
|
63 |
@gpu_decorator(duration=100)
|
64 |
def combined_function(user_prompt, similarity_threshold, selected_option, system_prompt, max_length):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
if selected_option == "Solo Búsqueda Vectorial":
|
66 |
# Realizar búsqueda vectorial
|
67 |
search_results = vector_search(user_prompt, embedding_model, index)
|
68 |
if search_results:
|
69 |
-
# Usar el primer resultado y dividirlo usando partial_message
|
70 |
content = search_results[0]['content']
|
71 |
-
partial_message = content
|
72 |
return partial_message, None
|
73 |
else:
|
74 |
return "No se encontraron resultados en Pinecone.", None
|
75 |
elif selected_option == "Solo Yi-Coder":
|
76 |
# Generar respuesta usando Yi-Coder
|
77 |
yi_coder_response = generate_code(system_prompt, user_prompt, max_length)
|
78 |
-
partial_message = yi_coder_response
|
79 |
return partial_message, None
|
80 |
elif selected_option == "Ambos (basado en umbral de similitud)":
|
81 |
# Realizar búsqueda vectorial
|
@@ -84,15 +90,15 @@ def combined_function(user_prompt, similarity_threshold, selected_option, system
|
|
84 |
top_result = search_results[0]
|
85 |
if top_result['score'] >= similarity_threshold:
|
86 |
content = top_result['content']
|
87 |
-
partial_message = content
|
88 |
return partial_message, None
|
89 |
else:
|
90 |
yi_coder_response = generate_code(system_prompt, user_prompt, max_length)
|
91 |
-
partial_message = yi_coder_response
|
92 |
return partial_message, None
|
93 |
else:
|
94 |
yi_coder_response = generate_code(system_prompt, user_prompt, max_length)
|
95 |
-
partial_message = yi_coder_response
|
96 |
return partial_message, None
|
97 |
else:
|
98 |
return "Opción no válida.", None
|
|
|
62 |
# Función para combinar búsqueda vectorial y Yi-Coder
|
63 |
@gpu_decorator(duration=100)
|
64 |
def combined_function(user_prompt, similarity_threshold, selected_option, system_prompt, max_length):
|
65 |
+
def get_partial_message(response):
|
66 |
+
"""Obtiene el contenido después de 'Respuesta:' si está presente en la respuesta."""
|
67 |
+
if "Respuesta:" in response:
|
68 |
+
return response.split("Respuesta:")[1].strip() # Tomar solo el texto después de 'Respuesta:'
|
69 |
+
else:
|
70 |
+
return response # Devolver la respuesta completa si no contiene 'Respuesta:'
|
71 |
+
|
72 |
if selected_option == "Solo Búsqueda Vectorial":
|
73 |
# Realizar búsqueda vectorial
|
74 |
search_results = vector_search(user_prompt, embedding_model, index)
|
75 |
if search_results:
|
|
|
76 |
content = search_results[0]['content']
|
77 |
+
partial_message = get_partial_message(content)
|
78 |
return partial_message, None
|
79 |
else:
|
80 |
return "No se encontraron resultados en Pinecone.", None
|
81 |
elif selected_option == "Solo Yi-Coder":
|
82 |
# Generar respuesta usando Yi-Coder
|
83 |
yi_coder_response = generate_code(system_prompt, user_prompt, max_length)
|
84 |
+
partial_message = get_partial_message(yi_coder_response)
|
85 |
return partial_message, None
|
86 |
elif selected_option == "Ambos (basado en umbral de similitud)":
|
87 |
# Realizar búsqueda vectorial
|
|
|
90 |
top_result = search_results[0]
|
91 |
if top_result['score'] >= similarity_threshold:
|
92 |
content = top_result['content']
|
93 |
+
partial_message = get_partial_message(content)
|
94 |
return partial_message, None
|
95 |
else:
|
96 |
yi_coder_response = generate_code(system_prompt, user_prompt, max_length)
|
97 |
+
partial_message = get_partial_message(yi_coder_response)
|
98 |
return partial_message, None
|
99 |
else:
|
100 |
yi_coder_response = generate_code(system_prompt, user_prompt, max_length)
|
101 |
+
partial_message = get_partial_message(yi_coder_response)
|
102 |
return partial_message, None
|
103 |
else:
|
104 |
return "Opción no válida.", None
|