askbyte commited on
Commit
9ac84ea
·
verified ·
1 Parent(s): 229d90b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -15
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
- # Detectar si es un saludo simple
13
- saludos = ["hola", "buenos días", "buenas", "saludos", "hey", "qué tal", "como estás"]
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
- # Contexto sobre Byte y justbyte.es
18
- byte_context = """
19
- CONTEXTO SOBRE BYTE:
20
- Byte es un proyecto hecho por y para emprendedores que ofrece herramientas de IA, desarrollo web y servicios de agencia de contenidos enfocados en viralidad. Byte también cuenta con una newsletter para emprendedores y tiene presencia en Instagram. La web justbyte.es es el punto central donde los emprendedores pueden acceder a estos recursos y servicios.
21
-
22
- Como BITER, eres el asistente de IA de Byte, diseñado específicamente para ayudar a los emprendedores que visitan justbyte.es a tomar mejores decisiones estratégicas para sus negocios.
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
- # Añadir instrucciones para respuestas concisas
33
- system_prompt += "\n\nIMPORTANTE: Tus respuestas deben ser concisas (máximo 3-4 párrafos). Evita listas largas y sé directo. Adapta la longitud de tu respuesta a la complejidad de la pregunta."
 
 
 
 
 
 
 
 
 
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. Por favor, configura la variable de entorno DEEPINFRA_API_KEY."
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": 300, # Reducido para respuestas más cortas
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
  }