Projeto Integrador Interdisciplinar:
Desenvolvimento de Chatbot para os Restaurantes do Colégio Poliedro
Este projeto universitário foi desenvolvido como parte da disciplina Projeto Integrador Interdisciplinar - Ciência da Computação (CIC204) dos cursos de Ciência da Computação e Inteligência Artificial e Ciência de Dados do Instituto Mauá de Tecnologia.
O projeto visa desenvolver um sistema integrado de gestão de pedidos para o restaurante do Colégio Poliedro, com a implementação de um chatbot para otimizar a experiência dos clientes. O objetivo principal é facilitar o processo de pedidos no restaurante e oferecer uma forma eficiente, moderna e humanizada para os clientes interagirem com o sistema.
| Aluno | RA |
|---|---|
| Alexandre Raminelli | 24.01625-0 |
| Henrique Yuri Cawamura Seppelfelt | 24.00545-2 |
| Mateus Martins Gonçalves Dóro | 24.00553-3 |
| Pedro Correia | 24.00845-0 |
- Navegue até a pasta
api/:
cd ./api- Copie o arquivo
.env.examplepara.env:
cp .env.example .env- Configure as variáveis de ambiente no
api/.env:
3.1. Conexão com o banco de dados:
-
DATABASE_URL: URL de conexão com o banco de dados PostgreSQL. O formato épostgresql://<usuário>:<senha>@<host>:<porta>/<nome_do_banco>. -
SECRET_KEY: Chave secreta para criptografia de dados sensíveis, como senhas.
3.2. Conexão com o LLM:
CHATBOT_API_KEY: Chave de API para autenticação com o provedor do chatbot.CHATBOT_URL: URL base do provedor do chatbot.MODEL_NAME: Nome do modelo de linguagem utilizado pelo chatbot.
Se estiver testando esse projeto, recomendados utilizar o OpenRouter como provedor de modelo de LLM. Para isso, crie uma conta gratuita em OpenRouter e obtenha sua chave de API.
Também recomendados utilizar o modelo gratuito "Meta: Llama 3.1 8B Instruct".
Depois, configure as variáveis de ambiente conforme abaixo:
CHATBOT_API_KEY=your_openrouter_api_key
CHATBOT_URL=https://api.openrouter.ai/v1
MODEL_NAME=meta-llama/llama-3.1-8b-instruct:free # ou outro modelo de sua escolha-
Insira no
api/.envas informações para conexão com seu banco de dados vetorial (instruções acima) -
Abra a pasta
api/e execute o seguinte comando para criar o banco de dados vetorial:
cd api &&
python -m embedding.build_vector_database- Python 3.8 ou superior
- pip (gerenciador de pacotes do Python)
- Navegue até a pasta
api/:
cd ./api/- Instale as dependências do projeto:
pip install -r requirements.txt-
Configure as variáveis de ambiente (instruções acima)
-
Inicie o servidor:
uvicorn main:app --reload- Acesse o servidor:
- API: http://localhost:8000
- Documentação interativa (Swagger): http://localhost:8000/docs
- Documentação alternativa: http://localhost:8000/redoc
GET /- Endpoint de testePOST /cadastro- Cadastro de usuáriosPOST /login- Autenticação de usuáriosPOST /chatbot- Interação com o chatbotGET /cozinha/pedidos- Obter pedidos (requer autenticação)
-
Siga as instruções acima para iniciar o servidor FastAPI.
-
Abra uma nova aba do terminal e navegue até a pasta
api/:
cd ./api/- Execute o script de testes:
python test_api.pyEsse script irá:
- ✅ Verificar se a API está rodando
- 🧪 Testar todos os endpoints
- 💬 Oferecer um modo de chat interativo


