Skip to main content

Argus README

Argus

##Backend

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`processos — Buscar processos disponíveis

- `GET /api/v1/solar/processos/{processo_id}` — Detalhes completos do processo

- `GET /api/v1/solar/processos/{processo_id}/documentos`documentos — Listar documentos do processo

- `GET /api/v1/solar/processos/{processo_id}/eventos`eventos — Histórico de eventos

- `GET /api/v1/solar/processos/{processo_id}/partes`partes — Identificar partes do processo


###

Processamento de Documentos


- `POST /api/v1/documents/upload`upload — Upload ou download de documentos

- `POST /api/v1/ocr/analyze`analyze — Extração de texto com OCR

- `POST /api/v1/ai/documents/analyze`analyze — Análise inteligente de documentos (resumo, pontos-chave, etc.)

- `POST /api/v1/search/index`index — Indexação para busca semântica

- `GET /api/v1/documents/{document_id}/export`export — Exportação de resultados (PDF, DOCX, JSON)


###

Integração com Langfuse


- Rastreamento de operações de LLM

- `POST /api/v1/feedback`feedback — Avaliação de qualidade das análises


###

Integração com FlowiseAI


- Configuração de fluxos conversacionais

- `POST /api/v1/chat/query`query — Chatbot de consulta processual

- `POST /api/v1/drafts/generate`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`
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**FastAPI — Backend web

- **SQLAlchemy**SQLAlchemy — ORM

- **PostgreSQL**PostgreSQL — Banco de dados

- **Pydantic**Pydantic — Validação de dados

- **Celery**Celery — Processamento assíncrono

- **Azure Document Intelligence**Intelligence — OCR

- **Azure OpenAI**OpenAI — IA para análise

- **Azure Cognitive Search**Search — Busca semântica

- **Langfuse**Langfuse — Observabilidade de LLM

- **N8N**N8N — Automação de workflows

- **FlowiseAI**FlowiseAI — Fluxos conversacionais

- **Azure Storage**Storage — Armazenamento seguro


---

##

Arquitetura de Integração


```
┌─────────────────────────────────────────────────────────────────┐

Frontend (React)

└────────────────┬────────────────────────────────────────────────┘
│ HTTPS/REST
┌─────────────────────────────────────────────────────────────────┐
Argus Backend (FastAPI)
Solar ┌──────────────┬──────────────┬──────────────┬──────────────┐ │
│ │ API Layer │Service Layer │Repository │ Workers │ │
│ │ │ │ Layer │ (Celery) │ │
│ └──────────────┴──────────────┴──────────────┴──────────────┘ │
└────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬───┘
│ │ │ │ │ │ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
SolarDPDF, Azure AzureDocument Intelligence, Azure PostgreOpenAI, Azure LangfuseCognitive FlowiseaiSearch, PostgreSQL, Azure Storage, Langfuse, FlowiseAI, N8N

DPDF Doc Open Cog SQL Storage
Intel AI Search
```

---

##

Como Executar


###

Subir tudo

```bash
tudo:
chmod +x ./run.sh

./run.sh

```

###

Parar e limpar

```bash
limpar:
chmod +x ./stop.sh

./stop.sh

```

###

Acessar endpoints de teste

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