AIdeaText commited on
Commit
5fbca50
·
verified ·
1 Parent(s): 0c6edbd

Update modules/chatbot/chat_process.py

Browse files
Files changed (1) hide show
  1. modules/chatbot/chat_process.py +25 -15
modules/chatbot/chat_process.py CHANGED
@@ -61,7 +61,7 @@ class ChatProcessor:
61
  Tus tareas:
62
  1. Responder preguntas sobre conceptos y sus relaciones
63
  2. Explicar la estructura de la red semántica
64
- 3. Sugerir mejoras al texto
65
  4. Proporcionar insights basados en centralidad de conceptos""",
66
 
67
  'pt': f"""Você é um especialista em análise semântica. O usuário analisou um artigo de pesquisa.
@@ -73,11 +73,26 @@ class ChatProcessor:
73
  1. Responder perguntas sobre conceitos e suas relações
74
  2. Explicar a estrutura da rede semântica
75
  3. Sugerir melhorias no texto
76
- 4. Fornecer insights com base na centralidade dos conceitos"""
 
 
 
 
 
 
 
 
 
 
 
77
  }
78
 
79
  return prompts.get(self.current_lang, prompts['en'])
80
 
 
 
 
 
81
  def process_chat_input(self, message: str, lang_code: str) -> Generator[str, None, None]:
82
  """Procesa el mensaje con todo el contexto disponible"""
83
  try:
@@ -110,8 +125,9 @@ class ChatProcessor:
110
  ) as stream:
111
  full_response = ""
112
  for chunk in stream.text_stream:
113
- full_response += chunk
114
- yield chunk + "▌"
 
115
 
116
  # Guardar respuesta en historial
117
  self.conversation_history.extend([
@@ -120,18 +136,12 @@ class ChatProcessor:
120
  ])
121
  logger.info("Respuesta generada y guardada en historial")
122
 
123
- # Asegurar limpieza de caracteres especiales
124
- def clean_generated_text(text):
125
- return text.replace("\u2588", "").replace("▌", "").strip()
126
-
127
- # Aplicar limpieza a la generación
128
- for chunk in self.generate_response(user_input, lang_code):
129
- yield clean_generated_text(chunk)
130
-
131
  except Exception as e:
132
  logger.error(f"Error en process_chat_input: {str(e)}", exc_info=True)
133
- yield {
134
  'en': "Error processing message. Please reload the analysis.",
135
  'es': "Error al procesar mensaje. Recargue el análisis.",
136
- 'pt': "Erro ao processar mensagem. Recarregue a análise."
137
- }.get(self.current_lang, "Processing error")
 
 
 
61
  Tus tareas:
62
  1. Responder preguntas sobre conceptos y sus relaciones
63
  2. Explicar la estructura de la red semántica
64
+ 3. Sugerir mejorias al texto
65
  4. Proporcionar insights basados en centralidad de conceptos""",
66
 
67
  'pt': f"""Você é um especialista em análise semântica. O usuário analisou um artigo de pesquisa.
 
73
  1. Responder perguntas sobre conceitos e suas relações
74
  2. Explicar a estrutura da rede semântica
75
  3. Sugerir melhorias no texto
76
+ 4. Fornecer insights com base na centralidade dos conceitos""",
77
+
78
+ 'fr': f"""Vous êtes un expert en analyse sémantique. L'utilisateur a analysé un article de recherche.
79
+ Texte complet disponible (abrégé pour le contexte).
80
+ Concepts clés: {top_concepts}
81
+ Graphique disponible: {self.semantic_context['graph_available']}
82
+
83
+ Vos tâches:
84
+ 1. Répondre aux questions sur les concepts et leurs relations
85
+ 2. Expliquer la structure du réseau sémantique
86
+ 3. Suggérer des améliorations de texte
87
+ 4. Fournir des insights basés sur la centralité des concepts"""
88
  }
89
 
90
  return prompts.get(self.current_lang, prompts['en'])
91
 
92
+ def clean_generated_text(self, text):
93
+ """Limpia caracteres especiales del texto generado"""
94
+ return text.replace("\u2588", "").replace("▌", "").strip()
95
+
96
  def process_chat_input(self, message: str, lang_code: str) -> Generator[str, None, None]:
97
  """Procesa el mensaje con todo el contexto disponible"""
98
  try:
 
125
  ) as stream:
126
  full_response = ""
127
  for chunk in stream.text_stream:
128
+ cleaned_chunk = self.clean_generated_text(chunk)
129
+ full_response += cleaned_chunk
130
+ yield cleaned_chunk
131
 
132
  # Guardar respuesta en historial
133
  self.conversation_history.extend([
 
136
  ])
137
  logger.info("Respuesta generada y guardada en historial")
138
 
 
 
 
 
 
 
 
 
139
  except Exception as e:
140
  logger.error(f"Error en process_chat_input: {str(e)}", exc_info=True)
141
+ error_messages = {
142
  'en': "Error processing message. Please reload the analysis.",
143
  'es': "Error al procesar mensaje. Recargue el análisis.",
144
+ 'pt': "Erro ao processar mensagem. Recarregue a análise.",
145
+ 'fr': "Erreur lors du traitement du message. Veuillez recharger l'analyse."
146
+ }
147
+ yield error_messages.get(self.current_lang, "Processing error")