Welcome to NutriBot, your go to assistant trained on the nutritional properties of fruits and vegetables. NutriBot excels at answering detailed questions such as βWhy does eating potato skin provide more iron than eating potato flesh?β by grounding every response in the source PDF data along with page numbre from that pdf.
π Check out the live version here: π NutriBot
Vicente, A. R., Ortiz, C. M., Sozzi, G. O., Manganaris, G. A., & Crisosto, C. H. (2014). Nutritional properties of fruits and vegetables. In Postharvest Biology and Technology of Fruits, Vegetables, and Flowers (pp. 69β122). Elsevier. https://doi.org/10.1016/B978-0-12-408137-6.00005-3 :contentReference[oaicite:1]{index=1}
react-markdown
and remark-gfm
. git clone https://github.com/Omkar-Gavali/ai-chatbot.git
cd ai-chatbot
cd backend
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
# Create a .env in backend/:
GROQ_API_KEY=your_groq_api_key_here
Place your PDF files in backend/data/
and run:
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Backend: http://localhost:8000
cd frontend
npm install
# Create .env.local in frontend/:
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_CHAT_ENDPOINT=${NEXT_PUBLIC_API_URL}/chat
npm run dev
Frontend: http://localhost:3000
cd backend
docker build -t ai-chatbot/backend .
cd backend
docker run -p 8000:8000 backend
cd backend
gcloud auth configure-docker
docker tag nutribot-backend gcr.io/your-gcp-project-id/backend
docker push gcr.io/your-gcp-project-id/backend
gcloud run deploy nutribot-backend \
--image gcr.io/your-gcp-project-id/ai-chatbot-backend \
--platform managed \
--region europe-west3 \
--allow-unauthenticated \
--port 8000
NutriBot is part of a movement:
βWe must not only imagine a better future with AI. We must build it β with responsibility, passion, and relentless optimism.β
π Multi-PDF Support: Unlimited document ingestion.
π Plugin Ecosystem: Connect to live APIs (recipe databases, health trackers) for real-time personalization.
π€ LLM Choice: Swap models (LLaMA, GPT, Claude) with different parameters(top_k,temperature etc.)
π Advanced Retrieval: Hybrid semantic + keyword search.
π Localization: Multi-language Q&A.
βοΈ Offline LLMs: Onpremise models for privacy.
π Knowledge Graphs: Enhanced reasoning pipelines.
π Authentication: User-specific personalization.
βοΈ AI Safety & Ethics: Integrate fairness and consent frameworks,
requirements.txt
: Python deps for backend. Dockerfile
: Container spec. .env.example
: Template env vars.MIT License Β© 2025
As AI/AGI progresses from pattern recognition to real-world experience learning, systems will autonomously generate data and refine themselves in situations. I foresee NutriBot evolving into a network of domain specific advisors nutrition, skincare, mental health contributing to a future where AI augments human well being at scale, democratizing access to expert guidance.
We welcome your ideas, whether itβs adding new PDF loaders, improving UI/UX, or experimenting with embedding models. Please fork, commit, and open a pull request your contributions drive NutriBot toward a healthier, AI-empowered world!
"Every PDF you upload expands NutriBotβs ability to provide deeper, more connected nutritional insights. The future of personalized nutrition begins with the documents you share."
If you find this project inspiring, please β Star on GitHub and share with the world!