151 lines
5.1 KiB
Markdown
151 lines
5.1 KiB
Markdown
# 🧠 Antigravity Brain - Sistema de IA Corporativo
|
|
|
|
Uma aplicação modular **CrewAI** com memória compartilhada, 26 agentes de IA especializados, e interface web powered by **Chainlit**.
|
|
|
|

|
|

|
|

|
|

|
|
|
|
## 🚀 Funcionalidades
|
|
|
|
- **26 Agentes de IA Especializados** - De infraestrutura (Arthur Mendes, Gus Fring) a vendas (Ari Gold, Don Draper) até gestão de crises (Olivia Pope, Saul Goodman)
|
|
- **Memória Híbrida Inteligente** - Combinação de banco vetorial (Qdrant) + grafo de relacionamentos (Neo4j) para busca semântica e contextualizada
|
|
- **Agentes Escolhem Estratégia de Busca** - Podem usar busca rápida (vetorial) ou busca contextualizada (vetor + relacionamentos)
|
|
- **Roteamento Inteligente** - Classificação automática de solicitações para a equipe apropriada
|
|
- **Suporte Multi-Provedor LLM** - Funciona com Gemini, OpenAI, Anthropic, ou Ollama local
|
|
- **Interface Web** - Interface de chat moderna powered by Chainlit
|
|
- **Pronto para Docker** - Deploy com um único comando via docker-compose
|
|
|
|
## 📁 Estrutura do Projeto
|
|
|
|
```
|
|
minions-da-itguys/
|
|
├── src/
|
|
│ ├── app.py # Ponto de entrada Chainlit
|
|
│ ├── config.py # Configuração LLM & Memória
|
|
│ ├── router.py # Roteamento inteligente de requisições
|
|
│ ├── agents/
|
|
│ │ ├── factory.py # Instanciação de agentes
|
|
│ │ └── personas/ # 26 arquivos de personalidade (.md)
|
|
│ ├── crews/
|
|
│ │ └── definitions.py # Lógica de montagem de crews
|
|
│ ├── knowledge/
|
|
│ │ └── standards/ # Base de conhecimento corporativo
|
|
│ ├── memory/
|
|
│ │ ├── wrapper.py # Integração Mem0 + busca híbrida
|
|
│ │ ├── graph_wrapper.py # Gerenciamento de relacionamentos Neo4j
|
|
│ │ └── entity_search_tool.py # Busca por entidades específicas
|
|
│ └── tools/ # Ferramentas customizadas (Zabbix, Evolution, etc.)
|
|
├── docker-compose.yml # Orquestração de containers
|
|
├── Dockerfile # Container da aplicação
|
|
├── requirements.txt # Dependências Python
|
|
└── .env # Chaves de API & configuração
|
|
```
|
|
|
|
## 🛠️ Instalação
|
|
|
|
### Pré-requisitos
|
|
- Docker & Docker Compose
|
|
- Python 3.11+ (para desenvolvimento local)
|
|
- Chave de API Gemini/OpenAI
|
|
|
|
### Início Rápido (Docker)
|
|
|
|
```bash
|
|
# 1. Clone o repositório
|
|
git clone https://github.com/your-org/minions-da-itguys.git
|
|
cd minions-da-itguys
|
|
|
|
# 2. Configure o ambiente
|
|
cp .env.example .env
|
|
# Edite o .env com suas chaves de API
|
|
|
|
# 3. Inicie a aplicação
|
|
docker-compose up -d
|
|
|
|
# 4. Acesse a interface web
|
|
open http://localhost:8000
|
|
```
|
|
|
|
### Desenvolvimento Local
|
|
|
|
```bash
|
|
# Instale as dependências
|
|
pip install -r requirements.txt
|
|
|
|
# Execute o Chainlit
|
|
chainlit run src/app.py --port 8000
|
|
```
|
|
|
|
## ⚙️ Configuração
|
|
|
|
Edite o `.env` para configurar o backend de IA:
|
|
|
|
```env
|
|
# Provedor LLM: gemini, openai, anthropic, ollama
|
|
LLM_PROVIDER=gemini
|
|
LLM_MODEL_FAST=gemini-2.5-flash-lite-preview-06-17
|
|
LLM_MODEL_SMART=gemini-2.5-flash-lite-preview-06-17
|
|
GEMINI_API_KEY=sua-chave-api
|
|
|
|
# Memória: qdrant (local) ou mem0 (nuvem)
|
|
MEMORY_PROVIDER=qdrant
|
|
MEMORY_EMBEDDING_PROVIDER=local
|
|
|
|
# Neo4j Graph Database (para relacionamentos)
|
|
NEO4J_URI=bolt://localhost:7687
|
|
NEO4J_USER=neo4j
|
|
NEO4J_PASSWORD=antigravity2024
|
|
```
|
|
|
|
## 🤖 Crews Disponíveis
|
|
|
|
| Crew | Agentes | Propósito |
|
|
|------|---------|-----------|
|
|
| **Engenharia de Infra** | Arthur Mendes, Gus Fring | Templates Zabbix, monitoramento |
|
|
| **Auditoria de Segurança** | Elliot Alderson, Devil | Avaliação de vulnerabilidades |
|
|
| **RH & Evolução** | The Architect, Sherlock | Criar agentes, aprender políticas |
|
|
| **Crescimento de Vendas** | Ari Gold, Chris Gardner, Don Draper | Gestão de pipeline |
|
|
| **Estratégia de Negócios** | Harvey Specter, Kevin O'Leary | Compliance, análise de ROI |
|
|
|
|
## 🧪 Exemplos de Uso
|
|
|
|
```
|
|
Usuário: "Valide este template Zabbix"
|
|
→ Roteado para: Engenharia de Infra (Zabbix)
|
|
→ Arthur valida YAML, corrige UUIDs, Gus revisa
|
|
|
|
Usuário: "Crie um novo agente chamado Bob para DevOps"
|
|
→ Roteado para: RH & Evolução
|
|
→ The Architect gera novo arquivo de persona
|
|
|
|
Usuário: "Analise a segurança da nossa página de login"
|
|
→ Roteado para: Auditoria de Segurança
|
|
→ Elliot realiza reconhecimento
|
|
```
|
|
|
|
## 📦 Dependências
|
|
|
|
- `crewai` - Orquestração multi-agente
|
|
- `chainlit` - Interface Web
|
|
- `mem0ai` - Memória compartilhada
|
|
- `qdrant-client` - Banco de dados vetorial
|
|
- `neo4j` - Banco de dados de grafos para relacionamentos
|
|
- `litellm` - Suporte multi-provedor LLM
|
|
- `sentence-transformers` - Embeddings locais
|
|
|
|
## 🔒 Notas de Segurança
|
|
|
|
- Nunca commite `.env` com chaves de API reais
|
|
- O `.env.example` contém valores de placeholder seguros
|
|
- A memória é persistida no volume Docker `qdrant_data`
|
|
|
|
## 📝 Licença
|
|
|
|
Privada - Uso Interno ITGuys Apenas
|
|
|
|
---
|
|
|
|
Feito com ❤️ pela ITGuys
|