Spaces:
Runtime error
Runtime error
| """Router de testes de processadores""" | |
| from fastapi import APIRouter, HTTPException | |
| from api.models.requests import ProcessorTestRequest | |
| from api.models.responses import ProcessorTestResponse | |
| from api.utils.logger import setup_logger | |
| import time | |
| router = APIRouter() | |
| logger = setup_logger(__name__) | |
| async def test_processor(request: ProcessorTestRequest): | |
| """Testa um processador específico.""" | |
| start_time = time.time() | |
| try: | |
| # Importar processador | |
| processor_map = { | |
| "1": "processor_metadados", | |
| "2": "processor_relatorio", | |
| "metadados": "processor_metadados", | |
| "relatorio": "processor_relatorio" | |
| } | |
| processor_name = processor_map.get(request.processor_name, request.processor_name) | |
| from processors import processor_base | |
| processor = processor_base.get_processor(processor_name) | |
| # Processar | |
| result = await processor.process( | |
| ementa=request.ementa, | |
| integra=request.integra, | |
| tribunal=request.tribunal | |
| ) | |
| duration_ms = (time.time() - start_time) * 1000 | |
| return ProcessorTestResponse( | |
| processor_name=processor_name, | |
| success=True, | |
| result=result, | |
| duration_ms=duration_ms | |
| ) | |
| except Exception as e: | |
| duration_ms = (time.time() - start_time) * 1000 | |
| logger.error(f"Processor test error: {e}") | |
| return ProcessorTestResponse( | |
| processor_name=request.processor_name, | |
| success=False, | |
| duration_ms=duration_ms, | |
| error=str(e) | |
| ) | |
| async def list_processors(): | |
| """Lista processadores disponíveis.""" | |
| return { | |
| "processors": [ | |
| {"id": 1, "name": "Metadados"}, | |
| {"id": 2, "name": "Relatório"}, | |
| {"id": 3, "name": "Fundamentação"}, | |
| {"id": 4, "name": "Decisão"}, | |
| {"id": 5, "name": "Auditoria"}, | |
| {"id": 6, "name": "Arquivo Relacional"}, | |
| {"id": 7, "name": "Segmentação Sintática"}, | |
| {"id": 8, "name": "Análise Contextual"}, | |
| {"id": 9, "name": "Transcrição 3-Partite"} | |
| ], | |
| "total": 9 | |
| } | |