Skip to content

Repository files navigation

🤖 Analisador de Normas LGPD - Sistema Multi-Agente

Sistema inteligente baseado em múltiplos agentes de IA para análise automática de documentos e garantia de conformidade com a Lei Geral de Proteção de Dados (LGPD).

📋 Sobre o Projeto

Este projeto utiliza o framework CrewAI para implementar um sistema de três agentes especializados que trabalham em conjunto para:

  1. Analisar documentos e identificar possíveis violações da LGPD
  2. Anonimizar dados sensíveis encontrados nos documentos
  3. Revisar e formalizar o documento final para adequação ao ambiente judicial

🏗️ Estrutura do Projeto

Exemplo CrewAI v2/
├── README.md                    # Documentação do projeto
├── Home.py                     # Interface Streamlit principal
├── mult_agents.py              # Configuração dos agentes e crew
├── utils.py                    # Funções utilitárias e configurações
├── PROBLEM.MD                  # Problema abordado
├── documento_atualizado.md     # Documento processado pelos agentes
├── configs/
│   ├── agents.yaml            # Configuração dos agentes
│   └── tasks.yaml             # Configuração das tarefas
├── documents/
│   └── fake_document.md       # Documento de exemplo
│   └── project_scope.md       # Escopo do Projeto
├── db/                        # Banco de dados ChromaDB
│   ├── chroma.sqlite3
│   └── c110f77e-e376-4ff6-bc1d-a6b2386e8c4e/

🤖 Agentes do Sistema

1. Agente Especialista Classificador LGPD

  • Função: Analisa documentos e identifica conformidade com a LGPD
  • Ferramentas: Busca web, leitura de arquivos, busca semântica
  • Objetivo: Identificar violações e sugerir correções

2. Agente Anonimizador

  • Função: Identifica e substitui dados sensíveis por "XXX"
  • Objetivo: Garantir anonimização conforme normas da LGPD

3. Agente Revisador LGPD

  • Função: Revisa o trabalho dos outros agentes e formaliza o texto
  • Ferramentas: Busca web para validação
  • Objetivo: Produzir documento final adequado ao ambiente judicial

🛠️ Tecnologias Utilizadas

  • CrewAI: Framework para sistemas multi-agente
  • Streamlit: Interface web interativa
  • OpenAI GPT-4o-mini: Modelo de linguagem principal
  • ChromaDB: Banco de dados vetorial para busca semântica
  • SerperDev: API para busca na web
  • Python: Linguagem de programação principal

📦 Instalação

Pré-requisitos

  • Python 3.8+
  • Conta OpenAI com API Key
  • Conta SerperDev com API Key

1. Clone o repositório

git clone git@github.com:Ryans007/CrewAI-Example.git
cd "CrewAI-Example"

2. Instale as dependências

pip install crewai
pip install crewai-tools
pip install streamlit
pip install python-dotenv
pip install pyyaml

3. Configure as variáveis de ambiente

Crie um arquivo .env na raiz do projeto com suas chaves de API:

OPENAI_API_KEY=sua_chave_openai_aqui
SERPER_API_KEY=sua_chave_serper_aqui

4. Obtenha as chaves de API necessárias

OpenAI API Key:

  1. Acesse OpenAI Platform
  2. Crie uma conta ou faça login
  3. Vá para "API Keys" e gere uma nova chave
  4. Adicione créditos à sua conta se necessário

SerperDev API Key:

  1. Acesse SerperDev
  2. Crie uma conta gratuita
  3. Obtenha sua chave de API no dashboard

🚀 Como Usar

1. Inicie a aplicação

streamlit run Home.py

2. Acesse a interface

A aplicação será aberta automaticamente no seu navegador em http://localhost:8501

3. Faça upload de um documento

  • Clique em "Coloque seu documento aqui"
  • Selecione um arquivo (PDF, DOCX, MD ou TXT)
  • Clique em "Inicializar Análise"

4. Aguarde o processamento

O sistema processará o documento através dos três agentes:

  1. Análise de conformidade LGPD
  2. Anonimização de dados sensíveis
  3. Revisão e formalização

5. Visualize o resultado

O documento processado será exibido na interface com:

  • Dados sensíveis anonimizados
  • Texto formalizado para ambiente judicial
  • Conformidade com a LGPD garantida

⚙️ Configuração

Personalizando Agentes

Edite o arquivo configs/agents.yaml para modificar:

  • Roles e objetivos dos agentes
  • Modelos de linguagem utilizados
  • Comportamentos específicos

Personalizando Tarefas

Edite o arquivo configs/tasks.yaml para modificar:

  • Descrições das tarefas
  • Outputs esperados
  • Contexto entre tarefas

📁 Tipos de Arquivo Suportados

  • PDF: Documentos em formato PDF
  • DOCX: Documentos Microsoft Word
  • MD: Arquivos Markdown
  • TXT: Arquivos de texto simples

🔒 Segurança e Privacidade

  • Dados são processados localmente
  • Arquivos são temporariamente armazenados na pasta documents/
  • Sistema garante anonimização conforme LGPD
  • Chaves de API são armazenadas em variáveis de ambiente

🐛 Solução de Problemas

Erro de API Key

Certifique-se de que as chaves estão configuradas corretamente no arquivo .env

Erro de dependências

pip install --upgrade crewai crewai-tools streamlit

Problemas de encoding

Certifique-se de que os arquivos estão em UTF-8

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages