Aura Backend - Advanced AI Companion

Un compañero de IA avanzado con inteligencia emocional e integración de base de datos vectorial.

Documentación

Aura Backend - Advanced AI Companion

Python Version FastAPI Vector DB MCP

Compañero de IA sofisticado con base de datos vectorial, inteligencia emocional e integración con el Protocolo de Contexto de Modelo (MCP)

Comportamiento actual de evaluación emocional

Aura ahora distingue interpretaciones tentativas de las emociones del usuario, su propio tono simulado, la abstención deliberada, la salida inválida del modelo y el análisis no disponible. Cada propuesta aceptada incluye citas textuales verificadas y el hash del texto analizado. El análisis fallido permanece Desconocido, incluso en el historial almacenado; ya no se convierte silenciosamente en "Normal". El texto no mide la actividad cerebral ni los niveles químicos del usuario. La interfaz etiqueta los indicadores de Aura como simulaciones derivadas del estado guardado del controlador; una clasificación desconocida no borra esas lecturas.

La evaluación local de humo de Ornith manejó 11 de 12 casos inventados como se esperaba; etiquetó incorrectamente una oración sarcástica ambigua. Su estricta puerta de aceptación, por lo tanto, falló. Este es un límite de validación probado, no evidencia de reconocimiento emocional general confiable. Consulte el informe de implementación y evaluación para conocer el comportamiento exacto, las limitaciones y los comandos de reejecución. Los datos históricos no han sido reescritos.

Dos ADVERTENCIAS y un descargo de responsabilidad

  • Código generado por IA

  • Aura podría ser peligrosa a pesar de mis salvaguardas intentadas de varias maneras, incluyendo pero no limitado a daños a la PC Salud mental y apego del usuario Actividad agéntica emocional

El usuario asume toda la responsabilidad.

alt text

alt text

🌟 Características

🧠 Arquitectura Cognitiva Avanzada

  • Marco ASEKE: Ecosistema de Conocimiento Socioemocional Adaptativo
  • Evaluación Emocional Tentativa con citas textuales verificadas e incertidumbre explícita
  • Seguimiento de Enfoque Cognitivo en diferentes marcos mentales
  • Autorreflexión Adaptativa para la mejora continua
  • 🆕 Extracción de Pensamiento: Razonamiento transparente de IA con análisis de pensamiento y transparencia cognitiva

🗄️ Sistema de Memoria Inteligente

  • Integración de Base de Datos Vectorial con ChromaDB para búsqueda semántica
  • Memoria de Conversación Persistente con recuperación basada en incrustaciones
  • Análisis de Patrones Emocionales a lo largo del tiempo
  • Seguimiento del Estado Cognitivo y análisis de tendencias
  • Memoria MP4 de código QR de MemVid AI Memoria infinita basada en MP4
  • Herramientas internas de organización de memoria guiadas por IA Mover información de sistemas de memoria a corto a largo plazo para evitar cuellos de botella y categorizar chats

🔗 Integración MCP

  • Cliente de Contexto de Modelo Utiliza el mismo formato JSON de configuración MCP que Claude Desktop: ¡Use CUALQUIER herramienta!
  • Servidor de Protocolo de Contexto de Modelo para integración de herramientas externas
  • Comunicación Estandarizada de Agentes de IA siguiendo las especificaciones MCP
  • Compatibilidad con Ecosistema de Herramientas con otros sistemas habilitados para MCP
  • Intercambio de Datos Bidireccional con agentes de IA externos

📊 Analítica Avanzada

  • Análisis de Tendencias Emocionales con métricas de estabilidad
  • Reconocimiento de Patrones Cognitivos y optimización
  • Recomendaciones Personalizadas basadas en el historial de interacción
  • Exportación de Datos en múltiples formatos (JSON, CSV, etc.)

Flujo de Datos

  1. Entrada del Usuario → Frontend → FastAPI
  2. Procesamiento → Búsqueda en BD Vectorial → Recuperación de Contexto
  3. Procesamiento de IA → Proveedor Seleccionado Explícitamente → Generación de Respuesta
  4. Actualizaciones de Estado → Análisis Emocional/Cognitivo → Almacenamiento de Patrones
  5. Almacenamiento de Memoria → BD Vectorial → Aprendizaje Persistente
  6. Acceso Externo → Servidor MCP → Integración de Herramientas

