Skip to content

pauxd26/agentic-ai-chat-analyzer

Repository files navigation

Agentic AI Chat Analyzer

An AI-powered platform for analyzing agent chat transcripts about Washington Post articles using lightweight LLMs, visual EDA, and an interactive frontend.

Features

  • Modular Data Pipeline – Clean ingestion, cleaning, and transformation
  • EDA + Profiling – Dataset summaries, word clouds, sentiment plots
  • LLM Summarizer – Uses Flan-T5-small
  • Sentiment Classification – CardiffNLP RoBERTa Sentiment
  • FastAPI Backend – REST endpoints with Pydantic validation
  • Streamlit Frontend – Interactive UI for real-time transcript analysis
  • Model Caching – Offline-ready with locally saved models
  • Evaluation Pipeline – Accuracy and BLEU score metrics

Project Structure

Agentic-AI-Chat-Analyzer/
├── src/
│   ├── api/              # API endpoints
│   ├── services/         # Business logic (models, metrics, summarizer)
│   ├── utils/            # Data processing utilities
│   ├── core/             # Core modules (logger, main)
│   └── schemas/          # Pydantic models
├── scripts/              # Utility scripts
├── notebooks/           # EDA notebooks
├── streamlit_app/       # Streamlit UI
├── data/                # Dataset files
├── models/              # Saved ML models
├── main.py              # FastAPI entrypoint
└── requirements.txt     # Dependencies

System Architecture

User Input (Streamlit UI)
    ↓
POST Transcript to FastAPI API
    ↓
    ├── LLM Summarizer (Flan-T5)
    └── Sentiment Classifier (RoBERTa)
    ↓
Summary + Sentiment Output
    ↓
Visualization (WordClouds + Metrics)

Installation

  1. Clone the repository
  2. Create a virtual environment:
    python -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
  3. Install dependencies:
    pip install -r requirements.txt
  4. Download models:
    python scripts/download_models.py

Usage

Run FastAPI Backend

uvicorn src.main:app --reload

Access Swagger Docs: http://localhost:8000/docs

Run Streamlit Frontend

streamlit run streamlit_app/app_ui.py

API Endpoints

Method Endpoint Description
GET /summary Returns dataset stats
POST /transform Preprocess and clean new chat input
POST /insights Summarizes, classifies sentiment, returns insights

Tech Stack

  • Backend: FastAPI, Uvicorn, Pydantic
  • Frontend: Streamlit, Matplotlib, WordCloud
  • NLP Models: HuggingFace Transformers (Flan-T5, RoBERTa)
  • Analysis: Pandas, Seaborn, ydata-profiling
  • LLM Hosting: Locally saved models in /models/

License

MIT License

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors