# 🤖 Proyecto IA - Asistente Personal "Asistente Pablo"
# 🤖 AI Chat Platform - "Kairon"
**Asistente personal de IA completamente offline y privado**
---
## 🚀 Descripción
## Descripción
Este proyecto implementa un **asistente personal basado en IA** totalmente offline, integrado en una aplicación Spring Boot. Utiliza un modelo de lenguaje local (`llama.cpp` / `llama-java`) para ofrecer respuestas naturales, útiles y personalizadas, con un diseño centrado en la arquitectura limpia y extensible.
**Kairon** es una aplicación de chat con inteligencia artificial que funciona completamente offline. Utiliza un modelo
de lenguaje local para generar respuestas naturales y contextuales, manteniendo todas las conversaciones en tu
dispositivo sin enviar datos a servicios externos.
El asistente está pensado para entender tus gustos, estilo y necesidades, respondiendo siempre en español con un tono cercano y amigable.

---
## 🧩 Características principales
- 🧠 Modelo LLM local (`openchat-3.5-0106.Q4_K_M.gguf`) ejecutado en CPU o GPU (Metal en Macs M1/M2).
- 🏗️ Arquitectura limpia basada en capas: dominio, aplicación, infraestructura y presentación.
- 📜 Historial de conversación gestionado en sesión HTTP (con opción a persistencia futura).
- 📝 Construcción dinámica de prompts a partir de definiciones JSON estructuradas y multilingües.
- 🌐 API REST para interacción con el asistente.
- 💻 Frontend con Thymeleaf para una interfaz web simple y eficaz.
- 📊 Logging avanzado con Log4j2, con logs a consola y fichero.
- 🔄 Extensible para múltiples perfiles de prompt y configuración personalizada.
La aplicación está construida con una arquitectura hexagonal moderna, separando claramente las responsabilidades entre
el frontend (Vue.js), el backend (Spring Boot) y el motor de IA (Llama). Esto permite un código mantenible, escalable y
fácil de extender.
---
## ⚙️ Requisitos técnicos
## Características
- 💬 **Chat inteligente** - Conversaciones naturales con memoria de contexto
- 🔒 **100% Privado** - Todas las conversaciones permanecen en tu dispositivo
- 🌐 **Funciona offline** - No requiere conexión a internet
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.