🧠 Transparencia de Pensamiento y Razonamiento de IA

Capacidades de Extracción de Pensamiento

  • Captura de Razonamiento en Tiempo Real: Extraer y analizar los procesos de pensamiento de la IA durante las conversaciones
  • Resumen de Pensamiento: Generación automática de resúmenes de razonamiento para una comprensión rápida
  • Transparencia Cognitiva: Visibilidad completa de cómo Aura aborda los problemas y toma decisiones
  • Métricas de Razonamiento: Analítica detallada sobre patrones de pensamiento, tiempo de procesamiento y carga cognitiva

Configuración de Pensamiento

  • Presupuesto de Pensamiento: Profundidad de razonamiento configurable (1024-32768 tokens)
  • Integración de Respuesta: Inclusión opcional del razonamiento en las respuestas del usuario
  • Análisis de Patrones: Análisis a largo plazo de patrones de razonamiento y desarrollo cognitivo
  • Optimización de Rendimiento: Métricas de eficiencia de pensamiento y recomendaciones de optimización

🎭 Sistema de Inteligencia Emocional

Emociones Simuladas

Los encabezados nombran la tendencia más fuerte en el estado comprometido del controlador de Aura: Calma, Curiosidad, Emoción, Preocupación, Calidez, Contento o Paz. Los eventos de conversación son propuestos por el modelo seleccionado, verificados contra citas textuales exactas y traducidos en cambios de estado acotados y autorizados antes de generar la respuesta. La inferencia de emociones del usuario y el análisis opcional del estilo de respuesta de Aura son registros separados; un análisis de respuesta fallido no puede congelar ni sobrescribir el controlador.

Indicadores Simulados

  • Etiquetas de ondas cerebrales: Alfa, Beta, Gamma, Theta, Delta son bandas de activación; el porcentaje expone cambios dentro de una banda.
  • Canales químicos: Seis lecturas del controlador aparecen en el panel de simulación. El encabezado muestra el canal más grande, que puede permanecer estable mientras otros cambian.
  • El estado persiste con la conversación y decae hacia la línea base entre turnos. Estas son analogías de software, no concentraciones medidas de EEG o químicas. Las evaluaciones del usuario no llevan etiquetas biológicas.

Consulte la reparación de la simulación de conversación para conocer la ruta causal, las verificaciones y las limitaciones.

🧠 Marco Cognitivo ASEKE

Componentes

  • KS (Sustrato de Conocimiento): Contexto conversacional compartido
  • CE (Energía Cognitiva): Esfuerzo mental y asignación de enfoque
  • IS (Estructuras de Información): Ideas y patrones de conceptos
  • KI (Integración de Conocimiento): Procesos de aprendizaje y conexión
  • KP (Propagación de Conocimiento): Mecanismos de intercambio de información
  • ESA (Algoritmos de Estado Emocional): Influencia emocional en el procesamiento
  • SDA (Impulsos Sociobiológicos): Dinámicas sociales y factores de confianza

📊 Analítica e Información

Análisis Emocional

  • Métricas de Estabilidad: Consistencia emocional a lo largo del tiempo
  • Patrones Dominantes: Estados emocionales más frecuentes
  • Análisis de Transición: Cambios de estado emocional y desencadenantes
  • Seguimiento de Intensidad: Distribución de intensidad emocional
  • Correlación de Ondas Cerebrales: Análisis de patrones de actividad neuronal

Seguimiento Cognitivo

  • Patrones de Enfoque: Utilización de componentes ASEKE
  • Eficiencia de Aprendizaje: Tasas de integración de conocimiento
  • Cambio de Contexto: Métricas de flexibilidad cognitiva
  • Asignación de Atención: Distribución de energía cognitiva

🚦 Rendimiento-

Las respuestas tardan algún tiempo en procesarse según las tareas; cualquier programador que quiera ver si puede acelerar los procesos, le estaría agradecido.

