{"id":29507280,"url":"https://github.com/nicolasraf/sabidinho_chatbot","last_synced_at":"2025-07-16T03:49:32.990Z","repository":{"id":304403928,"uuid":"1018697140","full_name":"NicolasRaf/Sabidinho_ChatBot","owner":"NicolasRaf","description":"This is the final project for the Artificial Intelligence course, a complete and functional multimodal chatbot called “Sabidinho.” The application was built with Python and Flask on the backend and uses the Google Gemini API for natural language processing and image analysis.","archived":false,"fork":false,"pushed_at":"2025-07-12T21:48:16.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-12T22:24:53.864Z","etag":null,"topics":["chatbot","gemini-api","ia","website"],"latest_commit_sha":null,"homepage":"https://sabidinho-chatbot.onrender.com","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NicolasRaf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-07-12T20:41:19.000Z","updated_at":"2025-07-12T21:48:20.000Z","dependencies_parsed_at":"2025-07-12T22:37:48.100Z","dependency_job_id":null,"html_url":"https://github.com/NicolasRaf/Sabidinho_ChatBot","commit_stats":null,"previous_names":["nicolasraf/sabidinho_chatbot"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/NicolasRaf/Sabidinho_ChatBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasRaf%2FSabidinho_ChatBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasRaf%2FSabidinho_ChatBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasRaf%2FSabidinho_ChatBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasRaf%2FSabidinho_ChatBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NicolasRaf","download_url":"https://codeload.github.com/NicolasRaf/Sabidinho_ChatBot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasRaf%2FSabidinho_ChatBot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265480007,"owners_count":23773641,"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","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","gemini-api","ia","website"],"created_at":"2025-07-16T03:49:32.340Z","updated_at":"2025-07-16T03:49:32.976Z","avatar_url":"https://github.com/NicolasRaf.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sabidinho ChatBot 🤖\r\n\r\nEste é o projeto final da disciplina de Inteligência Artificial, um chatbot multimodal completo e funcional chamado \"Sabidinho\". A aplicação foi construída com Python e Flask no backend, e utiliza a API do Google Gemini para processamento de linguagem natural e análise de imagens.\r\n\r\n**Acesse o Sabidinho!** [**Clique Aqui!**](https://sabidinho-chatbot.onrender.com)\r\n\r\n- _O site pode demorar um pouco para iniciar caso seja a primeira requisação após um período de tempo! Tenha paciência😊_\r\n\r\n- _Caso queira rodar localmente acesse a secção_ [_Executar Localmente_](#-como-rodar-o-projeto-localmente)\r\n\r\n## ✨ Funcionalidades\r\n\r\n- **Conversa Inteligente**: Mantém um diálogo coerente e contextual utilizando a API do Google Gemini.\r\n- **Análise Multimodal**: Capaz de receber, processar e descrever imagens enviadas pelo usuário.\r\n- **Respostas Predefinidas**: Responde instantaneamente a perguntas específicas (como \"oi\", \"ajuda\", etc.) sem precisar chamar a API.\r\n- **Interface Moderna**: Layout responsivo que ocupa toda a tela, com um tema de cores customizado (Roxo, Verde e Preto).\r\n- **Experiência de Usuário Refinada**:\r\n  - Histórico da conversa com rolagem automática para a última mensagem.\r\n  - Feedback visual de carregamento de imagem.\r\n  - Formulário de envio é bloqueado durante o processamento para evitar envios duplicados.\r\n  - Barra de rolagem invisível para um visual mais limpo.\r\n- **Gerenciamento de Sessão**: Cada usuário tem sua própria conversa privada e persistente, mesmo que acessem o site simultaneamente.\r\n- **Segurança**: As chaves de API e outros segredos são gerenciados de forma segura através de variáveis de ambiente, não expostas no código.\r\n\r\n## 🛠️ Tecnologias Utilizadas\r\n\r\n- **Backend**: Python 3, Flask\r\n- **Inteligência Artificial**: Google Gemini API (`google-generativeai`)\r\n- **Frontend**: HTML5, CSS3, JavaScript\r\n- **Servidor de Produção WSGI**: Gunicorn\r\n- **Bibliotecas Python Notáveis**: `python-dotenv`, `markdown`\r\n\r\n---\r\n\r\n## 🚀 Como Rodar o Projeto Localmente\r\n\r\nSiga os passos abaixo para clonar e executar a aplicação no seu ambiente de desenvolvimento.\r\n\r\n### 1. Pré-requisitos\r\n\r\n- [Python 3.10+](https://www.python.org/downloads/)\r\n- [Git](https://git-scm.com/downloads)\r\n\r\n### 2. Clonar o Repositório\r\n\r\nAbra seu terminal e clone o projeto:\r\n\r\n```bash\r\ngit clone https://github.com/NicolasRaf/Sabidinho_ChatBot.git\r\ncd Sabidinho-ChatBot\r\n```\r\n\r\n### 3. Configurar o Ambiente Virtual\r\n\r\nÉ uma boa prática usar um ambiente virtual para isolar as dependências do projeto.\r\n\r\n```bash\r\n# Criar o ambiente virtual\r\npython -m venv venv\r\n\r\n# Ativar o ambiente virtual\r\n# No Windows:\r\n.\\venv\\Scripts\\activate\r\n# No macOS/Linux:\r\nsource venv/bin/activate\r\n```\r\n\r\n### 4. Instalar as Dependências\r\n\r\nCom o ambiente virtual ativo, instale todas as bibliotecas necessárias com um único comando:\r\n\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n### 5. Configurar as Variáveis de Ambiente\r\n\r\nAs chaves secretas são carregadas a partir de um arquivo `.env`.\r\n\r\na. Crie um arquivo chamado `.env` na raiz do projeto.\r\n\r\nb. Copie e cole o conteúdo abaixo dentro do arquivo `.env`, substituindo os valores pelas suas chaves reais:\r\n\r\n```bash\r\n# Arquivo .env\r\nGOOGLE_API_KEY=\"SUA_CHAVE_API_VALIDA_DO_GOOGLE_VAI_AQUI\" # Chave gerada para API do Gemini\r\nFLASK_SECRET_KEY=\"SUA_CHAVE_SECRETA_LONGA_E_ALEATORIA_PARA_O_FLASK\" # Está chave é de sua escolha\r\n```\r\n\r\n### 6. Executar a Aplicação\r\n\r\nFinalmente, para iniciar o servidor Flask local:\r\n\r\n```bash\r\npython app.py\r\n```\r\n\r\nA aplicação estará rodando em `http://127.0.0.1:5000`. Abra este endereço no seu navegador para interagir com o Sabidinho ChatBot!\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolasraf%2Fsabidinho_chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicolasraf%2Fsabidinho_chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolasraf%2Fsabidinho_chatbot/lists"}