Voltar aos Projetos

    👨🏽‍🏫 Professor Wiki, Assistente Virtual Inteligente com IA Avançada

    Professor Wiki é uma plataforma de inteligência artificial projetada para ser como uma Wikipedia personalizada para sua empresa. Ela transforma qualquer documento, site ou vídeo em uma fonte de conhecimento conversacional, permitindo que seus colaboradores acessem informações de forma prática e inteligente. Conecte seus arquivos e conteúdos a modelos de IA avançados e obtenha respostas precisas, totalmente baseadas no seu material.

    Inteligência Artificial
    8 min de leitura
    19 visualizações
    👨🏽‍🏫 Professor Wiki, Assistente Virtual Inteligente com IA Avançada

    🛠️ Tecnologias Utilizadas

    Groq
    OpenAI
    RAG

    ✨ Funcionalidades

    🤖 Chat Inteligente

    • Suporte a OpenAI GPT (GPT-3.5, GPT-4, GPT-4 Turbo)
    • Suporte a Groq (Mixtral, LLaMA, Gemma)
    • Conversas contextualizadas com memória
    • Respostas baseadas em documentos carregados

    📄 Processamento de Documentos

    • PDF - Extração de texto com PyPDF2/pdfplumber
    • TXT - Arquivos de texto simples
    • CSV - Planilhas e dados tabulares
    • URLs - Extração de conteúdo de websites
    • YouTube - Transcrições de vídeos

    🔍 Sistema RAG Avançado

    • Busca contextual em documentos
    • Embeddings com OpenAI
    • Armazenamento vetorial (ChromaDB/FAISS)
    • Chunking inteligente de documentos
    • Similarity search otimizada

    ⚙️ Interface Intuitiva

    • Interface web responsiva com Streamlit
    • Configuração visual de API keys
    • Status em tempo real dos sistemas
    • Navegação por abas (Chat, Documentos, Configurações, Ajuda)
    • Gerenciamento de documentos processados

    🔒 Segurança e Privacidade

    • API keys criptografadas localmente
    • Processamento local de documentos
    • Sem envio de dados para terceiros
    • Configurações persistentes seguras

    🚀 Início Rápido

    Instalação Básica

    # Clone ou baixe o projeto
    git clone <repository-url>
    cd mr-magus
    
    # Instale dependências básicas
    pip install streamlit
    
    # Execute a aplicação
    streamlit run app.py
    

    Instalação Completa

    # Instale todas as dependências
    pip install streamlit langchain-openai langchain-groq chromadb faiss-cpu PyPDF2 requests beautifulsoup4 youtube-transcript-api
    
    # Execute a aplicação
    streamlit run app.py
    

    Configuração Inicial

    1. Abra a aplicação em http://localhost:8501
    2. Vá para Configurações (⚙️)
    3. Configure suas API Keys:
    4. Salve as configurações
    5. Comece a usar!

    📋 Requisitos

    Requisitos Mínimos

    • Python 3.8+
    • Streamlit
    • 2GB RAM
    • 1GB espaço em disco

    Requisitos Recomendados

    • Python 3.10+
    • 4GB RAM
    • 5GB espaço em disco
    • Conexão com internet

    Dependências Opcionais

    FuncionalidadeDependênciasComando de Instalação
    Chat Básicolangchain-openai langchain-groqpip install langchain-openai langchain-groq
    Sistema RAGchromadb faiss-cpupip install chromadb faiss-cpu
    PDFPyPDF2 ou pdfplumberpip install PyPDF2 pdfplumber
    URLsrequests beautifulsoup4pip install requests beautifulsoup4
    YouTubeyoutube-transcript-apipip install youtube-transcript-api

    🎯 Como Usar

    1. Chat Inteligente

    1. Configure suas API keys em Configurações
    2. Vá para a aba Chat (💬)
    3. Digite sua pergunta
    4. Receba respostas inteligentes!

    Exemplo:

    Usuário: "Explique o que é inteligência artificial"
    Professor Wiki: "A inteligência artificial (IA) é um campo da ciência da computação..."
    

    2. Análise de Documentos

    1. Vá para a aba Documentos (📄)
    2. Escolha o tipo: Arquivo, URL ou YouTube
    3. Faça upload ou cole o link
    4. Clique em Processar
    5. Volte ao Chat e pergunte sobre o documento

    Exemplo:

    Usuário: "Resuma o documento que acabei de carregar"
    Professor Wiki: "Baseado no documento carregado, os principais pontos são..."
    

    3. Configurações Avançadas

    • Provedor de IA: Escolha entre OpenAI ou Groq
    • Modelo: Selecione o modelo específico
    • Temperatura: Controle a criatividade (0.0 = preciso, 1.0 = criativo)
    • Status dos Sistemas: Veja o que está funcionando

    📊 Funcionalidades por Nível

    Nível 1: Básico (só Streamlit)

    pip install streamlit
    
    • ✅ Interface completa
    • ✅ Upload de documentos
    • ✅ Configurações
    • ❌ Chat com IA

    Nível 2: Chat (+ LangChain)

    pip install langchain-openai langchain-groq
    
    • ✅ Chat com OpenAI/Groq
    • ✅ Conversas inteligentes
    • ❌ Busca em documentos

    Nível 3: RAG (+ ChromaDB)

    pip install chromadb faiss-cpu
    
    • ✅ Busca contextual
    • ✅ Respostas baseadas em documentos
    • ✅ Sistema RAG completo

    Nível 4: Completo (+ Processadores)

    pip install PyPDF2 requests beautifulsoup4 youtube-transcript-api
    
    • ✅ Processamento de PDF
    • ✅ Extração de URLs
    • ✅ Transcrições do YouTube
    • ✅ Todas as funcionalidades

    🔧 Configuração Avançada

    Variáveis de Ambiente

    # Opcional: Configure USER_AGENT personalizado
    export USER_AGENT="MeuApp/1.0"
    
    # Opcional: Configure diretório de dados
    export MAGUS_DATA_DIR="/caminho/para/dados"
    

    Estrutura de Diretórios

    mr-magus/
    ├── app.py                 # Aplicação principal
    ├── config_manager.py      # Gerenciador de configurações
    ├── crypto_utils.py        # Utilitários de criptografia
    ├── data/                  # Dados persistentes
    │   ├── vectorstore/       # Base vetorial
    │   ├── config/           # Configurações
    │   └── logs/             # Logs da aplicação
    ├── rag/                  # Sistema RAG
    │   └── rag_system.py     # Core do RAG
    └── README.md             # Este arquivo
    

    Configuração do Sistema RAG

    O sistema RAG pode ser configurado editando os parâmetros no código:

    rag_config = RAGConfig(
        embedding_model="text-embedding-3-small",  # Modelo de embedding
        chunk_size=1000,                          # Tamanho dos chunks
        chunk_overlap=200,                        # Sobreposição entre chunks
        max_chunks_per_query=5,                   # Máximo de chunks por consulta
        similarity_threshold=0.7,                 # Limiar de similaridade
        vectorstore_type="chromadb",              # Tipo de vectorstore
        persist_directory="./data/vectorstore"    # Diretório de persistência
    )
    

    🆘 Solução de Problemas

    Problemas Comuns

    "USER_AGENT environment variable not set"

    Resolvido automaticamente - Esta versão configura o USER_AGENT automaticamente.

    "HTTP/1.1 400 Bad Request" no Groq

    Corrigido - Parâmetros da API Groq foram corrigidos nesta versão.

    Soluções adicionais:

    • Verifique se sua API key do Groq está correta
    • Teste com um modelo diferente (ex: mixtral-8x7b-32768)

    "Nenhum modelo disponível"

    Causa: API keys não configuradas Solução:

    1. Vá em Configurações
    2. Insira suas API keys
    3. Salve as configurações

    "Sistema RAG não disponível"

    Causa: ChromaDB não instalado Solução:

    pip install chromadb faiss-cpu
    

    "Erro ao processar PDF"

    Causa: PyPDF2 não instalado Solução:

    pip install PyPDF2 pdfplumber
    

    "Erro ao processar URL"

    Causa: requests/beautifulsoup4 não instalados Solução:

    pip install requests beautifulsoup4
    

    Logs e Debug

    Os logs da aplicação são exibidos no terminal onde você executou streamlit run app.py.

    Níveis de log:

    • INFO: Informações gerais
    • WARNING: Avisos (dependências faltantes)
    • ERROR: Erros que precisam atenção

    Exemplo de logs normais:

    INFO:__main__:✅ USER_AGENT configurado automaticamente
    INFO:__main__:✅ OpenAI disponível
    INFO:__main__:✅ Sistema RAG inicializado
    

    Status Visual

    A aplicação mostra o status de cada sistema:

    • Header: Status rápido (✅/❌)
    • Sidebar: Status detalhado
    • Configurações: Dependências instaladas/faltantes

    🔐 Segurança

    Proteção de API Keys

    • API keys são armazenadas apenas no session state do Streamlit
    • Não são salvas em arquivos permanentes
    • Não são enviadas para servidores externos
    • Mascaradas na interface (tipo password)

    Privacidade dos Dados

    • Documentos processados localmente
    • Embeddings criados localmente
    • Apenas queries são enviadas para APIs de IA
    • Nenhum documento completo é enviado para APIs

    Boas Práticas

    • Use API keys com permissões mínimas necessárias
    • Monitore uso das APIs
    • Não compartilhe suas API keys
    • Mantenha a aplicação atualizada

    🤝 Contribuição

    Como Contribuir

    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

    Reportar Bugs

    • Use as Issues do GitHub
    • Inclua logs de erro
    • Descreva passos para reproduzir
    • Mencione sua versão do Python e SO

    Sugerir Funcionalidades

    • Abra uma Issue com label "enhancement"
    • Descreva o caso de uso
    • Explique o benefício esperado

    📄 Licença

    Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

    🙏 Agradecimentos

    • OpenAI - Pelos modelos GPT e embeddings
    • Groq - Pela infraestrutura de IA rápida
    • LangChain - Pelo framework de IA
    • Streamlit - Pela interface web intuitiva
    • ChromaDB - Pelo banco de dados vetorial
    • Comunidade Open Source - Por todas as bibliotecas utilizadas

    📞 Suporte

    Documentação

    • README: Este arquivo
    • Ajuda na aplicação: Aba ❓ Ajuda
    • Status dos sistemas: Página de Configurações

    Comunidade

    • Issues: Para bugs e sugestões
    • Discussions: Para perguntas gerais
    • Wiki: Para documentação adicional

    Contato


    🎯 Roadmap

    Versão Atual (1.0)

    • ✅ Chat inteligente com OpenAI/Groq
    • ✅ Sistema RAG completo
    • ✅ Processamento de múltiplos formatos
    • ✅ Interface web responsiva
    • ✅ Configuração visual de API keys

    Próximas Versões

    v1.1 - Melhorias de UX

    • 🔄 Histórico persistente de conversas
    • 🎨 Temas personalizáveis
    • 📱 Otimização mobile
    • 🔍 Busca no histórico

    v1.2 - Funcionalidades Avançadas

    • 👥 Suporte multi-usuário
    • 🗄️ Banco de dados persistente
    • 📊 Analytics de uso
    • 🌍 Suporte a múltiplos idiomas

    v2.0 - Recursos Empresariais

    • 🔐 Autenticação e autorização
    • 🏢 Deploy em nuvem
    • 📈 Dashboard administrativo
    • 🔌 API REST completa

    🎉 Obrigado por usar o Professor Wiki! Esperamos que ele torne seu trabalho com IA mais produtivo e eficiente.