Optimización

  • Indexación de base de datos vectorial para búsquedas rápidas
  • Procesamiento asíncrono para solicitudes concurrentes
  • Incrustaciones Locales Sin Costo: Soporte para Ollama y fastembed (BGE/Gemma) para evitar costos de API
  • Procesamiento de tareas en segundo plano con enfoque de submodelo autónomo para actualizaciones de estado y uso de herramientas
  • Adaptador de aprendizaje de herramientas
  • MemVid Memoria infinita con archivo único moderno .mv2

Monitoreo

  • Endpoint de verificación de salud
  • Recolección de métricas de rendimiento
  • Seguimiento y reporte de errores
  • Monitoreo de uso de recursos

¡El Cliente MCP ahora es totalmente funcional!!! Se intentó la integración de Memvid; aún en pruebas.

No soy programador, así que espero que se configure correctamente si alguien lo intenta.

Inicio local compatible

Aura es una aplicación local privada de un solo usuario. No tiene capa de inicio de sesión y se vincula a 127.0.0.1 por defecto. Ejecute estos comandos desde la raíz del repositorio.

Configuración de dependencias única

La configuración es una acción explícita del operador. El comando de inicio y los scripts de envoltura no instalan, sincronizan ni descargan software o modelos.

uv sync --locked

Para habilitar la integración real de archivos de Memvid, instale el extra bloqueado en su lugar:

uv sync --locked --extra memvid

Establezca AURA_MEMVID_ENABLED=true y seleccione MEMVID_EMBEDDING_PROVIDER=ollama con su MEMVID_EMBEDDING_MODEL instalado (por ejemplo, embeddinggemma:latest). Establezca MEMVID_TELEMETRY=0 para deshabilitar la analítica del SDK. Este adaptador utiliza vectores locales precalculados, no la selección implícita de incrustaciones en la nube del SDK.

El almacenamiento de memoria tiene tres roles distintos: SQLite mantiene conversaciones confirmadas; Chroma indexa incrustaciones para búsqueda semántica activa; Memvid mantiene instantáneas de archivo .mv2 independientes con sus propios vectores. En la interfaz, Archivar este chat copia los últimos 100 intercambios y verifica el contenido guardado después de reabrir. No elimina mensajes activos ni importa archivos antiguos de Chroma/video. Los archivos de archivo residen debajo del directorio de registro configurado en memvid/. Las casillas de verificación de búsqueda seleccionan memoria activa, archivos o ambos. Aura también recibe herramientas archive_session y search_archives cuando Memvid se inicia correctamente.

La prueba de humo local real opcional utiliza datos sintéticos temporales y prueba la continuidad del chat, el archivado, la búsqueda y un reinicio de la aplicación:

uv run --locked --no-sync python scripts/verify_local_memory.py

El Modelfile de Aura mantenido es docs/models/ornith-apex/Modelfile.aura. Reconstruya con ollama create aura-ornith:35b -f docs/models/ornith-apex/Modelfile.aura. Solicita un contexto de 131072 tokens y un presupuesto de generación de 8192 tokens; la generación real puede usar un presupuesto de solicitud explícito más pequeño. La asignación de contexto no garantiza una recuperación precisa a plena capacidad. La sonda de recuperación probada localmente usó 30000 tokens de entrada. AURA_HISTORY_MAX_CHARS es un presupuesto de historial de aplicación separado en caracteres, no tokens; manténgalo por debajo de la capacidad del modelo.

npm ci

Copie .env.example a .env solo si desea personalizar los valores predeterminados locales. El ejemplo selecciona Ollama y no contiene credenciales. Gemini y OpenRouter son proveedores de nube opcionales y requieren una selección de proveedor explícita más la credencial correspondiente en su entorno privado.

Verificación previa, luego servir

Para uso normal, ejecute el comando serve a continuación; ejecuta la verificación previa automáticamente. En Linux, el lanzador existente es el equivalente más corto: ./start_full_system.sh. Ambos comandos cargan el .env de este repositorio sin banderas adicionales. Las variables de shell exportadas tienen prioridad. AURA_MODEL funciona con cualquier proveedor seleccionado; OPENROUTER_MODEL o OLLAMA_MODEL, cuando se establecen, tienen prioridad sobre él. Seleccionar OpenRouter no requiere un modelo de chat local de Ollama.

