Lemini — chatbot de consultoria jurídica que opera em dois modos
(github.com/maantano)URL : https://lemini-brown.vercel.app/
Estou compartilhando o Lemini, um chatbot RAG para fazer perguntas em linguagem natural sobre leis e precedentes da Coreia. Vi que recentemente foi publicado um post sobre um serviço de proposta parecida, e nós estamos resolvendo o mesmo problema com dois modos diferentes, então quis publicar para receber feedback técnico.
Por que dois modos
As perguntas jurídicas se dividem em dois tipos.
- "Minha situação é esta, o que devo fazer?" — o usuário não consegue descrever bem os fatos do caso. Se recebermos isso com um RAG comum, só voltam respostas genéricas.
- "Revise este contrato/termo de uso" — o documento já existe, mas se você pedir num único prompt "revise", só sai uma checklist padrão.
Esses dois tipos não se resolvem com o mesmo RAG. O Lemini foi projetado separando os modos em dois.
Modo 1 — Ouroboros (convergência interativa dos fatos)
pergunta → [os fatos são suficientes?] ──insuficientes── pergunta complementar de múltipla escolha ─┐
│ suficientes │
▼ ←─ resposta do usuário ┘
RAG (leis + precedentes + normas autônomas)
▼
análise estruturada
· fatos favoráveis / que exigem cautela
· plano de ação
· alerta de prazo (prescrição)
· precedentes relacionados
▼
loop de verificação de citações — remove citações que não aparecem nos hits da busca
Resumo em uma linha: antes de responder, o modelo pergunta a si mesmo se "os fatos são suficientes".
Se não forem, faz perguntas complementares em cartões de múltipla escolha; se forem, segue para RAG → análise estruturada. O usuário não precisa projetar sozinho as perguntas complementares.
Modo 2 — análise especializada (cadeia de 6 etapas para revisão de documentos)
entrada do documento
▼
① varredura completa — natureza do documento, resumo das seções
② mapeamento do framework institucional externo — declaração do regime em que este documento se apoia
③ RAG por eixo — busca de leis e precedentes para cada eixo institucional
② mapeamento do framework institucional externo — declaração do regime em que este documento se apoia
③ RAG por eixo — busca de leis e precedentes para cada eixo institucional
④ revisão por cláusula — observations / gaps / external
⑤ cadeia paralela (3 simultâneas)
├ coerência entre objetivo e meio
├ revisão sob a ótica institucional
└ cenário de risco
⑥ verdict orientado a julgamento — apenas quando a pergunta for do tipo decisório
Resumo em uma linha: em vez de um único prompt com "revise", "declaramos primeiro o framework institucional fora do documento e então entramos".
Essa etapa ② não sai bem com um único prompt, então separamos a cadeia.
Base comum que sustenta os dois modos
- loop de verificação de citações — o LLM compara as citações que gerou com os hits da busca, removendo da resposta as citações inexistentes. Evita artigos falsos porém plausíveis.
- mesmo pool com 3 tipos de dados — leis + precedentes + normas autônomas (termos padrão da Fair Trade Commission, regulamentos de associações, diretrizes da KISA e da Comissão de Proteção de Informações Pessoais) carregados no mesmo espaço vetorial.
Nenhuma bifurcação de domínio no código, distinção apenas pordocument_type. - pipeline próprio de coleta — as leis são atualizadas automaticamente 1 vez por semana pela API do DRF; os precedentes usam a API de uso conjunto do Sistema Nacional de Informações Jurídicas + cache on-demand.
- os prompts foram desenhados com generalidade como prioridade máxima. Não fornecemos informações para chegar à resposta; eles foram projetados para produzir a resposta adequada à pergunta.
Stack
FastAPI / Cloud Run · Next.js · Gemini (JSON estruturado + multi-chain) · SQLite + matriz própria de embeddings (3 eixos: vetorial, lexical e exato)
Privacidade
Sem cadastro nem login, sem armazenamento das conversas no DB do servidor (browser localStorage), stateless, IP usado apenas em memória para rate limit.
Limites
Não é consultoria jurídica, e sim uma ferramenta de busca e análise de informações. Há lacunas em dados de anexos/tabelas/formulários e na cobertura de precedentes. A capacidade de raciocínio do modelo em si depende de um LLM externo, e o ponto em que queremos nos diferenciar não é uma "resposta plausível", mas uma "resposta estruturada com fundamentos verificados".
O que gostaríamos de receber como feedback
- Modo 1 — casos em que as perguntas complementares do Ouroboros sejam aleatórias ou excessivas
- Modo 2 — perspectivas ausentes na cadeia de 6 etapas de revisão documental
- citações incorretas que o loop de verificação não conseguiu capturar
- pontos de vista que estejam faltando em comparação com outros serviços do mesmo domínio
Se puderem testar e deixar um feedback direto, agradeço.
2 comentários
Resultado da revisão do documento
Falha na verificação
Ocorreu um erro durante a revisão do documento. Parece que ocorre um erro ao usar o chatbot e, ao pesquisar o nome da legislação, o primeiro resultado aparece com 50%, mas os demais parecem vir com pontuações absurdas, como 4565%.
Obrigado!! 😭😭 Vou conferir!!