Skip to content

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CallIQ — AI-Powered Customer Call Quality & Analytics Platform

Enterprise-grade conversational intelligence platform that ingests call transcripts, scores compliance against dynamic QSDD rubrics using LLMs, runs predictive machine learning models, and delivers real-time telemetry through a modern Liquid Glass React dashboard.


⚡ Quick Start Options

You can run CallIQ using Docker (Recommended) or Local Development.


Option 1: Run with Docker (Fastest — Zero Setup)

Ensure Docker and Docker Compose are installed.

# 1. Clone the repository
git clone https://github.com/VedantPanchal23/CallIQ.git
cd CallIQ

# 2. Configure environment
cp .env.example .env

# 3. Build and launch all containers
docker compose up -d --build

To view logs or stop containers:

docker compose logs -f    # View live logs
docker compose down       # Stop containers

Option 2: Run Locally (Python 3.11 + Node.js 18+)

1. Setup Backend & Data Pipeline

# 1. Clone the repository
git clone https://github.com/VedantPanchal23/CallIQ.git
cd CallIQ

# 2. Create and activate virtual environment
python -m venv venv

# Windows:
venv\Scripts\activate
# macOS / Linux:
# source venv/bin/activate

# 3. Install Python dependencies
pip install -r requirements.txt

# 4. Configure environment
cp .env.example .env
# Optional: Add your custom Groq API key in .env for live LLM chat/scoring

# 5. Run the end-to-end data pipeline (Ingestion -> ETL -> ML Models -> AI Scoring -> ChromaDB RAG)
python run_pipeline.py --force

# 6. Start FastAPI backend
python -m uvicorn backend.main:app --reload --port 8000

2. Setup React Frontend (In a separate terminal)

cd dashboards/frontend

# Install dependencies (Node 18+)
npm install --legacy-peer-deps

# Start React development server
npm start
# Automatically opens at http://localhost:3000

🧪 Automated Test Suite (100% Passed)

To verify the entire system, database tables, and ML/AI models locally:

# Run all 7 test suites
python -c "
import subprocess, sys
tests = [
    'tests/test_ingestion.py',
    'tests/test_etl.py',
    'tests/test_scoring.py',
    'tests/test_ml.py',
    'tests/test_ml_unit.py',
    'tests/test_rag.py',
    'tests/test_qsdd_dynamic.py'
]
for t in tests:
    res = subprocess.run([sys.executable, t])
    if res.returncode != 0:
        sys.exit(1)
print('\n*** ALL 7 TEST SUITES PASSED 100% ***')
"

🏗️ System Architecture

                                  ┌──────────────────────────────────────────────┐
                                  │             DATA INGESTION (Bronze)          │
                                  │   Real Calls JSON  ──►  data_loader.py       │
                                  │   Synthetic Data   ──►  synthetic_gen.py     │
                                  └──────────────────────┬───────────────────────┘
                                                         │
                                  ┌──────────────────────▼───────────────────────┐
                                  │             ETL PIPELINE (Silver/Gold)       │
                                  │   Silver Cleaning  ──►  transform.py         │
                                  │   Dimensional Mart ──►  dim_agents, dim_time │
                                  └──────────────────────┬───────────────────────┘
                                                         │
                                  ┌──────────────────────▼───────────────────────┐
                                  │             AI & MACHINE LEARNING            │
                                  │   LLM Dynamic Scorer (Groq / LangChain)      │
                                  │   Sentiment Classification (HuggingFace)     │
                                  │   K-Means Clustering & Random Forest Outcome │
                                  │   Isolation Forest Anomaly Detection         │
                                  │   ChromaDB Vector Store + Hybrid RAG Chat    │
                                  └──────────────────────┬───────────────────────┘
                                                         │
                                  ┌──────────────────────▼───────────────────────┐
                                  │             APPLICATION LAYER                │
                                  │   FastAPI Backend Server (Port 8000)         │
                                  │   React 18 Liquid Glass Dashboard (Port 3000)│
                                  └──────────────────────────────────────────────┘

📊 Key Features

  1. Executive Overview Dashboard:

    • Live KPI cards with tabular figures (Total Calls, Duration, Resolution %, Quality Benchmark).
    • Customer Sentiment Dynamics (Donut distribution + 30-day emotion area wave).
    • Top Call Drivers (Ranked volume categories with progress bars).
    • Agent Leaderboard with cluster classification and FCR rates.
    • Live AI Insights and anomaly detection feed.
  2. QSDD Quality Standards Manager:

    • Fully dynamic rubrics (Greeting, Authentication, Assistance, Closing).
    • In-app section and criteria CRUD with real-time weight adjustment.
    • Asynchronous background re-scoring worker with live progress tracking.
  3. Call Explorer & Transcript Analyzer:

    • Paginated call table with search and sentiment filtering.
    • Slide-out drawer with Speaker Diarization (Agent vs Customer bubbles).
    • Granular criteria evaluation with PASS/FAIL badges and evidence quotes.
  4. Conversational AI Copilot (⌘K):

    • Natural Language to SQL query translation across DuckDB warehouse tables.
    • RAG semantic vector search over call transcripts with source citations.

📁 Repository Structure

├── assets/                    # Raw call details and transcripts
├── ingestion/                 # Bronze data loader & synthetic call generator
├── etl/                       # Medallion ETL (Bronze -> Silver -> Gold) & data quality
├── warehouse/                 # DuckDB analytical warehouse & ChromaDB vector store
├── ai_engine/                 # Dynamic QSDD scorer, summariser, RAG chatbot & ML models
│   └── ml/                    # Sentiment, clustering, prediction & anomaly detection
├── backend/                   # FastAPI backend & modular routers
│   ├── db.py                  # Centralized DuckDB connection manager
│   ├── main.py                # App entrypoint with auto-initialization & CORS
│   └── routers/               # Dashboard, chat, QSDD, and ingestion endpoints
├── dashboards/frontend/       # React 18 frontend with Liquid Glass theme
│   ├── src/
│   │   ├── components/        # Topbar, KPIcards, SentimentChart, AIChatbot, etc.
│   │   ├── pages/             # Dashboard, QSDDManager, CallExplorer
│   │   └── api.js             # Axios API client
│   └── Dockerfile             # Multi-stage React + Nginx SPA container
├── tests/                     # 7 automated test suites (100% pass rate)
├── run_pipeline.py            # Master pipeline runner
├── Dockerfile                 # Backend container definition
├── docker-compose.yml         # Full-stack Docker orchestration
├── requirements.txt           # Python dependencies
└── .env.example               # Environment variables template

📄 License

MIT License. Built for enterprise call quality intelligence and analytics.

About

LLM-powered call quality analyzer using LLaMA 3.1, LangChain, RAG (ChromaDB), distilBERT NLP pipeline — built at Kenexai Hackathon

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages