# AI Agent Multi-Service Platform
## Descripción
Plataforma avanzada de análisis de IA que integra múltiples agentes especializados para análisis de sentimientos de audio multichannel y consultas legales automatizadas. El proyecto utiliza modelos de última generación como **Whisper**, **Empathic Insight** y **LangChain** con integración a **HuggingFace** y **OpenAI**.
---
## Arquitectura del Sistema
### Servicios Disponibles
- **Análisis de Sentimientos de Audio** - Análisis multichannel con separación estéreo
- **Chatbot Legal** - Consultas sobre normativas peruanas con RAG
- **Agente NLQ en SQL** - (Próximamente)
- **Agente de Ciencia de Datos** - (Próximamente)
### Stack Tecnológico
- **Frontend**: Next.js 15.4.5 + React 19 + TypeScript + Tailwind CSS
- **Backend**: FastAPI + Python 3.10 + PyTorch + HuggingFace
- **Base de Datos**: PostgreSQL + ChromaDB (Vector Database)
- **IA/ML**: Whisper, Empathic Insight, LangChain, Sentence Transformers
- **Deployment**: Docker + Docker Compose + Nginx
---
## Estructura del Proyecto
```
AI-AGENT-PROJECT/
├── backend/ # Backend FastAPI unificado
│ ├── main.py # API principal que combina todos los servicios
│ ├── start_services.py # Script de inicio flexible
│ ├── requirements.txt # Dependencias Python completas
│ ├── Dockerfile # Imagen Docker del backend
│ │
│ ├── feeling_analytics/ # Servicio de Análisis de Sentimientos
│ │ ├── feeling_analyser_api.py # API de análisis de sentimientos
│ │ ├── models/
│ │ │ └── audio.py # Modelos de datos de audio
│ │ └── services/
│ │ ├── sentiment_analyzer.py # Lógica de análisis
│ │ └── database_service.py # Servicio de base de datos
│ │
│ ├── chat_legal/ # Servicio de Chat Legal
│ │ ├── legal_api.py # API del chatbot legal
│ │ ├── chat3.py # Motor de chat con LangChain
│ │ ├── upload_data.py # Procesamiento de PDFs
│ │ └── src/
│ │ └── pdf_reports/ # Documentos legales (PDFs)
│ │
│ ├── models/ # Modelos de IA
│ │ ├── empathic_insight/ # 70+ modelos de emociones
│ │ └── whisper_model/ # Modelo de transcripción
│ │
│ └── chroma_db_dir/ # Base de datos vectorial
│
├── frontend/ # Frontend Next.js
│ ├── app/ # Páginas principales
│ │ ├── page.tsx # Dashboard principal de agentes
│ │ ├── feeling-analytics/ # Página de análisis de sentimientos
│ │ └── chat-legal/ # Página de chat legal
│ │
│ ├── shared/ # Componentes compartidos
│ │ ├── components/
│ │ │ └── agent-card.tsx # Tarjetas de agentes
│ │ └── data/
│ │ └── agents.ts # Configuración de agentes
│ │
│ ├── feeling-analytics/ # Frontend de análisis de sentimientos
│ │ ├── components/
│ │ │ ├── sentiment-visualization.tsx
│ │ │ └── multichannel-analyzer.tsx
│ │ ├── pages/ # Páginas específicas
│ │ ├── services/ # Servicios API
│ │ └── types/ # Tipos TypeScript
│ │
│ ├── chat-legal/ # Frontend de chat legal
│ │ ├── components/
│ │ │ └── legal-chatbot.tsx # Componente principal de chat
│ │ ├── services/
│ │ │ └── api.ts # Cliente API del chat legal
│ │ └── types/
│ │ └── index.ts # Tipos del chat legal
│ │
│ ├── components/ # Componentes UI (Radix UI)
│ │ └── ui/ # Sistema de diseño completo
│ ├── styles/
│ │ └── globals.css # Estilos globales con tema elvIA
│ ├── types/ # Tipos globales
│ ├── package.json # Dependencias frontend
│ └── Dockerfile # Imagen Docker del frontend
│
├── docker-compose.yml # Orquestación de servicios
├── docker-compose.prod.yml # Configuración de producción
├── .env # Variables de entorno
├── .env.example # Ejemplo de variables
├── .gitignore # Archivos ignorados
└── README.md # Esta documentación
```
---
## Despliegue Rápido
### Opción 1: Docker Compose (Recomendado)
```bash
# 1. Clonar repositorio
git clone <repository-url>
cd ai-agent-project
# 2. Configurar variables de entorno
cp .env.example .env
# Editar .env con tus credenciales
# 3. Levantar servicios completos
docker-compose up --build
# 4. Acceder a los servicios
# Frontend: http://localhost:3000
# Backend API: http://localhost:8000/docs
# Sentiment API: http://localhost:8000/api/feeling-analytics/docs
# Legal Chat API: http://localhost:8000/legal/docs
```
### Opción 2: Desarrollo Local
```bash
# Backend
cd backend
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
pip install -r requirements.txt
python main.py
# Frontend (nueva terminal)
cd frontend
npm install
npm run dev
```
### Opción 3: Servicios Independientes
```bash
# Solo análisis de sentimientos
cd backend
python start_services.py feeling
# Solo chat legal
cd backend
python start_services.py legal
# Servicios combinados
cd backend
python start_services.py combined
```
---
## Endpoints de API
### API Principal (`http://localhost:8000`)
- `GET /` - Información del sistema
- `GET /health` - Estado de salud de todos los servicios
- `GET /docs` - Documentación Swagger unificada
### Análisis de Sentimientos (`/api/feeling-analytics/`)
- `POST /analyze` - Análizar audio multichannel
- `GET /records` - Historial de análisis
- `GET /statistics` - Estadísticas generales
- `DELETE /records/{id}` - Eliminar registro
---
## Modelos y Tecnologías IA
### Análisis de Sentimientos
- **Whisper** - Transcripción de audio a texto
- **Empathic Insight** - 40+odelos de análisis emocional
- Emociones: Alegría, Tristeza, Ira, Miedo, etc.
- Métricas: Valencia, Activación, Autenticidad
- Características: Edad, Género, Calidad de grabación
### Procesamiento de Audio
- **Separación de canales estéreo** automática
- **Análisis multichannel** independiente
- **Formatos soportados**: MP3, WAV, M4A, OGG, FLAC
---
Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.
TypeScript
59.0%
CSS
21.1%
Python
15.1%
Shell
2.8%
# AI Agent Multi-Service Platform
## Descripción
Plataforma avanzada de análisis de IA que integra múltiples agentes especializados para análisis de sentimientos de audio multichannel y consultas legales automatizadas. El proyecto utiliza modelos de última generación como **Whisper**, **Empathic Insight** y **LangChain** con integración a **HuggingFace** y **OpenAI**.
---
## Arquitectura del Sistema
### Servicios Disponibles
- **Análisis de Sentimientos de Audio** - Análisis multichannel con separación estéreo
- **Chatbot Legal** - Consultas sobre normativas peruanas con RAG
- **Agente NLQ en SQL** - (Próximamente)
- **Agente de Ciencia de Datos** - (Próximamente)
### Stack Tecnológico
- **Frontend**: Next.js 15.4.5 + React 19 + TypeScript + Tailwind CSS
- **Backend**: FastAPI + Python 3.10 + PyTorch + HuggingFace
- **Base de Datos**: PostgreSQL + ChromaDB (Vector Database)
- **IA/ML**: Whisper, Empathic Insight, LangChain, Sentence Transformers
- **Deployment**: Docker + Docker Compose + Nginx
---
## Estructura del Proyecto
```
AI-AGENT-PROJECT/
├── backend/ # Backend FastAPI unificado
│ ├── main.py # API principal que combina todos los servicios
│ ├── start_services.py # Script de inicio flexible
│ ├── requirements.txt # Dependencias Python completas
│ ├── Dockerfile # Imagen Docker del backend
│ │
│ ├── feeling_analytics/ # Servicio de Análisis de Sentimientos
│ │ ├── feeling_analyser_api.py # API de análisis de sentimientos
│ │ ├── models/
│ │ │ └── audio.py # Modelos de datos de audio
│ │ └── services/
│ │ ├── sentiment_analyzer.py # Lógica de análisis
│ │ └── database_service.py # Servicio de base de datos
│ │
│ ├── chat_legal/ # Servicio de Chat Legal
│ │ ├── legal_api.py # API del chatbot legal
│ │ ├── chat3.py # Motor de chat con LangChain
│ │ ├── upload_data.py # Procesamiento de PDFs
│ │ └── src/
│ │ └── pdf_reports/ # Documentos legales (PDFs)
│ │
│ ├── models/ # Modelos de IA
│ │ ├── empathic_insight/ # 70+ modelos de emociones
│ │ └── whisper_model/ # Modelo de transcripción
│ │
│ └── chroma_db_dir/ # Base de datos vectorial
│
├── frontend/ # Frontend Next.js
│ ├── app/ # Páginas principales
│ │ ├── page.tsx # Dashboard principal de agentes
│ │ ├── feeling-analytics/ # Página de análisis de sentimientos
│ │ └── chat-legal/ # Página de chat legal
│ │
│ ├── shared/ # Componentes compartidos
│ │ ├── components/
│ │ │ └── agent-card.tsx # Tarjetas de agentes
│ │ └── data/
│ │ └── agents.ts # Configuración de agentes
│ │
│ ├── feeling-analytics/ # Frontend de análisis de sentimientos
│ │ ├── components/
│ │ │ ├── sentiment-visualization.tsx
│ │ │ └── multichannel-analyzer.tsx
│ │ ├── pages/ # Páginas específicas
│ │ ├── services/ # Servicios API
│ │ └── types/ # Tipos TypeScript
│ │
│ ├── chat-legal/ # Frontend de chat legal
│ │ ├── components/
│ │ │ └── legal-chatbot.tsx # Componente principal de chat
│ │ ├── services/
│ │ │ └── api.ts # Cliente API del chat legal
│ │ └── types/
│ │ └── index.ts # Tipos del chat legal
│ │
│ ├── components/ # Componentes UI (Radix UI)
│ │ └── ui/ # Sistema de diseño completo
│ ├── styles/
│ │ └── globals.css # Estilos globales con tema elvIA
│ ├── types/ # Tipos globales
│ ├── package.json # Dependencias frontend
│ └── Dockerfile # Imagen Docker del frontend
│
├── docker-compose.yml # Orquestación de servicios
├── docker-compose.prod.yml # Configuración de producción
├── .env # Variables de entorno
├── .env.example # Ejemplo de variables
├── .gitignore # Archivos ignorados
└── README.md # Esta documentación
```
---
## Despliegue Rápido
### Opción 1: Docker Compose (Recomendado)
```bash
# 1. Clonar repositorio
git clone <repository-url>
cd ai-agent-project
# 2. Configurar variables de entorno
cp .env.example .env
# Editar .env con tus credenciales
# 3. Levantar servicios completos
docker-compose up --build
# 4. Acceder a los servicios
# Frontend: http://localhost:3000
# Backend API: http://localhost:8000/docs
# Sentiment API: http://localhost:8000/api/feeling-analytics/docs
# Legal Chat API: http://localhost:8000/legal/docs
```
### Opción 2: Desarrollo Local
```bash
# Backend
cd backend
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
pip install -r requirements.txt
python main.py
# Frontend (nueva terminal)
cd frontend
npm install
npm run dev
```
### Opción 3: Servicios Independientes
```bash
# Solo análisis de sentimientos
cd backend
python start_services.py feeling
# Solo chat legal
cd backend
python start_services.py legal
# Servicios combinados
cd backend
python start_services.py combined
```
---
## Endpoints de API
### API Principal (`http://localhost:8000`)
- `GET /` - Información del sistema
- `GET /health` - Estado de salud de todos los servicios
- `GET /docs` - Documentación Swagger unificada
### Análisis de Sentimientos (`/api/feeling-analytics/`)
- `POST /analyze` - Análizar audio multichannel
- `GET /records` - Historial de análisis
- `GET /statistics` - Estadísticas generales
- `DELETE /records/{id}` - Eliminar registro
---
## Modelos y Tecnologías IA
### Análisis de Sentimientos
- **Whisper** - Transcripción de audio a texto
- **Empathic Insight** - 40+odelos de análisis emocional
- Emociones: Alegría, Tristeza, Ira, Miedo, etc.
- Métricas: Valencia, Activación, Autenticidad
- Características: Edad, Género, Calidad de grabación
### Procesamiento de Audio
- **Separación de canales estéreo** automática
- **Análisis multichannel** independiente
- **Formatos soportados**: MP3, WAV, M4A, OGG, FLAC
---
Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.
TypeScript
59.0%
CSS
21.1%
Python
15.1%
Shell
2.8%