# ℹ️ INFO.md — Para.AI Assuntos Jurídicos API **Para potenciais clientes e usuários** --- ## O que é? API REST pública que provê acesso estruturado aos **5.184 assuntos jurídicos** catalogados oficialmente pelo **Conselho Nacional de Justiça (CNJ)**. Projetada para advogados, legaltechs, sistemas de gestão processual e desenvolvedores que integram LLMs com contexto jurídico confiável. --- ## Propósito e Objetivo ### Problema Profissionais do Direito perdem horas navegando manualmente a taxonomia do CNJ para classificar processos. Chatbots jurídicos carecem de fonte estruturada e confiável. Sistemas de triagem automática erram por falta de contexto oficial. ### Solução A Para.AI API entrega em milissegundos: - **Busca fuzzy** tolerante a erros (`"aposen"` → `"Aposentadoria"`) - **Filtros por ramo**, legislação e hierarquia - **Autocomplete** em tempo real - **Ficha unificada** para tool calling de LLMs (GPT-4, Claude, Gemini) - **Árvore hierárquica** completa (22 ramos, até 5 níveis) --- ## Arquitetura ``` Cliente / LLM │ HTTP/JSON ▼ FastAPI 0.115 ←── Pydantic 2 (validação + serialização ORJSON) │ ▼ Elasticsearch 8.12 • Índice: assuntos_juridicos (5.184 docs, ~18 MB) • Analyzer: juridico_pt (lowercase + ASCII fold + stemmer PT + stopwords) • Edge n-gram tokenizer para autocomplete • BM25 com pesos: nome_assunto^4, titulo_curto^3, breve_sintese^2 … │ ▼ Base CNJ (dados públicos, bulk_assuntos.ndjson) ``` --- ## Endpoints Disponíveis | Endpoint | Método | Latência p50 | Descrição | |----------|--------|-------------|-----------| | `/busca` | GET/POST | ~800ms | Full-text + filtros + facets | | `/busca-q` | GET/POST | ~74ms | Estruturada para LLMs | | `/autocomplete` | GET | ~45ms | Sugestões por prefixo | | `/hierarquia` | GET | ~250ms | Árvore 22 ramos | | `/assuntos/{id}` | GET | ~20ms | Documento completo | | `/grafo/filhos` | GET | ~100ms | Drill-down por ancestral | | `/health` | GET | ~10ms | Status e métricas | Documentação interativa: `http://localhost:8000/docs` --- ## Desafios e Soluções | Desafio | Solução | |---------|---------| | Soft hyphens `\xad` nos textos CNJ | Strip no pipeline de indexação | | Termos jurídicos longos com acentos | ASCII folding + stemmer português | | LLMs precisam de payload compacto | `/busca-q` com `retornar=[]` seletivo | | Hierarquia de 5 níveis aninhados | Agregações ES nested + `classes_path` | | Autocompletar prefixos rápido | Edge n-gram (min 2, max 20 chars) | --- ## Próximos Passos **Q2 2026 — Otimização** - Cache Redis (p95 < 200ms) - Rate limiting e API keys - Métricas Prometheus + Grafana **Q3 2026 — Inteligência** - Busca semântica (embeddings) - Dicionário de sinônimos jurídicos - `/classificar` — inferência de assunto por texto livre **Q4 2026 — Escala** - Cluster ES 3 nós - Integração com jurisprudência (acórdãos TJPR) - Webhooks de atualização CNJ --- ## Open Source Código: https://github.com/para-ai/assuntos-juridicos Licença: MIT Dados: CNJ (domínio público)