Skip to main content

Argus OCR - README

Descrição Geral
O Argus é uma plataforma de análise documental inteligente para a Defensoria Pública do Distrito Federal (DPDF), integrando o sistema Solar DPDF com serviços cognitivos da Azure para análise automatizada de documentos processuais via OCR e IA. O sistema também suporta observabilidade (Langfuse), automação de workflows (N8N) e fluxos conversacionais (FlowiseAI).

Funcionalidades Principais
- Processamento e análise de documentos processuais (PDF, DOCX, etc.)
- Integração com Solar DPDF para busca e recuperação de processos e documentos
- OCR avançado com Azure Document Intelligence
- Análise inteligente de conteúdo com Azure OpenAI (GPT-4)
- Indexação e busca semântica com Azure Cognitive Search
- Observabilidade e rastreamento de operações de LLM com Langfuse
- Automação de workflows com N8N
- Construção de fluxos conversacionais com FlowiseAI
- Armazenamento seguro em Azure Storage

Módulos e Endpoints Principais

Integração com Solar DPDF
- GET /api/v1/solar/processos — Buscar processos disponíveis
- GET /api/v1/solar/processos/{processo_id} — Detalhes completos do processo
- GET /api/v1/solar/processos/{processo_id}/documentos — Listar documentos do processo
- GET /api/v1/solar/processos/{processo_id}/eventos — Histórico de eventos
- GET /api/v1/solar/processos/{processo_id}/partes — Identificar partes do processo

Processamento de Documentos
- POST /api/v1/documents/upload — Upload ou download de documentos
- POST /api/v1/ocr/analyze — Extração de texto com OCR
- POST /api/v1/ai/documents/analyze — Análise inteligente de documentos (resumo, pontos-chave, etc.)
- POST /api/v1/search/index — Indexação para busca semântica
- GET /api/v1/documents/{document_id}/export — Exportação de resultados (PDF, DOCX, JSON)

Integração com Langfuse
- Rastreamento de operações de LLM
- POST /api/v1/feedback — Avaliação de qualidade das análises

Integração com FlowiseAI
- Configuração de fluxos conversacionais
- POST /api/v1/chat/query — Chatbot de consulta processual
- POST /api/v1/drafts/generate — Geração de minutas com IA

Integração com N8N
- Automação de workflow de análise
- Notificações automáticas
- Integração com sistemas externos via webhooks

Processamento Assíncrono
- Processamento em background com Celery
- Status de tarefas: GET /api/v1/tasks/{task_id}/status

Estrutura do Projeto

argus-backend/
├── main.py
├── api/
│   └── v1/
│       ├── routes_ocr.py
│       ├── routes_user.py
│       └── ...
├── services/
│   ├── ocr_service.py
│   ├── document_service.py
│   └── ...
├── repositories/
│   ├── document_repository.py
│   └── ...
├── models/
│   ├── document_model.py
│   └── ...
├── schemas/
│   ├── document_schema.py
│   └── ...
├── core/
│   ├── config.py
│   ├── database.py
│   └── security.py
└── workers/
    └── ocr_worker.py

Tecnologias Utilizadas
- FastAPI — Backend web
- SQLAlchemy — ORM
- PostgreSQL — Banco de dados
- Pydantic — Validação de dados
- Celery — Processamento assíncrono
- Azure Document Intelligence — OCR
- Azure OpenAI — IA para análise
- Azure Cognitive Search — Busca semântica
- Langfuse — Observabilidade de LLM
- N8N — Automação de workflows
- FlowiseAI — Fluxos conversacionais
- Azure Storage — Armazenamento seguro

Arquitetura de Integração

Frontend (React) → Argus Backend (FastAPI) → Solar DPDF, Azure Document Intelligence, Azure OpenAI, Azure Cognitive Search, PostgreSQL, Azure Storage, Langfuse, FlowiseAI, N8N

Como Executar

Subir tudo:
chmod +x ./run.sh
./run.sh

Parar e limpar:
chmod +x ./stop.sh
./stop.sh

Acessar endpoints de teste:
http://localhost:8000/docs
http://localhost:8000/api/v1/health

Observações
- Sempre utilize paginação e filtros ao consumir endpoints do Solar DPDF devido ao grande volume de dados.
- O sistema é extensível para novas integrações e fluxos de automação.
- Consulte o documento de requisitos funcionais para detalhes completos de cada módulo.