ChatBot techlab

📝 Sumário

🤩 Motivação

Este projeto teve como motivação um desafio feito pela Tech4.ai com o objetivo de desenvolver um agente conversacional que facilite a integração de novos funcionários na empresa ajudando-os a se familiarizar rapidamente com a cultura, políticas, programas e ferramentas de trabalho da empresa.

📝 Resumo

O projeto se consiste em uma aplicação de um chatbot, utilizando diferentes agentes com funções e ferramentas distintas. Além disso ele apresenta um sistema de agendamento de eventos no google agendas, porém só é possível agendar e consultar eventos existentes. Nota-se que só será possível consultar eventos que foram marcados pelo próprio chatbot, visto que ele estará associado a uma agenda própria. Para acessar o chat, será necessário criar um cadastro, fornecendo nome, senha e email. O acesso de todas as funcionalidades é feito através de verbos HTTP que acionarão a Api do projeto.

🔧 Instalação

Clonando o repositório

Vá até a pasta local desejada e execute o seguinte comando.

git clone https://github.com/tomlavez/techlab-IAG-2024.git

Instalado as dependências

Após clonar o repositório será necessário instalar as bibliotecas utilizadas no projeto. Para isso, basta utilizar o seguinte comando

pip install -r requirements.txt

Configurando .env

Para rodar esse projeto são necessárias três chaves de api, que devem ser alocadas no arquivo .env, como no exemplo abaixo

GROQ_API_KEY=XXXXXXXXXXXXXXXXXXX
TAVILY_API_KEY=XXXXXXXXXXXXXXXXXXX
HUGGINGFACEHUB_API_TOKEN=XXXXXXXXXXXXXXXXXXX

Google Cloud Console Account

Utilizaremos a API do google para automatizar a criação de eventos no Google Agendas. Para fazer isso é necessário ter uma conta, onde todos os eventos marcados estarão, a qual pode ser criada aqui e configurada seguindo este link. Após isso será necessário baixar o json do OAuth 2.0 e adicionar ao projeto com nome de credentials.json.

URL's

O projeto utiliza url's do localhost por padrão:

  • Frontend: http://localhost:8501
  • Api: http://localhost:8000
  • Note que caso o url da api seja alterado, é necessário atualizar a variável API_URL do arquivo app.py para estar de acordo

    A documentação da API pode ser encontrada em http://localhost:8000/docs

    ⚙️ Execução

    Para executar o projeto são necessários dois comandos, um para iniciar a api e outro para iniciar o frontend da aplicação, são eles:

    uvicorn api:app --reload
    
    streamlit run app.py
    

    A depender do ambiente pode ser necessário adicionar "python -m" antes dos comandos