# 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.