Skip to content

costaendriw/ryan_AI_-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Sistema Ryan IA - Agente de Atendimento 24/7

Python Flask License Status

Sistema completo de atendimento ao cliente com IA personalizada, interface web moderna e painel administrativo avançado.

📋 Índice

✨ Características

🤖 Agente IA Ryan

  • Personalidade descolada e prática
  • Análise de sentimento em tempo real
  • Contextualização de conversas
  • Respostas adaptadas por nicho de mercado

💬 Interface de Chat

  • Design moderno e responsivo
  • Suporte a emojis e formatação
  • Indicadores de digitação
  • Sistema de avaliação de satisfação

🔧 Painel Administrativo

  • Dashboard com estatísticas em tempo real
  • Gerenciamento de sessões
  • Busca avançada em conversas
  • Sistema de segurança robusto
  • Relatórios e analytics

🏗️ Arquitetura SOLID

  • Código limpo e bem documentado
  • Princípios SOLID implementados
  • Fácil manutenção e extensão
  • Injeção de dependências
  • Interfaces bem definidas

🎯 Demonstração

Chat Principal

🤖 Ryan: E aí! 👋 Sou o Ryan, seu assistente virtual. Como posso te ajudar hoje?
👤 Usuário: Preciso de ajuda com um problema
🤖 Ryan: Claro! Estou aqui exatamente para isso. Me conta qual é a situação que eu te dou uma força!

Painel Admin

  • URL: http://localhost:5000/admin
  • Senha: admin123 (padrão)
  • Recursos: Dashboard, sessões, busca, configurações

🚀 Instalação

Pré-requisitos

  • Python 3.8 ou superior
  • pip (gerenciador de pacotes Python)

Instalação Rápida

# 1. Clone ou baixe o projeto
git clone https://github.com/seu-usuario/ryan-ai-agent.git
cd ryan-ai-agent

# 2. Instale as dependências
pip install -r requirements.txt

# 3. Execute o sistema
python run.py

Instalação Detalhada

# 1. Criar ambiente virtual (recomendado)
python -m venv venv

# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate

# 2. Instalar dependências
pip install -r requirements.txt

# 3. Verificar dependências
python run.py --check-deps

# 4. Inicializar banco de dados (opcional)
python run.py --init-db

# 5. Executar em modo debug
python run.py --debug

# 6. Executar em porta personalizada
python run.py --port 8080

📖 Uso

Execução Básica

# Execução padrão (localhost:5000)
python run.py

# Com debug ativado
python run.py --debug

# Host e porta personalizados
python run.py --host 0.0.0.0 --port 8080

Acessos

Serviço URL Credenciais
Chat http://localhost:5000 -
Admin http://localhost:5000/admin Senha: admin123
Health Check http://localhost:5000/health -

Personalização por Nicho

// No frontend, especifique o nicho
fetch('/api/chat', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
        message: 'Preciso de ajuda',
        session_id: 'session_123',
        nicho: 'ecommerce'  // ou 'saude', 'educacao', etc.
    })
});

🏗️ Arquitetura

Estrutura do Projeto

ryan_ai_agent/
├── app/
│   ├── models/              # Modelos de dados
│   ├── interfaces/          # Interfaces (contratos)
│   ├── database/           # Implementações de banco
│   ├── ai/                 # Motor de IA
│   ├── services/           # Lógica de negócio
│   └── web/                # Interface web
├── config/                 # Configurações
├── static/                 # Arquivos estáticos
├── tests/                  # Testes
├── data/                   # Banco de dados
└── logs/                   # Arquivos de log

Princípios SOLID Implementados

  1. Single Responsibility: Cada classe tem uma responsabilidade
  2. Open/Closed: Extensível sem modificar código existente
  3. Liskov Substitution: Interfaces intercambiáveis
  4. Interface Segregation: Interfaces específicas
  5. Dependency Inversion: Injeção de dependências

Fluxo de Dados

Usuario → WebRoutes → ChatService → AIEngine + Database
                  ↓
         AuthService → SessionManager

⚙️ Configuração

Variáveis de Ambiente

Crie um arquivo .env na raiz do projeto:

# Configurações básicas
DEBUG=True
SECRET_KEY=sua-chave-secreta-aqui
HOST=0.0.0.0
PORT=5000

# Autenticação
ADMIN_PASSWORD=sua-senha-admin
SESSION_TIMEOUT=30

# Banco de dados
DATABASE_PATH=data/ryan_agent.db

# Logs
LOG_LEVEL=INFO
LOG_FILE=logs/ryan_agent.log

Personalização do Ryan

# config/constants.py