La búsqueda de memoria activa utiliza AURA_EMBEDDING_PROVIDER y AURA_EMBEDDING_MODEL. El valor predeterminado de compatibilidad es sentence_transformers / all-MiniLM-L6-v2. Para incrustaciones locales de Ollama, seleccione ollama / embeddinggemma:latest; AURA_EMBEDDING_BASE_URL opcionalmente anula OLLAMA_BASE_URL para incrustaciones. La configuración separada de MEMVID_EMBEDDING_* se aplica solo a archivos opcionales. Cambiar el modelo de incrustación activo construye y verifica un nuevo índice derivado en el primer uso antes de cambiar; la generación anterior y los registros de SQLite se conservan. Las solicitudes de incrustación fallidas dejan la reconstrucción incompleta en lugar de cambiar a un índice inválido. Esto puede hacer que la primera operación de memoria sea más lenta.

La continuidad de la conversación utiliza intercambios confirmados del mismo usuario/sesión, no solo un identificador de sesión del proveedor. Conserva hasta 100 intercambios recientes dentro de AURA_HISTORY_MAX_CHARS (predeterminado 24000 caracteres, no tokens). Aumente esto solo junto con una asignación de contexto de modelo verificada. El historial de chat utiliza ID de sesión reales y títulos estables de primer mensaje; sus solicitudes de lista están limitadas a 100. El inicio inicializa y abre el registro seleccionado antes de informar que está listo. AURA_CLEAN_INSTALL=true selecciona la nueva ruta de lectura respaldada por SQLite sin importar almacenes heredados. Chroma sigue siendo el índice semántico derivado; Memvid es una integración de archivo opcional separada, no un requisito previo para el chat.

uv run --locked --no-sync python -m aura_backend.runtime preflight

Preflight es solo de informe. Comprueba Python, uv, Node, npm, ambos contratos de bloqueo, la configuración del proveedor, el puerto seleccionado y las rutas de almacenamiento, el servicio de proveedor seleccionado y el modelo seleccionado, y la preparación de la aplicación. Las filas de proveedores son una verificación de proveedor en vivo limitada; no forman parte del conjunto de pruebas fuera de línea. Preflight nunca instala dependencias, descarga un modelo, crea almacenamiento, cambia permisos, mata otro proceso o inicia Aura.

El estado JSON es uno de pass (salida 0), missing (2), failed (3), blocked (4), not_run (5) o not_applicable (6). Solo un pass completo autoriza el inicio. Otros resultados nombran un código de remediación seguro; realice cualquier reparación explícitamente y vuelva a ejecutar preflight en lugar de tratar una verificación bloqueada como preparación.

uv run --locked --no-sync python -m aura_backend.runtime serve

serve ejecuta preflight primero, inicia solo los procesos secundarios locales solicitados, espera la respuesta /ready del backend y devuelve un estado distinto de cero si el inicio o un proceso secundario falla. Ctrl+C/SIGTERM limpia solo los procesos y las sesiones de proveedor locales propiedad de esta invocación. La cancelación no puede garantizar la detención de la computación remota o la facturación en un proveedor de nube.

Los lanzadores multiplataforma son delegados delgados a estos mismos comandos: ./start_full_system.sh y start_full_system.bat ejecutan el servicio completo; ./aura_backend/start_api.sh y ./aura_backend/start_frontend.sh seleccionan un lado. ./aura_backend/start_mcp.sh es un delegado MCP opcional separado y no forma parte de la preparación normal de Aura.

Para uso privado normal, mantenga el valor predeterminado de loopback. Pasar un --host que no sea loopback es una exposición explícita a la LAN; el tiempo de ejecución advierte que Aura no tiene inicio de sesión. No exponga Aura directamente a Internet.

Una vez que serve informa preparación, la interfaz de usuario local está en http://localhost:5173, la API en http://localhost:8000 y la documentación de la API en http://localhost:8000/docs. Los resultados bloqueados por entorno y de proveedor en vivo son evidencia solo sobre esa máquina, no prueba de que cada proveedor o modelo funcione.

