{"id":31767926,"url":"https://github.com/antoniolmcandido/chatbot-gpt-django","last_synced_at":"2026-05-19T05:33:26.701Z","repository":{"id":313697169,"uuid":"1050755712","full_name":"antoniolmcandido/chatbot-gpt-django","owner":"antoniolmcandido","description":"Chatbot Django + GPT especializado em fonte de dados","archived":false,"fork":false,"pushed_at":"2025-09-04T23:33:47.000Z","size":2926,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T07:40:48.676Z","etag":null,"topics":["chatbot","django","gpt","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antoniolmcandido.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-04T22:20:27.000Z","updated_at":"2025-09-04T23:33:50.000Z","dependencies_parsed_at":"2025-09-07T22:43:34.658Z","dependency_job_id":"e0184d28-18ee-4213-9baf-732da5fc601c","html_url":"https://github.com/antoniolmcandido/chatbot-gpt-django","commit_stats":null,"previous_names":["antoniolmcandido/chatbot-gpt-django"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/antoniolmcandido/chatbot-gpt-django","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniolmcandido%2Fchatbot-gpt-django","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniolmcandido%2Fchatbot-gpt-django/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniolmcandido%2Fchatbot-gpt-django/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniolmcandido%2Fchatbot-gpt-django/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antoniolmcandido","download_url":"https://codeload.github.com/antoniolmcandido/chatbot-gpt-django/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniolmcandido%2Fchatbot-gpt-django/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002400,"owners_count":26083375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","django","gpt","python"],"created_at":"2025-10-10T01:48:57.045Z","updated_at":"2025-10-10T01:49:07.851Z","avatar_url":"https://github.com/antoniolmcandido.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 Chatbot GPT Django\n\nUm chatbot inteligente construído com Django e OpenAI GPT que responde perguntas baseadas em documentos PDF específicos da sua empresa.\n\n## 🎯 Sobre o Projeto\n\nEste projeto implementa um sistema de chat conversacional que utiliza Retrieval-Augmented Generation (RAG) para responder perguntas com base no conteúdo de documentos PDF. O chatbot é especializado em informações da **Empresa Serval** e pode responder perguntas sobre produtos, serviços e políticas da empresa.\n\n### ✨ Funcionalidades\n\n-   💬 **Interface de Chat Moderna**: Interface web responsiva com Bootstrap\n-   📄 **Processamento de PDF**: Extração e indexação automática de conteúdo\n-   🧠 **IA Conversacional**: Respostas contextuais usando GPT-3.5-turbo\n-   🔍 **Busca Vetorial**: Sistema de busca semântica com FAISS\n-   📚 **Memória de Conversa**: Mantém contexto das conversas anteriores\n-   ⚡ **Tempo Real**: Indicador de digitação e respostas instantâneas\n\n## 🛠️ Tecnologias Utilizadas\n\n### Backend\n\n-   **Django 4.x** - Framework web Python\n-   **Python 3.12** - Linguagem de programação\n-   **OpenAI GPT-3.5-turbo** - Modelo de linguagem\n-   **LangChain** - Framework para aplicações com LLM\n-   **FAISS** - Biblioteca de busca vetorial (Facebook AI Similarity Search)\n\n### Frontend\n\n-   **Bootstrap 5.3** - Framework CSS\n-   **JavaScript ES6** - Interatividade do chat\n-   **HTML5/CSS3** - Interface do usuário\n\n### Processamento de Dados\n\n-   **PyPDF** - Extração de texto de PDFs\n-   **OpenAI Embeddings** - Vetorização de texto\n-   **RecursiveCharacterTextSplitter** - Divisão inteligente de texto\n\n## 📋 Pré-requisitos\n\n-   Python 3.8+\n-   Chave da API OpenAI\n-   Arquivo PDF com dados da empresa\n\n## 🚀 Como Executar\n\n### 1️⃣ Clone o Repositório\n\n```bash\ngit clone https://github.com/antoniolmcandido/chatbot-gpt-django.git\ncd chatbot-gpt-django\n```\n\n### 2️⃣ Instale as Dependências\n\n```bash\npip install -r requirements.txt\n```\n\n### 3️⃣ Configure as Variáveis de Ambiente\n\nCrie um arquivo `.env` na raiz do projeto:\n\n```env\nOPENAI_API_KEY=sua_chave_openai_aqui\nDEBUG=True\nSECRET_KEY=sua_secret_key_django\n```\n\n### 4️⃣ Execute as Migrações\n\n```bash\npython manage.py migrate\n```\n\n### 5️⃣ Processe o PDF (Primeira Execução)\n\nColoque seu arquivo PDF em `data/documento_empresa.pdf` e execute:\n\n```bash\npython manage.py process_pdf\n```\n\n### 6️⃣ Inicie o Servidor\n\n```bash\npython manage.py runserver\n```\n\n### 7️⃣ Acesse o Chatbot\n\nAbra seu navegador e vá para: `http://localhost:8000/`\n\n## 📁 Estrutura do Projeto\n\n```text\nchatbot-gpt-django/\n├── 📂 chatbot/                 # App principal do Django\n│   ├── 📂 management/\n│   │   └── 📂 commands/\n│   │       └── process_pdf.py  # Comando para processar PDFs\n│   ├── 📂 templates/\n│   │   └── 📂 chatbot/\n│   │       └── chat.html       # Interface do chat\n│   ├── models.py               # Modelos do Django\n│   ├── views.py                # Views e API do chat\n│   └── urls.py                 # URLs do app\n├── 📂 config/                  # Configurações do Django\n├── 📂 data/                    # Arquivos PDF para processamento\n├── 📂 faiss_index/             # Índice vetorial gerado\n├── 📄 manage.py                # Script de gerenciamento Django\n└── 📄 requirements.txt         # Dependências Python\n```\n\n## 🔧 Comandos Úteis\n\n### Reprocessar PDF\n\n```bash\npython manage.py process_pdf\n```\n\n### Criar Superusuário\n\n```bash\npython manage.py createsuperuser\n```\n\n### Executar Testes\n\n```bash\npython manage.py test\n```\n\n## 📖 Como Funciona\n\n1. **📄 Carregamento**: O sistema carrega e processa o PDF da empresa\n2. **✂️ Fragmentação**: O texto é dividido em chunks menores e gerenciáveis\n3. **🔢 Vetorização**: Cada chunk é convertido em embeddings usando OpenAI\n4. **💾 Indexação**: Os embeddings são armazenados no FAISS para busca rápida\n5. **❓ Consulta**: Quando o usuário faz uma pergunta:\n    - A pergunta é convertida em embedding\n    - O sistema busca os chunks mais relevantes\n    - O GPT gera uma resposta baseada no contexto encontrado\n\n## 🌟 Exemplo de Uso\n\n**Usuário**: \"Quais são os produtos da empresa?\"\n\n**Bot**: _Busca no documento da Serval e responde baseado no conteúdo encontrado_\n\n## 🔒 Segurança\n\n-   ✅ Proteção CSRF ativada\n-   ✅ Validação de entrada de dados\n-   ✅ Tratamento de erros robusto\n-   ✅ Chaves de API em variáveis de ambiente\n\n## 🤝 Contribuindo\n\n1. Fork o projeto\n2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)\n3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)\n4. Push para a branch (`git push origin feature/AmazingFeature`)\n5. Abra um Pull Request\n\n## 📝 Licença\n\nEste projeto está sob a licença MIT. Veja o arquivo `LICENSE` para mais detalhes.\n\n## 📞 Suporte\n\nPara dúvidas ou suporte, entre em contato:\n\n-   💼 LinkedIn: [antoniolmcandido](https://linkedin.com/in/antoniolmcandido)\n\n---\n\n⭐ **Se este projeto foi útil, considere dar uma estrela no repositório!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniolmcandido%2Fchatbot-gpt-django","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantoniolmcandido%2Fchatbot-gpt-django","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniolmcandido%2Fchatbot-gpt-django/lists"}