PARA.AI / README.md
Carlex22's picture
Revert "ParaAIV3.1"
1f24745
metadata
title: PARA.AI
emoji: 🏃
colorFrom: yellow
colorTo: green
sdk: docker
pinned: false
license: agpl-3.0

⚖️ para.AI - Análise Jurisprudencial com IA

Sistema completo de análise automatizada de acórdãos jurídicos usando 9 especialistas IA (LLMs).

🚀 Funcionalidades

  • 📤 Upload de lotes (arquivos JSONL)
  • 🤖 9 processadores especializados para análise completa
  • 📦 Download de resultados em TAR.GZ
  • 🐘 PostgreSQL embutido (temporário para testes)
  • 🔍 API completa para debug

📚 Documentação

Acesse a documentação interativa em: /api/docs

⚡ Quick Start

1. Testar API

curl https://seu-space.hf.space/api/v1/health

2. Upload de acórdãos

# Criar arquivo JSONL de teste
cat > acordaos.jsonl << 'EOF'
{"acordao_id":"001","tribunal":"TJPR","ementa":"Teste ementa","integra":"Conteúdo completo do acórdão"}
EOF

# Fazer upload
curl -X POST "https://seu-space.hf.space/api/v1/process/upload" \
  -F "file=@acordaos.jsonl" \
  -F "llm_provider=groq" \
  -F "enable_parallel=true"

3. Consultar status

curl https://seu-space.hf.space/api/v1/process/status/TASK_ID

4. Download de resultados

curl -O https://seu-space.hf.space/api/v1/process/download/TASK_ID

🗄️ Banco de Dados

Modo 1: PostgreSQL Temporário (Padrão)

Por padrão, um PostgreSQL local é iniciado dentro do container:

  • ✅ Pronto para uso imediatamente
  • ✅ Sem configuração necessária
  • ⚠️ Dados são perdidos ao reiniciar

Modo 2: Banco Externo (Recomendado para produção)

Configure um banco PostgreSQL externo usando Repository Secrets:

Opção A: Neon (Recomendado - Grátis)

  1. Acesse neon.tech
  2. Crie projeto gratuito
  3. Copie connection string
  4. Em Settings → Repository Secrets, adicione:
    DATABASE_URL=postgresql://usuario:senha@ep-xxx.neon.tech/para_ai?sslmode=require
    

Opção B: Supabase (Grátis)

  1. Acesse supabase.com
  2. Crie projeto
  3. Em Database → Connection string, copie
  4. Adicione nas Secrets:
    DATABASE_URL=postgresql://postgres:[senha]@db.xxx.supabase.co:5432/postgres
    

🔑 Configuração de LLM

Configure pelo menos uma API key de LLM nas Repository Secrets:

Groq (Recomendado - Rápido e barato)

GROQ_API_KEY=gsk_sua_key_aqui

Obtenha em: console.groq.com

OpenAI (Opcional)

OPENAI_API_KEY=sk-sua_key_aqui

Anthropic (Opcional)

ANTHROPIC_API_KEY=sk-ant-sua_key_aqui

⚙️ Repository Secrets

Configure em Settings → Repository Secrets:

Obrigatórios

  • GROQ_API_KEY - API key do Groq (ou OpenAI/Anthropic)

Opcionais (para produção)

  • DATABASE_URL - PostgreSQL externo (recomendado)
  • APP_ENV=production
  • LOG_LEVEL=INFO
  • ENABLE_CACHE=true
  • REDIS_URL - Se usar cache Redis

🧪 Endpoints Principais

Método Endpoint Descrição
GET /api/v1/health Health check
POST /api/v1/process/upload Upload de JSONL
GET /api/v1/process/status/{id} Status da task
GET /api/v1/process/download/{id} Download resultados
GET /api/v1/debug/info Info do sistema
GET /api/docs Documentação Swagger

📋 Formato JSONL

Cada linha deve ser um JSON com a estrutura:

{
  "acordao_id": "identificador-unico",
  "tribunal": "TJPR",
  "numero": "0000001-00.2025.8.16.0000",
  "ementa": "Texto da ementa...",
  "integra": "Texto completo do acórdão...",
  "relator": "Des. Nome do Relator",
  "data_julgamento": "2025-01-15"
}

Campos obrigatórios: ementa, integra

🤖 Especialistas IA

O sistema processa cada acórdão com 9 especialistas:

  1. Metadados - Extração de informações estruturadas
  2. Relatório - Análise do relatório processual
  3. Fundamentação - Análise da fundamentação legal
  4. Decisão - Análise do dispositivo decisório
  5. Auditoria - Verificação de qualidade
  6. Arquivo Relacional - Estruturação para BD
  7. Segmentação Sintática - Análise linguística
  8. Análise Contextual - Contexto jurídico
  9. Transcrição 3-Partite - Estruturação tripartite

📊 Métricas

Veja métricas de processamento em:

  • /api/v1/debug/info - Info do sistema
  • /api/v1/debug/tasks - Tasks ativas

⚠️ Limitações (Modo PostgreSQL Temporário)

  • Dados não persistem entre reinicializações
  • Limite de armazenamento do container
  • Performance reduzida vs banco dedicado

Para produção, use banco externo (Neon/Supabase).

🔒 Segurança

Para produção, configure nas Secrets:

APP_ENV=production
DEBUG=false
REQUIRE_API_KEY=true
VALID_API_KEYS=sua_key_super_secreta

📖 Mais Informações


Desenvolvido com ❤️ para análise jurisprudencial automatizada