Para el procesamiento en segundo plano actual, el comportamiento de memoria, los cambios de configuración y la verificación, consulte Trabajo autonómico y memoria.

alt text

📡 Puntos finales de API

API principal

  • Verificación de salud: GET /health
  • Procesar conversación: POST /conversation
  • Buscar recuerdos: POST /search
  • Análisis emocional: GET /emotional-analysis/{user_id}
  • Exportar datos: POST /export/{user_id}

Documentación de API

Visite http://localhost:8000/docs para la documentación interactiva de la API.

🔗 Integración MCP

Herramientas MCP disponibles- Trabajando en registros de estado emocional, con suerte arreglado mañana

  1. search_aura_memories: Búsqueda semántica en el historial de conversaciones
  2. analyze_aura_emotional_patterns: Análisis profundo de tendencias emocionales
  3. store_aura_conversation: Agregar recuerdos a la base de conocimiento de Aura
  4. get_aura_user_profile: Recuperar datos de personalización del usuario
  5. export_aura_user_data: Funcionalidad de exportación de datos
  6. query_aura_emotional_states: Información sobre el sistema de inteligencia emocional
  7. query_aura_aseke_framework: Detalles de la arquitectura cognitiva ASEKE

Conexión de herramientas externas

Para conectar clientes MCP externos a Aura:

Ejemplo de configuración de cliente MCP- para Claude u otros clientes para hablar con Aura o usar como sistema.

Edite la ruta de su directorio y colóquela en el json de configuración de claude desktop.

{
  "mcpServers": {
    "aura-companion": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/ty/Repositories/ai_workspace/emotion_ai/aura_backend",
        "run",
        "aura_server.py"
      ]
    }
  }
}

🏗️ Arquitectura

Componentes del sistema

┌─────────────────────────────────────────────────┐
│                  Frontend                       │
│              (React/TypeScript)                 │
└─────────────────┬───────────────────────────────┘
                  │ HTTP/WebSocket
┌─────────────────▼───────────────────────────────┐
│                FastAPI                          │
│             (REST API Layer)                    │
├─────────────────┬───────────────────────────────┤
│                 │                               │
│  ┌──────────────▼─────────────┐                │
│  │     Vector Database        │                │
│  │       (ChromaDB)           │                │
│  │                            │                │
│  │ • Conversation Memory      │                │
│  │ • Emotional Patterns       │                │
│  │ • Cognitive States         │                │
│  │ • Knowledge Substrate      │                │
│  └────────────────────────────┘                │
│                                                 │
│  ┌────────────────────────────┐                │
│  │     State Manager          │                │
│  │                            │                │
│  │ • Emotional Transitions    │                │
│  │ • Cognitive Focus Changes  │                │
│  │ • Automated DB Operations  │                │
│  │ • Pattern Recognition      │                │
│  └────────────────────────────┘                │
│                                                 │
│  ┌────────────────────────────┐                │
│  │     File System            │                │
│  │                            │                │
│  │ • User Profiles            │                │
│  │ • Data Exports             │                │
│  │ • Session Storage          │                │
│  │ • Backup Management        │                │
│  └────────────────────────────┘                │
└─────────────────┬───────────────────────────────┘
                  │ MCP Protocol
┌─────────────────▼───────────────────────────────┐
│              MCP Server                         │
│         (External Tool Access)                 │
│                                                 │
│ • Memory Search Tools                           │
│ • Emotional Analysis Tools                      │
│ • Data Export Tools                             │
│ • ASEKE Framework Access                        │
└─────────────────────────────────────────────────┘

🧪 Pruebas

Verificación de salud (funcionando)

curl http://localhost:8000/health

Pruebas de funcionalidad de pensamiento (¡Nuevo!)

# Test thinking extraction capabilities
cd aura_backend
python test_thinking.py

# Interactive thinking demonstration
python thinking_demo.py

# Check thinking system status
curl http://localhost:8000/thinking-status

Pruebas unitarias

pytest tests/

Pruebas de integración

./test_setup.py

Pruebas de carga

# Example using wrk
wrk -t12 -c400 -d30s http://localhost:8000/health

Desarrollo local

