SINTESIS / README.md
Lukeetah's picture
Update README.md
b267983 verified
---
title: SINTESIS
sdk: gradio
emoji: 🐨
colorFrom: green
colorTo: blue
pinned: false
sdk_version: 5.34.2
---
# 🧠 Plataforma de Inteligencia Colectiva Aumentada
Esta plataforma implementa un sistema de inteligencia colectiva aumentada con perfilamiento cognitivo basado en el modelo DISC de "Surrounded by Idiots" y un motor de síntesis colectiva.
## ✨ Características Principales
### 🎯 Sistema DISC
- **Perfilamiento cognitivo**: 12 preguntas psicométricas basadas en el libro "Surrounded by Idiots"
- **Embeddings semánticos**: Utiliza all-MiniLM-L6-v2 para mapeo a vector DISC
- **Visualización interactiva**: Gráfico de radar para mostrar el perfil psicométrico
### 🤖 Motor de Síntesis Colectiva
- **Análisis contextual**: Extracción de conceptos clave usando Groq (Llama 3 70B)
- **Síntesis multi-perspectiva**: Análisis desde las 4 perspectivas DISC (D/I/S/C)
- **Principios universales**: Generación de insights aplicables a todos los perfiles
- **Grafo de conocimiento**: Actualización dinámica con NetworkX
### 💾 Persistencia Adaptativa
- **SQLite local**: Almacenamiento eficiente en base de datos local
- **Sincronización**: Opcional con Hugging Face Hub para respaldo en la nube
- **Caché de embeddings**: Optimización de rendimiento para consultas repetidas
### 🎨 Interfaz Gradio
- **Tabs organizados**: Perfilamiento, contribución colectiva y visualización de grafo
- **Visualización con Plotly**: Gráficos interactivos del grafo de conocimiento
- **Diseño adaptable**: Interfaz que se adapta según el perfil DISC del usuario
## 🚀 Instalación
```bash
# Clonar el repositorio
git clone <tu-repositorio>
cd collective-intelligence-platform
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar la aplicación
python app.py
```
## ⚙️ Variables de Entorno
Configura las siguientes variables de entorno antes de ejecutar:
```bash
# Obligatorio para análisis con LLM
export GROQ_API_KEY="tu_clave_groq_api"
# Opcional para sincronización con Hugging Face
export HF_TOKEN="tu_token_hf"
export HF_REPO_ID="tu_usuario/tu_repositorio"
# Configuración de base de datos
export DB_PATH="collective_intelligence.db"
export SYNC_TO_HF="true" # o "false"
```
## 🐳 Despliegue en Hugging Face Spaces
### 1. Crear un nuevo Space
1. Ve a [Hugging Face Spaces](https://huggingface.co/spaces)
2. Crea un nuevo Space con SDK: Docker
3. Configura las variables de entorno en Settings
### 2. Variables de entorno requeridas
En la configuración del Space, añade:
- `GROQ_API_KEY`: Tu clave API de Groq
- `HF_TOKEN`: Token de Hugging Face (opcional)
- `HF_REPO_ID`: ID del repositorio para sincronización (opcional)
### 3. Subir archivos
Sube todos los archivos del proyecto a tu Space:
- `app.py`
- `requirements.txt`
- `Dockerfile`
- `README.md`
## 📖 Uso de la Plataforma
### 1. Perfilamiento DISC
1. **Accede al tab "Perfilamiento DISC"**
2. **Completa las 12 preguntas** basadas en situaciones reales
3. **Obtén tu perfil** con visualización y descripción detallada
### 2. Contribución Colectiva
1. **Accede al tab "Contribución Colectiva"**
2. **Escribe tu contribución** (ideas, reflexiones, conocimientos)
3. **Recibe análisis automático**:
- Conceptos clave extraídos
- Síntesis desde 4 perspectivas DISC
- Principios universales generados
### 3. Grafo de Conocimiento
1. **Visualiza el grafo** de conocimiento colectivo
2. **Explora conexiones** entre usuarios, contribuciones y conceptos
3. **Actualiza en tiempo real** conforme se añaden contribuciones
## 🏗️ Arquitectura del Sistema
### Componentes Principales
1. **DISCProfiler**: Gestión del perfilamiento psicométrico
2. **CollectiveIntelligenceEngine**: Motor de análisis con LLM
3. **KnowledgeGraph**: Gestión del grafo con NetworkX
4. **DatabaseManager**: Persistencia con SQLite
5. **GradioInterface**: Interfaz de usuario
### Flujo de Datos
```
Usuario → DISC Profile → Contribución → Análisis LLM → Grafo → Visualización
Base de Datos ← → Hugging Face Hub
```
## 🔧 Desarrollo y Personalización
### Modificar preguntas DISC
Edita la variable `DISC_QUESTIONS` en `app.py` para personalizar las preguntas del assessment.
### Cambiar modelo de embeddings
Modifica la inicialización de `SentenceTransformer` para usar un modelo diferente:
```python
self.model = SentenceTransformer('tu-modelo-preferido')
```
### Personalizar visualizaciones
Las funciones de visualización están en la clase `GradioInterface` y pueden modificarse para cambiar colores, estilos y layouts.
## 📊 Modelos y Tecnologías
- **LLM**: Groq Llama 3 70B para análisis y síntesis
- **Embeddings**: all-MiniLM-L6-v2 para similitud semántica
- **Grafos**: NetworkX para modelado de conocimiento
- **Visualización**: Plotly para gráficos interactivos
- **UI**: Gradio para interfaz web intuitiva
- **Base de datos**: SQLite para persistencia local
## 🤝 Contribución
1. Fork el proyecto
2. Crea una rama para tu feature (`git checkout -b feature/AmazingFeature`)
3. Commit tus cambios (`git commit -m 'Add some AmazingFeature'`)
4. Push a la rama (`git push origin feature/AmazingFeature`)
5. Abre un Pull Request
## 📄 Licencia
Este proyecto está bajo la Licencia MIT - ver el archivo [LICENSE](LICENSE) para detalles.
## 🙏 Agradecimientos
- Thomas Erikson por el modelo DISC en "Surrounded by Idiots"
- Groq por la infraestructura de LLM ultrarrápida
- Hugging Face por la plataforma y modelos
- La comunidad open source por las herramientas utilizadas
---
**Construido con ❤️ para potenciar la inteligencia colectiva**