No description
| config | ||
| interface | ||
| models | ||
| plugins | ||
| .gitignore | ||
| INSTALACAO.md | ||
| instalar.py | ||
| instalar_linux.sh | ||
| instalar_windows.bat | ||
| LICENSE | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
| setup.py | ||
Agente AI Modular Desktop
Sistema desktop modular de IA em Python com PyQt5, suporte a entrada de texto e imagem, roteamento multi-modelo e processamento contextualizado.
Funcionalidades Principais
🤖 Multi-Modelo IA
- Suporte ao OpenAI GPT (GPT-4, GPT-3.5)
- Suporte ao LM Studio (modelos locais)
- Roteamento inteligente entre modelos
🖼️ Processamento Multimodal
- Análise de imagem com contexto persistente
- Integração inteligente entre análise de imagem e perguntas de texto
- Preview de imagem na interface
- Suporte a múltiplos formatos (PNG, JPG, JPEG, BMP, GIF, TIFF)
💬 Interface de Chat Avançada
- Histórico persistente entre sessões
- Streaming de texto em tempo real (configurável)
- Respostas contextualizadas baseadas em imagens anteriores
- Interface limpa e responsiva
🔧 Sistema de Plugins
- Arquitetura modular extensível
- Plugin de OCR (reconhecimento de texto em imagens)
- Plugin de análise de sentimento
- Fácil adição de novos plugins
⚙️ Configuração Flexível
- Interface de configuração intuitiva
- Prompts personalizáveis
- Timeout configurável para processamento de imagem
- Seleção de modelos específicos para texto e imagem
Instalação
🚀 Instalação Automática (Recomendada)
Instalador Universal
python instalar.py
Por Sistema Operacional
Windows:
instalar_windows.bat
Linux:
./instalar_linux.sh
Todos os sistemas:
python setup.py
📋 Guia completo: INSTALACAO.md
📦 Instalação Manual
Pré-requisitos
- Python 3.8+
- PyQt5
- Requests
Passos Manuais
# Clone o repositório
git clone https://git.rx1gpd.easypanel.host/patrick-rauch-consultoria/Agente_AI_Modular_Desktop.git LLM Sentimental
cd "LLM Sentimental"
# Criar ambiente virtual
python -m venv venv
source venv/bin/activate # Linux/macOS
# OU
venv\Scripts\activate # Windows
# Instalar dependências
pip install -r requirements.txt
# Executar aplicativo
python main.py
Dependências Opcionais
Para OCR completo:
# Ubuntu/Debian
sudo apt-get install tesseract-ocr tesseract-ocr-por
# Python packages
pip install pytesseract opencv-python
Configuração
1. OpenAI (Opcional)
- Obtenha uma API key em https://platform.openai.com/
- Configure na interface: Menu → Configurações → OpenAI API Key
2. LM Studio (Recomendado)
- Baixe e instale o LM Studio
- Carregue um modelo com suporte a visão (ex: LLaVA)
- Inicie o servidor local (padrão: http://localhost:1234)
3. Primeira Execução
- Execute
python main.py - Acesse Menu → Configurações
- Configure seu modelo preferido
- Teste com uma imagem e pergunta
Uso
Análise de Imagem + Texto
- Envie uma imagem: Clique em "Selecionar Imagem" e escolha um arquivo
- Aguarde processamento: Sistema responde "Imagem processada e analisada"
- Faça perguntas: Digite perguntas sobre a imagem no chat
- Respostas contextualizadas: Sistema responde baseado na imagem sem repetir a análise
Configurações Avançadas
- Prompts personalizados: Customize como o sistema responde
- Streaming: Ative para ver respostas em tempo real
- Timeout de imagem: Ajuste para imagens grandes ou modelos lentos
- Histórico: Mantenha contexto entre sessões
Arquitetura
LLM Sentimental/
├── main.py # Ponto de entrada
├── interface/ # Interface PyQt5
│ ├── main_window.py # Janela principal
│ └── config_dialog.py # Configurações
├── models/ # Gerenciamento de IA
│ └── ai_manager.py # Roteamento e comunicação
├── plugins/ # Sistema de plugins
│ ├── plugin_manager.py # Gerenciador
│ ├── plugin_ocr.py # OCR/Tesseract
│ └── plugin_sentimento.py # Análise de sentimento
├── config/ # Configurações
│ └── config.json # Configurações do usuário
└── logs/ # Logs e histórico
└── historico_chat.json # Histórico persistente
Plugins
Plugin OCR
- Extrai texto de imagens usando Tesseract
- Pré-processamento automático para melhor precisão
- Suporte a português e inglês
Plugin Sentimento
- Análise básica de sentimento em texto
- Classificação: Positivo, Negativo, Neutro
- Pontuação de confiança
Desenvolvendo Plugins
Crie um arquivo plugin_nome.py em plugins/:
def execute(dados):
"""Função principal do plugin"""
return {"resultado": "processamento"}
def validate(dados):
"""Validação de entrada"""
return True
def get_description():
"""Descrição do plugin"""
return "Meu plugin personalizado"
Troubleshooting
Problemas Comuns
LM Studio não conecta:
- Verifique se o LM Studio está rodando
- Confirme a URL (padrão: http://localhost:1234)
- Carregue um modelo no LM Studio
Imagens não processam:
- Verifique se o modelo carregado suporta visão
- Para LM Studio: use modelos como LLaVA
- Aumente o timeout nas configurações
OCR não funciona:
- Instale Tesseract:
sudo apt-get install tesseract-ocr - Instale dependências Python:
pip install pytesseract opencv-python
Logs
Verifique logs em logs/app.log para debugging detalhado.
Contribuição
- Fork o projeto
- Crie uma branch para sua feature
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
Licença
Este projeto está sob a licença MIT. Veja LICENSE para detalhes.
Suporte
Para issues e dúvidas, abra uma issue no repositório do projeto.