# Adicione novos conhecimentos
KNOWLEDGE_BASE = {
    'seu_nicho': ['palavra1', 'palavra2', 'palavra3'],
    # ...
}

# Adicione novas respostas
RYAN_RESPONSES = {
    'seu_nicho': [
        'Resposta personalizada 1',
        'Resposta personalizada 2',
    ],
    # ...
}

🔌 API

Endpoints Principais

Chat

POST /api/chat
Content-Type: application/json

{
    "message": "Mensagem do usuário",
    "session_id": "session_123",
    "nicho": "ecommerce"
}

Histórico

GET /api/chat/history/{session_id}?limit=10

Finalizar Sessão

POST /api/chat/end
Content-Type: application/json

{
    "session_id": "session_123",
    "satisfaction": 5
}

Admin API

Estatísticas

GET /admin/api/stats
Authorization: Admin Session

Buscar Conversas

GET /admin/api/search?q=termo&limit=10
Authorization: Admin Session

🎨 Personalização

Adaptação para Diferentes Nichos

E-commerce

# Adicione em config/constants.py
KNOWLEDGE_BASE['ecommerce'] = [
    'produto', 'compra', 'entrega', 'pagamento', 'estoque'
]

RYAN_RESPONSES['ecommerce'] = [
    'Show! Sobre produtos, sou expert! Me fala qual você tá procurando?',
    # ...
]

Saúde

KNOWLEDGE_BASE['saude'] = [
    'consulta', 'exame', 'medicamento', 'sintoma'
]

RYAN_RESPONSES['saude'] = [
    'Para questões de saúde, recomendo sempre falar com um profissional.',
    # ...
]

Interface Visual

Modifique os arquivos em static/css/ para personalizar:

  • Cores e temas
  • Layout e tipografia
  • Animações e transições
  • Responsividade mobile

🚀 Deploy

Desenvolvimento

python run.py --debug

Produção

Com Gunicorn

pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 run:app

Com Docker

FROM python:3.9-slim

WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .
EXPOSE 5000

CMD ["python", "run.py", "--host", "0.0.0.0"]

Variáveis de Produção

DEBUG=False
ADMIN_PASSWORD=senha-super-segura
SECRET_KEY=chave-ultra-secreta
DATABASE_PATH=/data/ryan_agent.db

📊 Monitoramento

Health Check

GET /health

Logs

# Configuração automática em config/settings.py
LOG_LEVEL=INFO
LOG_FILE=logs/ryan_agent.log

Métricas

  • Total de sessões
  • Mensagens por hora
  • Taxa de satisfação
  • Análise de sentimento
  • Performance de resposta

🧪 Testes

# Instalar dependências de teste
pip install pytest pytest-flask pytest-cov

# Executar testes
python -m pytest tests/

# Com cobertura
python -m pytest tests/ --cov=app

🛠️ Desenvolvimento

Estrutura de Classes

# Exemplo de extensão
class NovoAIEngine(AIResponseInterface):
    def generate_response(self, user_message: str, context: List[Message]) -> str:
        # Sua implementação personalizada
        return "Resposta personalizada"

# Injeção de dependência
chat_service = ChatService(database, NovoAIEngine())

Adicionando Funcionalidades

  1. Crie interfaces em app/interfaces/
  2. Implemente em modules específicos
  3. Injete dependências nos serviços
  4. Configure rotas se necessário

🔧 Solução de Problemas

Problemas Comuns

Erro de Porta em Uso

# Tente outra porta
python run.py --port 8080

Banco de Dados Corrompido

# Reinicialize o banco
python run.py --init-db

Dependências Faltando

# Verifique dependências
python run.py --check-deps

Problemas de Permissão

# Linux/Mac - permissões na pasta
chmod -R 755 .

Debug Avançado

# Modo debug completo
python run.py --debug

# Verificar logs
tail -f logs/ryan_agent.log

📚 Documentação Adicional

Recursos Úteis

Arquitetura SOLID

🤝 Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

Diretrizes

  • Siga os princípios SOLID
  • Adicione testes para novas funcionalidades
  • Mantenha a documentação atualizada
  • Use comentários explicativos no código

📜 Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

👥 Autores

  • Sistema Ryan IA - Desenvolvimento inicial - @ryan-ai

🙏 Agradecimentos

  • Flask team pelo framework incrível
  • Comunidade Python pela inspiração
  • Todos que contribuíram com feedback

Feito com ❤️ e muito ☕ pelo time Ryan IA

↑ Voltar ao topo

About

Agente de IA em Python para atendimento automatizado 24/7, com integração a LLMs, análise de sentimento e painel administrativo seguindo princípios de arquitetura SOLID.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors