Skip to content

akshatladdha16/Reviews-copilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Reviews Copilot - AI-Powered Customer Reviews Management

Live Frontend: [https://reviews-copilot.streamlit.app/]
Backend API: [https://reviews-copilot.loca.lt] (via localtunnel)

🎯 Project Overview

A full-stack AI application that helps businesses manage customer reviews with intelligent automated reply suggestions, and advanced search capabilities with detailed analytics of reviews.

✨ Features

  • AI-Powered Analysis: Sentiment analysis and topic classification using Groq LLM (Llama 3.1 70B/8B respectively)
  • Smart Reply Generation: Context-aware response suggestions
  • Hybrid Search: TF-IDF + Vector semantic search
  • Analytics Dashboard: Visual insights into review metrics
  • Multi-location Support: Filter reviews by business location

🏗️ Architecture

Streamlit Frontend (Cloud) → FastAPI Backend (Local + Localtunnel) → NeonDB + pgvector → Groq AI

🚀 Quick Start

Backend Setup

cd backend

# Install dependencies(without venv: otherwise you might end up with compatibility issues with metadata generation)
pip install -r requirements.txt

# Setup environment
cp .env.example .env
# Edit .env with your actual values

# Run backend
uvicorn main:app --reload --host 0.0.0.0 --port 8000

# Expose via localtunnel (in separate terminal)
npx localtunnel --port 8000 --subdomain reviews-copilot

Frontend Access

URL: [https://reviewsapp.streamlit.app/], for easy access, already configured admin api key for demo purpose and ingestion of reviews.

Backend:

Automatically connects to [https://reviews-copilot.loca.lt] as already configured in streamlit community. PORT:8000

Database:

NeonDB with pgvector: Production ready database with vector capabilities.

AI Services

  • Primary LLM: Groq - Llama 3.1 70B (reply generation)
  • Secondary LLM: Groq - Llama 3.1 8B (sentiment analysis)
  • Embeddings: SentenceTransformers for vector search
  • Search: Hybrid ,TF-IDF (scikit-learn) , Vector (pgvector in default neon db)

Trade-offs Made

  • Local Backend: Using localtunnel instead of cloud hosting for backend, got into space issue in Render and Railway.
  • Streamlit over React: Faster development but less customization and very minimal demo UI, could have made it more aesthetically pleasing and better user flow.
  • Simple Authentication: API keys instead of full OAuth system
  • System Design improvements:1. handling 100s of reviews at once and how can we make Groq models AI query in optmised way. 2. Event streaming like kakfa that can stream the messages from a service to our review and we can process it gradually and not all at once.
  • User Auth system : can be added in case of more granular control by admin for users on functionality.

About

A small web app for a multi-location business to ingest customer reviews, search/filter, analyze sentiment/topics, and draft a suggested reply using an LLM.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages