Spaces:
Runtime error
Runtime error
| 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](/api/docs) | |
| ## ⚡ Quick Start | |
| ### 1. Testar API | |
| ```bash | |
| curl https://seu-space.hf.space/api/v1/health | |
| ``` | |
| ### 2. Upload de acórdãos | |
| ```bash | |
| # 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 | |
| ```bash | |
| curl https://seu-space.hf.space/api/v1/process/status/TASK_ID | |
| ``` | |
| ### 4. Download de resultados | |
| ```bash | |
| 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](https://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](https://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](https://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: | |
| ```json | |
| { | |
| "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 | |
| - **Documentação completa:** [/api/docs](/api/docs) | |
| - **Health Check:** [/api/v1/health](/api/v1/health) | |
| - **Repositório:** [GitHub](seu-repo) | |
| --- | |
| **Desenvolvido com ❤️ para análise jurisprudencial automatizada** | |