Me disculpo por el desorden, no sé si algo de esto funciona a continuación, pero siéntase libre de intentarlo si es valiente o sabe lo que está haciendo.

Producción (Docker)

# Build image
docker build -t aura-backend .

# Run container
docker run -p 8000:8000 -v ./aura_data:/app/aura_data aura-backend

Servicio Systemd

# Copy service file
sudo cp aura-backend.service /etc/systemd/system/

# Enable and start
sudo systemctl enable aura-backend
sudo systemctl start aura-backend

🤝 Integración con el frontend

Puntos finales de API para actualizar

Actualice su frontend para usar estos puntos finales:

const API_BASE = "http://localhost:8000";

// Replace localStorage with API calls
const response = await fetch(`${API_BASE}/conversation`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    user_id: userId,
    message: userMessage,
    session_id: sessionId,
  }),
});

Soporte WebSocket (Futuro)

Las actualizaciones en tiempo real y las respuestas en streaming estarán disponibles a través de conexiones WebSocket.

📚 Uso avanzado

Herramientas MCP personalizadas

Cree herramientas MCP personalizadas extendiendo el mcp_server.py:

@tool
async def custom_aura_tool(params: CustomParams) -> Dict[str, Any]:
    """Your custom tool implementation"""
    # Implementation here
    pass

Consultas de base de datos vectorial

Acceso directo a la base de datos vectorial para consultas avanzadas:

from main import vector_db
results = await vector_db.search_conversations(
    query="emotional support",
    user_id="user123",
    n_results=10
)

alt text

🐛 Solución de problemas

Use los códigos de remediación seguros en la guía de inicio. Aura nunca mata un proceso desconocido, elimina una base de datos, imprime una credencial o reconstruye un entorno como parte de la solución de problemas. El diagnóstico y la reparación del almacenamiento siguen siendo trabajo con preservación; haga una copia de seguridad verificada antes de cualquier cambio manual.

Registros

Consulte los registros en:

  • Salida de consola durante el desarrollo
  • Registros del sistema: journalctl -u aura-backend (si usa systemd)
  • Registros de la aplicación: ./aura_data/logs/

🔒 Seguridad- ¡ADVERTENCIA! Generado por IA, así que no confío en estas funciones

Protección de datos

  • Todos los datos del usuario se almacenan localmente
  • Ollama local mantiene el tráfico del modelo local; los proveedores de nube seleccionados explícitamente transmiten solicitudes bajo sus propios términos
  • Los embeddings y archivos permanecen como datos locales y pueden retener información sensible
  • La conexión HTTP local predeterminada no está cifrada

Control de acceso

  • Sin inicio de sesión ni autenticación de API; mantenga el límite de loopback predeterminado
  • Limitación de velocidad habilitada
  • Configuración CORS
  • Validación y saneamiento de entrada

🛣️ Hoja de ruta

Funciones próximas

  • Conexiones WebSocket en tiempo real
  • Modelos avanzados de predicción de emociones
  • Funciones de colaboración multiusuario
  • Ecosistema mejorado de herramientas MCP
  • Soporte de backend para aplicaciones móviles
  • Panel de análisis avanzado
  • Integración con modelos de IA externos

Visión a largo plazo

  • Interacción multimodal (voz, video, texto)
  • Aprendizaje federado entre instancias de Aura
  • Adaptación avanzada de personalidad
  • Opciones de implementación empresarial
  • Ecosistema comunitario de código abierto

📄 Licencia

Mis cosas son MIT supongo, pero hay otro software como google-genai y memvid, así que es una mezcla creo es decir, no robes mis ideas e intentes ganar dinero sin mí. jaja pero soy súper pobre.

🤝 Contribuciones

¡Contribuciones bienvenidas! Por favor, lea nuestras pautas de contribución y envíe solicitudes de extracción para revisión.

📞 Soporte

Para problemas y soporte:

  1. Consulte la sección de solución de problemas
  2. Revise los registros y mensajes de error
  3. Cree informes de problemas detallados
  4. Únase a las discusiones de la comunidad

Aura Emotion AI - Potenciando el futuro de la compañía y asistencia de IA a través de sistemas avanzados de inteligencia emocional y sofisticados sistemas de memoria.