Spaces:
Running
Running
Update modules/contexto.py
Browse files- 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)."""
|