Nutrimate: AI-Powered Nutrition Guidance with RAG
🌟 Overview
Nutrimate is an AI-driven web application that utilizes Retrieval-Augmented Generation (RAG) to provide personalized nutritional insights. Built with Next.js and TypeScript, Nutrimate leverages OpenAI's GPT-4-turbo and text-embedding-3-small model to enhance nutrition-based recommendations. The application retrieves relevant nutritional data from a curated knowledge base stored in Astra DB, making it an intelligent assistant for dietary and health-conscious users.
🚀 Key Features
- AI-Powered Nutrition Insights: Uses RAG to provide contextual and evidence-based dietary recommendations.
- Personalized Suggestions: Processes user medical history, allergies, and preferences for customized advice.
- Efficient Data Retrieval: Utilizes Astra DB as a vector database for fast and relevant query results.
- Interactive Chatbot: Allows users to query food-related concerns and receive AI-generated responses.
- Seamless Web Experience: Developed with Next.js and React 19, ensuring optimal performance and user experience.
🛠️ Tech Stack
- Frontend: Next.js (15), TypeScript, React (19)
- Backend: Node.js, Express (if applicable), Serverless API
- AI Models:
- OpenAI GPT-4-turbo for response generation
- text-embedding-3-small for vector embeddings
- Database:
- Astra DB for vector search
- Custom dataset (
data/data.json
) for nutritional and medical insights
- APIs & Libraries:
langchain
for RAG implementation
@datastax/astra-db-ts
for database connectivity
puppeteer
for potential web scraping (if used)
📊 How It Works
-
User Query Processing:
- User enters a nutrition-related query.
- The query is embedded using OpenAI's text-embedding-3-small.
-
Retrieval via Astra DB:
- The vector database finds the most relevant documents from the stored knowledge base.
- The retrieved context is fed into the LLM for response generation.
-
AI-Generated Response:
- GPT-4-turbo generates a personalized answer using both retrieved data and prior knowledge.
- The response is displayed in an intuitive chat-based interface.
📂 Dataset & Sources
- Custom Dataset (
data/data.json
): Contains structured medical and dietary information.
- Vectorized Content Storage: Implemented using Astra DB for high-speed retrieval.
- Potential External Integrations (Future Scope):
🎯 Why Nutrimate?
- Minimal Effort, Maximum Impact: Users get quick, AI-driven nutrition insights without manually searching databases.
- Personalized & Context-Aware: Unlike generic nutrition apps, Nutrimate tailors suggestions based on user history.
- Efficient RAG Pipeline: Enhances accuracy and relevance by retrieving real-world data before generating responses.
📌 Future Enhancements
- Integration with Public Nutrition APIs (USDA, Open Food Facts)
- Mobile App Version using React Native
- Voice Assistant Capabilities
- Advanced User Profiling for hyper-personalized insights
🔗 Links & References