Akbub's picture
deploy: Nexus AI v0.2.0 - SAP C4C Lead Creation UI included in fresh frontend build
d1f3f31
|
Raw
History Blame Contribute Delete
4.05 kB
# Nexus AI | Enterprise Audio Intelligence System Guide
Welcome to the **Nexus AI** system. This system acts as a conversational CRM intelligence engine that extracts structured insights from sales recordings or typed texts and scores leads for conversion probability.
---
## 1. System Architecture & Flow
The application processes text inputs or audio recordings through a multi-stage pipeline:
```mermaid
graph TD
A[Audio Recording / Text Input] --> B[FastAPI Web Server]
B --> C[Whisper Speech-to-Text]
C --> D[Pyannote Speaker Diarization]
D --> E[Local PII Redaction / Sanitization]
E --> F[Llama 3 Extraction via Groq API]
F --> G[Taxonomy Normalization]
G --> H[XGBoost ML Classification Model]
H --> I[CRM Lead Score & Follow-Up Alerts]
```
1. **Transcription & Diarization**: Audio files are transcribed using OpenAI Whisper. Speaker turn durations and customer/agent separations are calculated using Pyannote.audio.
2. **Local PII Redaction**: Sensitive Customer PII (Names, Phone Numbers, Emails) is detected and redacted locally before calling LLMs to maintain privacy constraints.
3. **Llama 3 Information Extraction**: Using Groq's high-speed API, Llama-3-70B extracts mentions of product features, brands, budget details, customer objections, and intent levels.
4. **XGBoost Lead Scoring**: Extracted signals are aligned into tabular features and fed into an XGBoost classifier which predicts whether the lead is `hot` (prob >= 0.7), `warm` (prob >= 0.4), or `cold` (prob < 0.4).
5. **Follow-Up Engine**: Actionable reminders and priority tasks are generated automatically from conversations and logged in a SQLite3 store.
---
## 2. Directory Structure
- `src/` - Python core application codebase.
- `src/api/server.py` - FastAPI entrypoint containing HTTP and WebSocket routes.
- `src/api/worker.py` - Task worker handling background queue for audio files.
- `src/aspect_sentiment/` - Signal detection, NLP scoring rules, VADER sentiment, PII privacy filters, and model fusion.
- `frontend/` - Next.js React Dashboard styled with Tailwind CSS and Framer Motion.
- `data/` - Dataset processing directories. Contains raw transcript inputs, SQL databases, and SQLite metrics.
- `models/` - Pickled artifacts of the trained XGBoost model (`sales_conversion_model.pkl`) and tabular schemas.
- `audio/` - Sample WAV files.
- `scripts/` - Shell/Batch files to easily start backend and frontend services.
---
## 3. Configuration & Startup
Ensure you copy `.env.example` to `.env` and `.env.local` inside the root directory and update them with your Groq and Hugging Face tokens:
```ini
LLAMA_API_KEY=your_groq_api_key
HUGGINGFACE_TOKEN=your_huggingface_token_if_using_pyannote
```
### Starting the System
To start the servers:
1. **Automated Startup (Windows)**:
Double-click the [START.bat](file:///d:/Project%20-AI%20audio/scripts/START.bat) script to run checks and launch backend & frontend servers automatically.
2. **Manual Startup**:
- **Backend**:
```bash
.venv\Scripts\python.exe -m uvicorn src.api.server:app --reload --port 8000
```
- **Frontend**:
```bash
cd frontend
npm run dev
```
---
## 4. Diagnostics & Testing
We provide three layers of test verification to ensure everything runs perfectly:
1. **System Sanity Check (`test_system.py`)**:
Checks that the virtual environment imports all packages correctly, the spaCy NLP engine compiles, and pre-trained XGBoost pickle models are loaded.
```bash
.venv\Scripts\python.exe test_system.py
```
2. **API Endpoint Integration Test (`test_audio_upload.py`)**:
Fires live API requests to `/api/health`, runs text processing, uploads a local test WAV file, and polls the job worker.
```bash
.venv\Scripts\python.exe test_audio_upload.py
```
3. **Browser Diagnostic Dashboard (`audio-upload-debug.html`)**:
Open `http://localhost:5173/audio-upload-debug.html` in your browser once the frontend is running to trace status logs and debug connection failures.