Spaces:
Runtime error
Runtime error
| ##PARA.AI/core/context_builder.py | |
| """ | |
| Context Builder - Constr贸i contexto para context injection V13.6 | |
| """ | |
| import logging | |
| from typing import Dict, Any, Optional | |
| logger = logging.getLogger(__name__) | |
| class ContextBuilder: | |
| """Constr贸i contexto para cada especialista""" | |
| def __init__(self): | |
| self.context_rules = { | |
| 1: [], | |
| 2: ['secoes_originais'], | |
| 3: ['metadados'], | |
| 4: ['metadados', 'classificacao_tematica', 'secoes_originais'], | |
| 5: ['metadados', 'classificacao_tematica', 'secoes_originais'], | |
| 6: ['metadados', 'secoes_originais'], | |
| 7: ['metadados', 'classificacao_tematica', 'RELATORIO', 'FUNDAMENTACAO', 'DECISAO'] | |
| } | |
| def build_context( | |
| self, | |
| current_result: Dict[str, Any], | |
| specialist_id: int | |
| ) -> Optional[Dict[str, Any]]: | |
| """Constr贸i contexto para um especialista espec铆fico""" | |
| if specialist_id not in self.context_rules: | |
| return None | |
| fields_needed = self.context_rules[specialist_id] | |
| if not fields_needed: | |
| return None | |
| context = {} | |
| for field in fields_needed: | |
| if field in current_result: | |
| context[field] = current_result[field] | |
| return context if context else None | |
| def add_context_rule(self, specialist_id: int, fields: list): | |
| """Adiciona/modifica regra de contexto""" | |
| self.context_rules[specialist_id] = fields | |
| def get_context_rules(self) -> Dict[int, list]: | |
| """Retorna todas as regras de contexto""" | |
| return self.context_rules | |