akra35567 commited on
Commit
9fb5b11
·
1 Parent(s): def018e

Update modules/contexto.py

Browse files
Files changed (1) hide show
  1. modules/contexto.py +18 -1
modules/contexto.py CHANGED
@@ -3,6 +3,7 @@ import re
3
  import random
4
  import time
5
  import sqlite3
 
6
  # CORREÇÃO DO BUG: Importação de List, Dict, Tuple e Any
7
  from typing import Optional, List, Dict, Tuple, Any
8
  import modules.config as config
@@ -70,6 +71,22 @@ class Contexto:
70
  # Cache para termos regionais e gírias (simulação de carregamento)
71
  self.cache_girias: Dict[str, Any] = {}
72
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  def get_or_create_treinador(self, interval_hours: int = 24) -> Treinamento:
74
  """Retorna um treinador associado a este contexto, criando se necessário."""
75
  if self._treinador is None:
@@ -107,7 +124,7 @@ class Contexto:
107
  self.embeddings = {"conhecimento_base": "placeholder_embedding_data"}
108
  except Exception as e:
109
  logger.warning(f"Não foi possível carregar embeddings: {e}")
110
-
111
 
112
  def analisar_intencao_e_normalizar(self, mensagem: str, historico: List[Tuple[str, str]]) -> Dict[str, Any]:
113
  """Analisa a intenção, normaliza a mensagem e detecta sentimentos/estilo (Heurística)."""
 
3
  import random
4
  import time
5
  import sqlite3
6
+ import json # ADICIONADO: Necessário para json.loads em obter_aprendizado_detalhado
7
  # CORREÇÃO DO BUG: Importação de List, Dict, Tuple e Any
8
  from typing import Optional, List, Dict, Tuple, Any
9
  import modules.config as config
 
71
  # Cache para termos regionais e gírias (simulação de carregamento)
72
  self.cache_girias: Dict[str, Any] = {}
73
 
74
+ def atualizar_aprendizados_do_banco(self):
75
+ """
76
+ CORREÇÃO: Carrega todos os dados de aprendizado persistentes (termos, gírias, etc.)
77
+ do banco de dados para a instância do Contexto. Método obrigatório chamado por api.py.
78
+ """
79
+ # 1. Carrega termos
80
+ termos = self.obter_aprendizado_detalhado("termos")
81
+ self.termo_contexto = termos if isinstance(termos, dict) else {}
82
+
83
+ # 2. Carrega emoção/estado (se persistido)
84
+ emocao = self.obter_aprendizado_detalhado("emocao_atual")
85
+ if isinstance(emocao, str):
86
+ self.emocao_atual = emocao
87
+
88
+ logger.info(f"Aprendizados de contexto carregados/recarregados para {self.usuario}.")
89
+
90
  def get_or_create_treinador(self, interval_hours: int = 24) -> Treinamento:
91
  """Retorna um treinador associado a este contexto, criando se necessário."""
92
  if self._treinador is None:
 
124
  self.embeddings = {"conhecimento_base": "placeholder_embedding_data"}
125
  except Exception as e:
126
  logger.warning(f"Não foi possível carregar embeddings: {e}")
127
+
128
 
129
  def analisar_intencao_e_normalizar(self, mensagem: str, historico: List[Tuple[str, str]]) -> Dict[str, Any]:
130
  """Analisa a intenção, normaliza a mensagem e detecta sentimentos/estilo (Heurística)."""