O ChefBot é um assistente conversacional inteligente para recomendação e acompanhamento de receitas culinárias, desenvolvido com Rasa Open Source e um frontend web personalizado em HTML + Tailwind CSS.
O bot permite pesquisar receitas com base em preferências do utilizador, acompanhar receitas passo-a-passo, gerir favoritos, registar histórico de receitas feitas e recolher avaliações.
-
Pesquisa de receitas por:
- Categoria (entrada, prato principal, sobremesa)
- Tempo de preparação
- Dificuldade
- Restrições alimentares (vegetariano, vegan, sem glúten, etc.)
- Preferência calórica
- Ingredientes disponíveis
-
Modo passo-a-passo
- Navegação entre passos
- Avançar, regressar ou abandonar receita
- Finalização com avaliação
-
Avaliação de receitas (1 a 5 estrelas)
-
Gestão de favoritos
-
Histórico de receitas recentes
- Resumo geral
- Filtragem por categoria
-
Interface Web moderna
- Histórico de conversas
- Interface responsiva
- Suporte a imagens nas receitas
IIA-25_26/
├── data/
│ ├── nlu.yml # Exemplos de treino para reconhecimento de intenções
│ ├── rules.yml # Regras de conversação de baixo nível
│ ├── stories.yml # Fluxos de conversação complexos
├── actions/
│ └── actions.py # Ações customizadas em Python
├── db/
│ └── petitchef_recipes.csv # Dataset raw - web scraping
│ └── recipes_old.csv # Dataset após limpeza
│ └── recipes.csv # Dataset principal de receitas
│ └── extract_data.py # Script de extração - web scraping
│ └── clean_csv.py # Script de limpeza e transformações
│ └── add_id.py # Script para adição de identificador às receitas
├── models/ # Modelos treinados do Rasa
├── tests/ # Testes do chatbot
├── config.yml # Configuração do pipeline do Rasa
├── credentials.yml # Credenciais para conectores
├── domain.yml # Configuração global do domínio
├── endpoints.yml # Endpoints para actions server
└── README.md # Esta documentação
- Rasa Open Source
- Python 3
- HTML5
- Tailwind CSS
- JavaScript
- CSV como armazenamento leve de dados
pip install rasa
pip install rasa-sdkrasa trainrasa run actionsrasa run --enable-api --cors "*"Abrir o ficheiro ChefBot.html num browser (recomendado: Chrome ou Firefox).
⚠️ Certifica-te que o endpoint no ficheiro HTML aponta para:http://localhost:5005/webhooks/rest/webhook
As receitas são carregadas a partir de um ficheiro CSV (recipes.csv) com os seguintes campos:
idtitulocategoriadificuldadetempo_totalcaloriasratingporcoesingredientespassoscriteriosimagem
Os campos de lista usam o separador |.
Este projeto foi desenvolvido no âmbito de uma unidade curricular de Introdução à Inteligência Artificial, com foco em:
- Processamento de Linguagem Natural
- Sistemas baseados em regras e estados
- Interação humano-computador
Este projeto obteve a seguinte classificação final na unidade curricular Introdução à Inteligência Artificial:
- Nota final: 19/20
- Ano letivo: 2025/2026
- Instituição: Universidade do Minho
Desenvolvido por:
- Tomás Henrique Alves Melo - PG60018
- Rodrigo Miguel Granja Ferreira - PG60392
- Luís Pinto da Cunha - PG60280
- Nuno Filipe Leite Oliveira Araújo - PG61218
Este projeto é de uso académico.
Uso comercial sujeito a autorização dos autores.