Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -9,18 +9,30 @@ def generate_response(user_message):
|
|
| 9 |
if not user_message.strip():
|
| 10 |
return "Por favor, escribe una pregunta para que pueda ayudarte."
|
| 11 |
|
| 12 |
-
#
|
| 13 |
-
|
| 14 |
-
if user_message.lower().strip() in saludos:
|
| 15 |
-
return "¡Hola! Soy BITER, el asistente de Byte para emprendedores. ¿En qué puedo ayudarte hoy? Puedes preguntarme sobre estrategia, marketing, financiación o desarrollo de producto."
|
| 16 |
|
| 17 |
-
#
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
|
| 25 |
# Cargar el prompt del sistema
|
| 26 |
with open("prompt.txt", "r", encoding="utf-8") as f:
|
|
@@ -29,13 +41,22 @@ Como BITER, eres el asistente de IA de Byte, diseñado específicamente para ayu
|
|
| 29 |
# Combinar el contexto de Byte con el prompt original
|
| 30 |
system_prompt = byte_context + "\n\n" + system_prompt
|
| 31 |
|
| 32 |
-
#
|
| 33 |
-
system_prompt += "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
| 35 |
# Configurar la solicitud a DeepInfra
|
| 36 |
api_key = os.environ.get("DEEPINFRA_API_KEY", "")
|
| 37 |
if not api_key:
|
| 38 |
-
return "Error: No se ha configurado la clave API.
|
| 39 |
|
| 40 |
headers = {
|
| 41 |
"Authorization": f"Bearer {api_key}",
|
|
@@ -52,7 +73,7 @@ Como BITER, eres el asistente de IA de Byte, diseñado específicamente para ayu
|
|
| 52 |
data = {
|
| 53 |
"model": "meta-llama/Llama-2-7b-chat-hf",
|
| 54 |
"messages": messages,
|
| 55 |
-
"max_tokens":
|
| 56 |
"temperature": 0.7,
|
| 57 |
"top_p": 0.9
|
| 58 |
}
|
|
|
|
| 9 |
if not user_message.strip():
|
| 10 |
return "Por favor, escribe una pregunta para que pueda ayudarte."
|
| 11 |
|
| 12 |
+
# Respuestas predefinidas para preguntas simples
|
| 13 |
+
user_message_lower = user_message.lower().strip()
|
|
|
|
|
|
|
| 14 |
|
| 15 |
+
# Mapa de respuestas cortas para preguntas comunes
|
| 16 |
+
respuestas_cortas = {
|
| 17 |
+
"hola": "¡Hola! ¿En qué puedo ayudarte hoy?",
|
| 18 |
+
"buenos días": "¡Buenos días! ¿En qué puedo ayudarte?",
|
| 19 |
+
"buenas": "¡Buenas! ¿En qué puedo ayudarte?",
|
| 20 |
+
"saludos": "¡Saludos! ¿En qué puedo ayudarte?",
|
| 21 |
+
"hey": "¡Hey! ¿En qué puedo ayudarte?",
|
| 22 |
+
"qué tal": "Muy bien, ¿y tú? ¿En qué puedo ayudarte hoy?",
|
| 23 |
+
"como estas": "Estoy listo para ayudarte con tu negocio. ¿Qué necesitas?",
|
| 24 |
+
"cómo estás": "Estoy listo para ayudarte con tu negocio. ¿Qué necesitas?",
|
| 25 |
+
"que es byte": "Byte es un proyecto para emprendedores que ofrece herramientas de IA, desarrollo web y servicios de contenido. ¿En qué puedo ayudarte?",
|
| 26 |
+
"qué es byte": "Byte es un proyecto para emprendedores que ofrece herramientas de IA, desarrollo web y servicios de contenido. ¿En qué puedo ayudarte?"
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
# Verificar si es una pregunta simple
|
| 30 |
+
for pregunta, respuesta in respuestas_cortas.items():
|
| 31 |
+
if pregunta in user_message_lower or user_message_lower in pregunta:
|
| 32 |
+
return respuesta
|
| 33 |
+
|
| 34 |
+
# Contexto sobre Byte (versión corta)
|
| 35 |
+
byte_context = "Byte es un proyecto para emprendedores con herramientas de IA, desarrollo web y servicios de contenido. BITER es el asistente de IA de Byte."
|
| 36 |
|
| 37 |
# Cargar el prompt del sistema
|
| 38 |
with open("prompt.txt", "r", encoding="utf-8") as f:
|
|
|
|
| 41 |
# Combinar el contexto de Byte con el prompt original
|
| 42 |
system_prompt = byte_context + "\n\n" + system_prompt
|
| 43 |
|
| 44 |
+
# Instrucciones muy estrictas sobre brevedad
|
| 45 |
+
system_prompt += """
|
| 46 |
+
|
| 47 |
+
INSTRUCCIONES DE FORMATO CRÍTICAS:
|
| 48 |
+
1. Sé EXTREMADAMENTE conciso. Máximo 1-2 párrafos cortos.
|
| 49 |
+
2. Para preguntas simples o saludos, responde en una sola línea.
|
| 50 |
+
3. Solo para preguntas técnicas complejas puedes usar hasta 3 párrafos.
|
| 51 |
+
4. NUNCA uses listas largas ni explicaciones extensas.
|
| 52 |
+
5. Habla como un CEO ocupado: directo, práctico y sin rodeos.
|
| 53 |
+
6. Adapta la longitud de tu respuesta a la complejidad de la pregunta.
|
| 54 |
+
"""
|
| 55 |
|
| 56 |
# Configurar la solicitud a DeepInfra
|
| 57 |
api_key = os.environ.get("DEEPINFRA_API_KEY", "")
|
| 58 |
if not api_key:
|
| 59 |
+
return "Error: No se ha configurado la clave API."
|
| 60 |
|
| 61 |
headers = {
|
| 62 |
"Authorization": f"Bearer {api_key}",
|
|
|
|
| 73 |
data = {
|
| 74 |
"model": "meta-llama/Llama-2-7b-chat-hf",
|
| 75 |
"messages": messages,
|
| 76 |
+
"max_tokens": 200, # Reducido aún más para forzar respuestas cortas
|
| 77 |
"temperature": 0.7,
|
| 78 |
"top_p": 0.9
|
| 79 |
}
|