After arriving in Paris in 2025, driven by my love for coffee, I decided to launch this personal project inspired by the works of M. Abdullah Tarek and M. Chibuzor Nwachukwu. This ongoing project explores the intersection between AI agents, Large Language Models (LLMs), and Retrieval-Augmented Generation (RAG). My main contribution lies in prompt engineering and improving the generalization capabilities of the chatbotβs responses. I designed and iteratively refined prompts to handle a wide variety of user queries related to the coffee shop context from taking orders and answering detailed menu questions to providing personalized recommendations.
Through this work, I gained hands-on experience with LLM-based conversational systems, AI agent design, and contextual retrieval mechanisms, making the project a deeply enriching exploration of intelligent customer interaction systems.
The goal of the project is to:
- Block irrelevant or harmful questions using a Guard Agent for safe interactions.
- Answer questions about menu items and our coffee shop based on RAG system.
- Recommend personalized products based on market basket analysis recommendation engine.
- Take client's order for specific product(s).
π€ Chatbot Reasoning In this project, we have 6 steps:
- User input: here the client asks for something.
- Guard Agent: It acts as a defense. It checks whether the question asked by the customer is relevant to the coffee shop or not. If it is an unsafe question, it blocks it and asks for a new question.
- Input Classifier Agent: This agent classify the needed agent to answer for user's qurstion into one of three categories: order agent, recommendation agent, or details agent. This step is developed using chain-of-thought (CoT).
- Order Agent: This agent is responsible for taking client's order.
- Details Agent (RAG System): Powered by a Retrieval-Augmented Generation (RAG) system, the Details Agent answers specific customer questions about the coffee shop, including product components, prices... It retrieves information from vector databases using Pinecone environment.
- Recommendation Agent: Using market basket recommendation engine technique, this agent helps the customer with its order. It can recommend him a new product or what to take with an ordered one.
βββ Amine_Coffee_Shop
β βββ api/ # Chatbot API for agent-based system
β βββ dataset # Dataset for training recommendation engine
β βββ products # Product data (names, prices, descriptions)
| βββ build_vector_database.ipynb # Builds vector database for RAG model
| βββ recommendation_engine_training.ipynb # Trains recommendation engine
βββ README.md # You're here! \
- M. Abdullah Tarek and M. Chibuzor Nwachukwu GitHub: Our project is inspired from their work.
- Pinecone
- Hugging Face: Hugging Face Models - Repository for Llama LLms, a state-of-the-art NLP model used in our chatbot.