Vietnamese Recipe Chatbot with RAG
Key Results
- › Semantic retrieval over 800 recipes
- › Vietnamese embeddings, when good ones barely existed
- › Basket history folded into retrieval
- › Built by a team of two
The Problem
A grocery e-commerce platform in the group wanted to suggest recipes from what a customer already had in their basket. A generic recipe database can’t do that — it has no idea what you’re holding, what you like, or what you’d have to buy to make the suggestion useful.
The approach
Two of us built a retrieval-augmented assistant over a curated database of around 800 Vietnamese recipes: semantic retrieval to find candidates that match the basket contents and purchase history, with Google Gemini generating the conversational reply grounded in the retrieved recipes rather than inventing dishes. It was served over FastAPI.
The genuinely hard part was the language. We were doing this early, before RAG was a well-trodden pattern with a stack of tooling around it, and Vietnamese embedding models at the time were noticeably worse than their English counterparts. Getting semantic retrieval to behave in Vietnamese took more work than the architecture did.
What’s honest about it
This was R&D. It worked, and it was an early, self-directed bet on an architecture that turned out to be the right one — several years before I was building RAG systems over clinical guidelines. But I have no engagement metrics to show you and no evidence it carried production traffic, so I’m not going to claim either. What it demonstrates is timing and instinct on retrieval architectures, not a measured business result.