Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Internship Project

This repository contains three parts built as part of an internship task: a RAG system, a Recommendation Engine, and a set of n8n automations. Together they demonstrate document-based question answering, content-based recommendations, and workflow automation.

The Recommendation Engine also powers the AI Assistant feature of CampusCart, a student marketplace project — students can describe what they need in natural language (e.g. "I need headphones for studying") and get relevant book or product recommendations back.

Project Structure

internship-project/
├── recommender/    # Content-based recommendation engine + Flask API
├── n8n/            # Exported n8n workflow JSON files
    ├── screenshots/    # Screenshots demonstrating completed tasks
└── frontend/       # CampusCart frontend (uses the recommender via n8n)
└── README.md       # Project documentation

1. RAG System (rag/)

Loads PDF documents, splits them into chunks, embeds them, stores them in ChromaDB, and answers questions by retrieving the most relevant chunks before generating an answer.

See rag/README.md for setup and usage. Test questions and answers are saved in rag/test_results.txt.

2. Recommendation Engine (recommender/)

A content-based recommendation engine using Sentence Transformers and cosine similarity, with two intents: book and product. Detects which intent a user's message falls under, then recommends the closest-matching items from books.csv / products.csv.

Wrapped in a Flask API (api.py) so it can be called over HTTP — this is what the n8n workflow and CampusCart's frontend talk to.

See recommender/README.md for details. Test results are saved in recommender/test_results.txt.

3. n8n Automations (n8n/)

Three automations are exported as workflow JSON files in this folder.Supporting screenshots are available in the n8n/screenshots/ folder:

  1. Recommendation API workflow — Webhook → HTTP Request → Respond to Webhook. Connects CampusCart's AI Assistant chat to the Flask recommender API.
  2. Welcome email automation — Webhook → Send Email. Sends a personalized welcome email when a form is submitted.
  3. Daily book recommendation — Schedule Trigger → picks a random book → posts it automatically.

How the Pieces Connect

CampusCart (frontend)
      ↓
n8n Webhook (Automation 1: Recommendation API)
      ↓
Flask API (recommender/api.py)
      ↓
Recommendation Engine (recommender/recommender.py)
      ↓
Response back through n8n → displayed in CampusCart's AI Assistant chat

Running Everything Locally

  1. Set up a virtual environment and install dependencies for rag/ and recommender/ (see their individual READMEs).
  2. Start the Flask API: python recommender/api.py
  3. Start n8n: npx n8n (or n8n start), then activate the imported workflows.
  4. Open frontend/index.html (e.g. via a local server like VS Code's Live Server) to use CampusCart's AI Assistant.

Notes

  • API keys are kept in .env files (not committed) — see .gitignore.
  • The rag/ and recommender/ systems are independent of each other; the recommender is the one wired into CampusCart.

About

AI internship project featuring a RAG system, content-based recommendation engine, Flask API, n8n automations, and CampusCart AI Assistant integration.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages