🎉 Bem-vindo ao WhatsAgenda Chatbot for Calendar Configuration! Este chatbot foi projetado para auxiliar os clientes do WhatsAgenda na configuração de suas agendas. A ferramenta agiliza o agendamento, gerenciamento de compromissos e personalização de horários de atendimento, garantindo uma experiência eficiente e fácil de usar. Combinando as mais recentes tecnologias de geração de linguagem aumentada por recuperação (RAG), oferecemos uma solução robusta e inovadora para suas necessidades de agendamento.nta para oferecer uma interação intuitiva e um suporte detalhado sobre como gerenciar e personalizar compromissos, horários de atendimento e muito mais.
- Descrição do Projeto
- Objetivos do Projeto
- Funcionalidades Principais
- Tecnologias Utilizadas
- Estrutura do Projeto
- Executando o Projeto
- Próximos Passos (Features Futuras)
- Licença
- Como Contribuir
- Autor e Contato
O principal objetivo deste chatbot é simplificar e otimizar o processo de configuração de agenda para os usuários da WhatsAgenda, garantindo uma experiência personalizada e eficiente. Ele visa:
- Auxiliar os clientes do WhatsAgenda na configuração de suas agendas.
- Simplificar o processo de agendamento e gerenciamento de compromissos.
- Oferecer uma interface fácil de usar para personalização de horários de atendimento.
- Configuração da Agenda: O chatbot guia o usuário através das etapas de configuração da agenda.
- Consulta Dinâmica de Dados: Utiliza RAG para fornecer respostas precisas e contextuais baseadas nos dados da empresa.
- Interface Amigável: Desenvolvido com Streamlit para uma experiência de usuário suave e acessível.
- Python: Linguagem principal de programação.
- LangChain: Para a lógica de conversação e processamento de linguagem natural.
- Hugging Face Embeddings e FAISS: Para o armazenamento e recuperação eficiente de informações.
- Streamlit: Para criação da interface do usuário.
- API da Groq e Llama3-70b-8192: Para o processamento de alto desempenho e modelagem de linguagem de grande escala.
- LangSmith (Opcional): Para rastrear e avaliar a qualidade da conversa.
O projeto está organizado da seguinte maneira:
.streamlit/
: Contém arquivos de configuração do Streamlit.config/
: Contém arquivos de configuração, como variáveis de ambiente.data/
: Dados e arquivos de armazenamento.docs/
: Documentação relevante e guias de usuário.notebooks/
: Com arquivos Jupyter Notebook para análises e experimentos.prints/
: Capturas de tela da aplicação.scripts/
: Scripts auxiliares para tarefas específicas.src/
: Código-fonte da aplicação.venv/
: Ambiente virtual Python..gitignore
: Arquivo de configuração do Git.LICENSE
: Licença do projeto.README_ptbr.md
: README em português.README.md
: README em inglês.requirements.txt
: Lista de dependências do projeto.setup.bat
: Script para instalar dependências e executar o chatbot no Windows.setup.sh
: Script para instalar dependências e executar o chatbot no Linux.
whatsagenda-chatbot-for-calendar-configuration/
├── .streamlit/
├── config/
│ ├── .env
│ └── .env.example
├── data/
│ ├── vectorstore/
│ └── whatsagenda-data.pdf
├── docs/
│ ├── commits_pattern_ptbr.md
│ └── commits_pattern.md
├── notebooks/
│ └── dependecies_list.ipynb
├── prints/
│ ├── chatbot_1.png
│ └── chatbot_2.png
├── scripts/
│ └── vectorstore_create.py
├── src/
│ ├── assets/
│ │ ├── favicon.ico
│ │ └── vertical_logo.png
│ ├── static/
│ │ ├── ai_profile_photo.png
│ │ └── human_profile_photo.png
│ ├── app.py
│ ├── functions.py
│ ├── html_templates.py
│ └── models.py
├── venv/
├── .gitignore
├── LICENSE
├── README_ptbr.md
├── README.md
├── requirements.txt
├── setup.bat
└── setup.sh
Para executar o chatbot localmente, siga os passos abaixo:
- Clone o repositório:
git clone https://github.com/brunotanabe/whatsagenda-chatbot-for-calendar-configuration.git
- Acesse o diretório do projeto:
cd whatsagenda-chatbot-for-calendar-configuration
- Instale o
pip
evenv
, caso ainda não estejam instalados:sudo apt-get update && sudo apt-get install python3-pip python3-venv
- Crie um ambiente virtual:
python3 -m venv venv
- Ative o ambiente virtual:
source venv/bin/activate
- Instale as dependências:
pip install -r requirements.txt
- Execute o Streamlit:
python3 -m streamlit run src/app.py
NOTA: Execute os comandos acima na pasta principal do projeto.
Execute o script setup.sh
para instalar as dependências e executar o chatbot:
- Clone o repositório:
git clone https://github.com/brunotanabe/whatsagenda-chatbot-for-calendar-configuration.git
- Acesse o diretório do projeto:
cd whatsagenda-chatbot-for-calendar-configuration
- Dê permissão de execução ao script:
chmod +x setup.sh
- Execute o script:
./setup.sh
NOTA: Execute os comandos acima na pasta principal do projeto.
Para executar o chatbot localmente, siga os passos abaixo:
- Clone o repositório:
git clone https://github.com/brunotanabe/whatsagenda-chatbot-for-calendar-configuration.git
- Acesse o diretório do projeto:
cd whatsagenda-chatbot-for-calendar-configuration
- Instale o
pip
evenv
, caso ainda não estejam instalados:python -m ensurepip --upgrade
- Crie um ambiente virtual:
python -m venv venv
- Ative o ambiente virtual:
venv\Scripts\activate
- Instale as dependências:
pip install -r requirements.txt
- Execute o Streamlit:
python -m streamlit run src/app.py
NOTA: Execute os comandos acima na pasta principal do projeto.
Execute o script setup.bat
para instalar as dependências e executar o chatbot:
- Clone o repositório:
git clone https://github.com/brunotanabe/whatsagenda-chatbot-for-calendar-configuration.git
- Acesse o diretório do projeto:
cd whatsagenda-chatbot-for-calendar-configuration
- Execute o script:
setup.bat
NOTA: Execute os comandos acima na pasta principal do projeto.
- Atualmente, a variável que recebe a resposta do llm recebe recebe chunk a chunk da mensagem, no entanto, ela só é exibe a resposta quando está completa, para melhorar a experiência do usuário, seria interessante exibir a resposta chunk a chunk.
- Atualmente, o usuário pode mandar uma nova mensagem enquanto o modelo ainda está respondendo a solicitação anterior, isso normalmente quebra a aplicação, seria interessante implementar um mecanismo que impeça o usuário de mandar uma nova mensagem enquanto o modelo ainda está respondendo a solicitação anterior.
- Se você desejar usar sua própria base de dados basta cria-la utilizando o arquivo substituir o arquivo
scripts/vectorstore_create.py
e alterar o arquivosrc/functions.py
para que ele utilize a sua base de dados. - O app é executado em
localhost:8501
, mas você pode alterar a porta no arquivo.streamlit/config.toml
.
Distribuído sob a licença MIT. Veja LICENSE
para mais informações.
Contribuições são o que fazem a comunidade open source um lugar incrível para aprender, inspirar e criar. Quaisquer contribuições que você fizer são muito apreciadas.
- Faça um Fork do projeto
- Crie sua Feature Branch (
git checkout -b feature/NovaFeature
) - Faça commit de suas mudanças (
git commit -m 'Add some NovaFeature'
) - Push para a Branch (
git push origin feature/novaFeature
) - Abra um Pull Request
Espero que você aproveite a utilização do WhatsAgenda Chatbot for Calendar Configuration! Para qualquer dúvida ou sugestão, não hesite em entrar em contato. 🚀