Advanced AI-powered legal consultation system specialized in Brazilian Business Law, built with state-of-the-art technologies for reliable, accurate, and comprehensive legal analysis.
The Business Law AI System is a comprehensive artificial intelligence platform specifically designed for Brazilian business law consultations. It combines multiple advanced technologies including PydanticAI, LangGraph, ChromaDB, and LexML using a CRAG (Corrective Retrieval-Augmented Generation) workflow with hybrid AI processing to provide accurate, well-founded, and reliable legal responses for business law matters.
- 🏢 Business Law Specialization: Focused on Brazilian corporate, commercial, and business law
- 🔍 CRAG Workflow: Corrective Retrieval-Augmented Generation for enhanced accuracy
- 🤖 Hybrid AI Architecture: OpenRouter + Groq integration for optimal performance
- ⚖️ Multi-Source Research: ChromaDB vector database + LexML + web search
- 📊 Quality Assurance: Built-in confidence scoring and guardrails validation
- 🌐 Bilingual Support: Portuguese and English interfaces
- 📈 Real-time Processing: Streaming responses with progress tracking
- 📊 Observability: Complete monitoring with Langfuse integration
The system implements a Corrective Retrieval-Augmented Generation (CRAG) workflow that intelligently manages document retrieval, evaluation, and query processing:
- Document Retrieval: Searches the ChromaDB vector database
- Document Grading: AI evaluates relevance and quality
- Query Transformation: Optimizes queries when documents are insufficient
- LexML Search: Accesses Brazilian legal jurisprudence
- Web Search Evaluation: Determines if additional web search is needed
- Conditional Web Search: Performs targeted web searches when necessary
- Response Synthesis: Generates comprehensive legal responses
The complete workflow shows the integration between CRAG processing and the hybrid AI system, including quality validation, guardrails, and observability components.
- 📝 Query Processing: The system analyzes your business law question using the CRAG workflow
- 🔍 Document Retrieval: Searches ChromaDB vector database containing 60MB+ of business law documents
- ⚖️ Document Grading: AI evaluates document relevance and decides on additional searches
- 🔄 Query Transformation: Optimizes search queries when needed for better results
- 📚 Multi-Source Search:
- LexML: Brazilian legal database for jurisprudence and legislation
- Web Search: Current legal information and updates (when needed)
- 🤖 Hybrid AI Analysis:
- OpenRouter: Legal analysis, synthesis, and quality validation
- Groq: Structured processing and web/LexML searches
- 📋 Response Generation: Comprehensive legal response with confidence scoring
The system includes specialized business law documentation:
- Corporate Law (Direito Societário) - Marlon Tomazette Vol. 1 (16MB)
- Commercial Law (Direito Empresarial) - André Luiz Santa Cruz Ramos (11MB)
- Bankruptcy & Recovery (Falência e Recuperação) - Marlon Tomazette Vol. 3 (14MB)
- Credit Instruments (Títulos de Crédito) - Marlon Tomazette Vol. 2 (11MB)
- Business Law Fundamentals - Mônica Gusmão (3.9MB)
- Systematic Business Law - Tarcísio Teixeira (3.6MB)
📁 Note on Legal Documents: The original PDF documents are stored in the
data/folder, which is included in.gitignoreto prevent sharing copyrighted legal materials. Users should obtain their own copies of Brazilian business law documents for the knowledge base.
- Python 3.12 or higher
- uv package manager (recommended)
- API keys for external services (optional for basic functionality)
- Brazilian business law PDF documents for the knowledge base
# Clone the repository
git clone https://github.com/SamoraDC/AgenticBusinessLawResearcher.git
cd AgenticBusinessLawResearcher
# Install dependencies using uv (recommended)
uv sync
# Or using pip
pip install -r requirements.txt-
Create the data folder:
mkdir data
-
Add your Brazilian business law PDF documents to the
data/folder:- Corporate law textbooks
- Commercial law references
- Jurisprudence collections
- Legal doctrine materials
-
Process the documents to create the vector database:
uv run python src/utils/document_processor.py
Create a .env file in the root directory:
# Required for enhanced functionality
GOOGLE_API_KEY=your_google_key_here
OPENROUTER_API_KEY=your_openrouter_key_here
GROQ_API_KEY=your_groq_key_here
# Optional for additional features
TAVILY_API_KEY=your_tavily_key_here
LANGFUSE_PUBLIC_KEY=your_langfuse_public_key
LANGFUSE_SECRET_KEY=your_langfuse_secret_key# Using uv (recommended)
uv run streamlit run app.py
# Or using pip
streamlit run app.pyVisit http://localhost:8501 in your browser.
"I want to remove a minority partner from the company. What are the legal procedures?"
"What are the requirements to establish a limited liability company (LTDA) in Brazil?"
"What are the essential clauses for a commercial distribution agreement?"
"What are the differences between judicial and extrajudicial business recovery?"
| Technology | Purpose | Version |
|---|---|---|
| PydanticAI | AI agents with strong typing | v0.1.8+ |
| LangGraph | CRAG workflow orchestration | v0.4.1+ |
| ChromaDB | Vector database for semantic search | v1.0.7+ |
| Streamlit | Web interface | v1.32.0+ |
| OpenRouter | AI analysis and synthesis | - |
| Groq | Structured processing | - |
| LexML | Brazilian legal database integration | - |
| Tavily | Web search for current information | v0.7.0+ |
| Langfuse | Observability and monitoring | v3.0.2+ |
- Response Time: 20-40 seconds for comprehensive analysis
- Accuracy: 85%+ confidence scoring on complex queries
- Coverage: 60MB+ of specialized business law content
- Architecture: CRAG + Hybrid AI for optimal quality
- Languages: Full bilingual support (Portuguese/English)
The system can be configured through the ProcessingConfig model:
config = ProcessingConfig(
max_documents_per_source=20, # Documents per search source
search_timeout_seconds=60, # Timeout for searches
enable_parallel_search=True, # Parallel processing
min_confidence_threshold=0.4, # Minimum confidence
temperature=0.1, # AI creativity (low for legal)
max_tokens=4000, # Response length
enable_guardrails=True, # Safety validations
enable_web_search=True, # Web search capability
enable_jurisprudence_search=True # LexML integration
)- Professional Disclaimer: All responses include clear disclaimers
- Scope Limitation: Focuses on general business law information
- Quality Scoring: Confidence scores from 0.0 to 1.0 on all responses
- Guardrails: Built-in checks for appropriate legal guidance
- Source Attribution: All responses cite their sources
- CRAG Validation: Corrective mechanisms ensure response accuracy
├── src/ # Core application code
│ ├── core/ # Core models and configuration
│ │ ├── legal_models.py # Pydantic models
│ │ ├── workflow_builder.py # LangGraph CRAG workflows
│ │ └── observability.py # Monitoring and logging
│ ├── agents/ # AI agents
│ │ ├── document_retriever.py # ChromaDB interface
│ │ ├── document_grader.py # Document relevance evaluation
│ │ ├── query_transformer.py # Query optimization
│ │ ├── search_coordinator.py # Multi-source search
│ │ └── streaming/ # Streaming processors
│ │ ├── hybrid_legal_processor.py # Hybrid AI system
│ │ └── response_synthesizer.py # Response generation
│ └── interfaces/ # External integrations
│ └── external_search_client.py # LexML and Tavily
├── data/ # Legal documents (60MB+) - .gitignore
├── chroma_db_gemini/ # Vector database
├── crag_graph.png # CRAG workflow diagram
├── legal_ai_workflow.png # Complete system workflow
├── app.py # Main Streamlit application
├── pyproject.toml # Project configuration
└── README.md # This file
# Run specific tests
uv run python tests/test_system.py
# Test the complete integration
uv run python tests/test_complete_hybrid_integration.py- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
query = LegalQuery(
text="Your business law question",
priority=Priority.MEDIUM,
validation_level=ValidationLevel.MODERATE,
area_of_law=LegalAreaType.COMMERCIAL
)response = FinalResponse(
overall_summary="Comprehensive legal analysis...",
overall_confidence=0.85,
search_results=[...],
detailed_analyses=[...],
disclaimer="Professional legal disclaimer..."
)This system provides general business law information and is not a substitute for professional legal advice. Always consult with qualified legal professionals for specific legal matters.
O Sistema de IA para Direito Empresarial é uma plataforma abrangente de inteligência artificial especificamente projetada para consultas de direito empresarial brasileiro. Combina múltiplas tecnologias avançadas incluindo PydanticAI, LangGraph, ChromaDB e LexML usando um workflow CRAG (Corrective Retrieval-Augmented Generation) com processamento híbrido de IA para fornecer respostas jurídicas precisas, bem fundamentadas e confiáveis para questões de direito empresarial.
- 🏢 Especialização em Direito Empresarial: Focado no direito societário, comercial e empresarial brasileiro
- 🔍 Workflow CRAG: Corrective Retrieval-Augmented Generation para maior precisão
- 🤖 Arquitetura Híbrida de IA: Integração OpenRouter + Groq para performance otimizada
- ⚖️ Pesquisa Multi-Fonte: Banco vetorial ChromaDB + LexML + busca web
- 📊 Garantia de Qualidade: Pontuação de confiança integrada e validação de guardrails
- 🌐 Suporte Bilíngue: Interfaces em português e inglês
- 📈 Processamento em Tempo Real: Respostas streaming com acompanhamento de progresso
- 📊 Observabilidade: Monitoramento completo com integração Langfuse
O sistema implementa um workflow CRAG (Corrective Retrieval-Augmented Generation) que gerencia inteligentemente a recuperação, avaliação e processamento de documentos:
- Recuperação de Documentos: Busca no banco vetorial ChromaDB
- Avaliação de Documentos: IA avalia relevância e qualidade
- Transformação de Query: Otimiza consultas quando documentos são insuficientes
- Busca LexML: Acessa jurisprudência brasileira
- Avaliação de Busca Web: Determina se busca web adicional é necessária
- Busca Web Condicional: Realiza buscas web direcionadas quando necessário
- Síntese de Resposta: Gera respostas jurídicas abrangentes
O workflow completo mostra a integração entre o processamento CRAG e o sistema híbrido de IA, incluindo validação de qualidade, guardrails e componentes de observabilidade.
- 📝 Processamento da Consulta: O sistema analisa sua pergunta de direito empresarial usando o workflow CRAG
- 🔍 Recuperação de Documentos: Busca no banco vetorial ChromaDB contendo mais de 60MB de documentos de direito empresarial
- ⚖️ Avaliação de Documentos: IA avalia relevância dos documentos e decide sobre buscas adicionais
- 🔄 Transformação de Query: Otimiza consultas de busca quando necessário para melhores resultados
- 📚 Busca Multi-Fonte:
- LexML: Base de dados jurídica brasileira para jurisprudência e legislação
- Busca Web: Informações jurídicas atuais e atualizações (quando necessário)
- 🤖 Análise Híbrida de IA:
- OpenRouter: Análise jurídica, síntese e validação de qualidade
- Groq: Processamento estruturado e buscas web/LexML
- 📋 Geração de Resposta: Resposta jurídica abrangente com pontuação de confiança
O sistema inclui documentação especializada em direito empresarial:
- Direito Societário - Marlon Tomazette Vol. 1 (16MB)
- Direito Empresarial Esquematizado - André Luiz Santa Cruz Ramos (11MB)
- Falência e Recuperação de Empresas - Marlon Tomazette Vol. 3 (14MB)
- Títulos de Crédito - Marlon Tomazette Vol. 2 (11MB)
- Lições de Direito Empresarial - Mônica Gusmão (3.9MB)
- Direito Empresarial Sistematizado - Tarcísio Teixeira (3.6MB)
📁 Nota sobre Documentos Jurídicos: Os PDFs originais são armazenados na pasta
data/, que está incluída no.gitignorepara evitar compartilhamento de materiais jurídicos com direitos autorais. Os usuários devem obter suas próprias cópias de documentos de direito empresarial brasileiro para a base de conhecimento.
- Python 3.12 ou superior
- Gerenciador de pacotes uv (recomendado)
- Chaves de API para serviços externos (opcional para funcionalidade básica)
- PDFs de direito empresarial brasileiro para a base de conhecimento
# Clone o repositório
git clone https://github.com/SamoraDC/AgenticBusinessLawResearcher.git
cd AgenticBusinessLawResearcher
# Instale as dependências usando uv (recomendado)
uv sync
# Ou usando pip
pip install -r requirements.txt-
Crie a pasta data:
mkdir data
-
Adicione seus PDFs de direito empresarial brasileiro na pasta
data/:- Livros de direito societário
- Referências de direito comercial
- Coleções de jurisprudência
- Materiais de doutrina jurídica
-
Processe os documentos para criar o banco vetorial:
uv run python src/utils/document_processor.py
Crie um arquivo .env no diretório raiz:
# Necessário para funcionalidade aprimorada
GOOGLE_API_KEY=sua_chave_google_aqui
OPENROUTER_API_KEY=sua_chave_openrouter_aqui
GROQ_API_KEY=sua_chave_groq_aqui
# Opcional para recursos adicionais
TAVILY_API_KEY=sua_chave_tavily_aqui
LANGFUSE_PUBLIC_KEY=sua_chave_publica_langfuse
LANGFUSE_SECRET_KEY=sua_chave_secreta_langfuse# Usando uv (recomendado)
uv run streamlit run app.py
# Ou usando pip
streamlit run app.pyVisite http://localhost:8501 no seu navegador.
"Quero retirar um sócio minoritário da sociedade. Quais são os procedimentos legais?"
"Quais são os requisitos para constituir uma sociedade limitada (LTDA) no Brasil?"
"Quais são as cláusulas essenciais para um contrato de distribuição comercial?"
"Quais são as diferenças entre recuperação judicial e extrajudicial de empresas?"
| Tecnologia | Propósito | Versão |
|---|---|---|
| PydanticAI | Agentes de IA com tipagem forte | v0.1.8+ |
| LangGraph | Orquestração de workflow CRAG | v0.4.1+ |
| ChromaDB | Banco vetorial para busca semântica | v1.0.7+ |
| Streamlit | Interface web | v1.32.0+ |
| OpenRouter | Análise e síntese de IA | - |
| Groq | Processamento estruturado | - |
| LexML | Integração com base jurídica brasileira | - |
| Tavily | Busca web para informações atuais | v0.7.0+ |
| Langfuse | Observabilidade e monitoramento | v3.0.2+ |
- Tempo de Resposta: 20-40 segundos para análise abrangente
- Precisão: Pontuação de confiança 85%+ em consultas complexas
- Cobertura: Mais de 60MB de conteúdo especializado em direito empresarial
- Arquitetura: CRAG + IA Híbrida para qualidade otimizada
- Idiomas: Suporte bilíngue completo (Português/Inglês)
O sistema pode ser configurado através do modelo ProcessingConfig:
config = ProcessingConfig(
max_documents_per_source=20, # Documentos por fonte de busca
search_timeout_seconds=60, # Timeout para buscas
enable_parallel_search=True, # Processamento paralelo
min_confidence_threshold=0.4, # Confiança mínima
temperature=0.1, # Criatividade da IA (baixa para jurídico)
max_tokens=4000, # Tamanho da resposta
enable_guardrails=True, # Validações de segurança
enable_web_search=True, # Capacidade de busca web
enable_jurisprudence_search=True # Integração LexML
)- Disclaimer Profissional: Todas as respostas incluem disclaimers claros
- Limitação de Escopo: Foca em informações gerais de direito empresarial
- Pontuação de Qualidade: Scores de confiança de 0.0 a 1.0 em todas as respostas
- Guardrails: Verificações integradas para orientação jurídica apropriada
- Atribuição de Fontes: Todas as respostas citam suas fontes
- Validação CRAG: Mecanismos corretivos garantem precisão das respostas
├── src/ # Código principal da aplicação
│ ├── core/ # Modelos e configuração principal
│ │ ├── legal_models.py # Modelos Pydantic
│ │ ├── workflow_builder.py # Workflows CRAG LangGraph
│ │ └── observability.py # Monitoramento e logging
│ ├── agents/ # Agentes de IA
│ │ ├── document_retriever.py # Interface ChromaDB
│ │ ├── document_grader.py # Avaliação de relevância
│ │ ├── query_transformer.py # Otimização de consultas
│ │ ├── search_coordinator.py # Busca multi-fonte
│ │ └── streaming/ # Processadores streaming
│ │ ├── hybrid_legal_processor.py # Sistema híbrido de IA
│ │ └── response_synthesizer.py # Geração de respostas
│ └── interfaces/ # Integrações externas
│ └── external_search_client.py # LexML e Tavily
├── data/ # Documentos jurídicos (60MB+) - .gitignore
├── chroma_db_gemini/ # Banco de dados vetorial
├── crag_graph.png # Diagrama do workflow CRAG
├── legal_ai_workflow.png # Workflow completo do sistema
├── app.py # Aplicação Streamlit principal
├── pyproject.toml # Configuração do projeto
└── README.md # Este arquivo
# Execute testes específicos
uv run python tests/test_system.py
# Teste a integração completa
uv run python tests/test_complete_hybrid_integration.py- Faça um fork do repositório
- Crie uma branch de feature (
git checkout -b feature/funcionalidade-incrivel) - Commit suas mudanças (
git commit -m 'Adiciona funcionalidade incrível') - Push para a branch (
git push origin feature/funcionalidade-incrivel) - Abra um Pull Request
query = LegalQuery(
text="Sua pergunta de direito empresarial",
priority=Priority.MEDIUM,
validation_level=ValidationLevel.MODERATE,
area_of_law=LegalAreaType.COMMERCIAL
)response = FinalResponse(
overall_summary="Análise jurídica abrangente...",
overall_confidence=0.85,
search_results=[...],
detailed_analyses=[...],
disclaimer="Disclaimer jurídico profissional..."
)Este sistema fornece informações gerais de direito empresarial e não substitui assessoria jurídica profissional. Sempre consulte profissionais jurídicos qualificados para questões legais específicas.
This project is licensed under the MIT License - see the LICENSE file for details.
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

