NovIA es un proyecto de chatbot avanzado que da vida a "Miku", una IA con una personalidad compleja y memoria persistente real, todo dentro de una moderna interfaz de terminal. La aplicación es altamente configurable y puede operar en dos modos: Online, utilizando la potencia de una API como la de Gemini, u Offline, ejecutando un modelo de lenguaje localmente a través de Ollama.
- 🧠 Memoria Persistente Real (RAG Básico): Miku ahora tiene una memoria episódica real. Guarda cada interacción en
historial.jsony es capaz de buscar y recordar conversaciones pasadas para dar respuestas más contextuales. - 🏗️ Arquitectura Modular: El código ha sido refactorizado profesionalmente en módulos (
brain.py,memory.py,config.py,main.py) para facilitar el mantenimiento y la escalabilidad. - 💾 Sistema de Perfiles Estructurados: Mantiene un archivo
memoria.jsonseparado para recordar datos clave de las personas (gustos, disgustos, hechos) y su relación contigo (Novio, Exnovio, Conocido).
- Doble Motor de IA (Online/Offline): Cambia fácilmente entre Gemini (Online) u Ollama (Local) desde
config.py. - Interfaz Avanzada (TUI): Construida con Textual, ofrece paneles, scroll y una experiencia fluida.
- Personalidad "Yandere": Miku es celosa, posesiva y sarcástica. Su personalidad es consistente gracias a un System Prompt avanzado.
- Expresiones Visuales: Panel de arte ASCII que reacciona a las emociones de la IA en tiempo real.
-
Clona el repositorio y entra en la carpeta:
git clone https://github.com/RichyKunBv/NovIA cd Proyecto_Miku -
Crea un Entorno Virtual (Recomendado):
python3 -m venv .venv source .venv/bin/activate # En Windows: .venv\Scripts\activate
-
Instala las Dependencias:
pip install -r requirements.txt
-
Configuración (Archivo
config.py): El proyecto ya no requiere editarmain.py. Todo se controla desdeconfig.py.-
Modo Online (Gemini):
- Crea un archivo
.envy añade tu clave:GEMINI_API_KEY="tu_api_key_aqui". - En
config.py, aseguraUSE_OLLAMA = False.
- Crea un archivo
-
Modo Offline (Ollama):
- Instala Ollama.
- Descarga el modelo:
ollama run phi3.5:3.8b(o el que prefieras). - En
config.py, ponUSE_OLLAMA = Truey ajustaMODEL_OLLAMAsi usas otro modelo.
-
Simplemente corre:
python3 main.pymain.py: Interfaz gráfica (TUI) y bucle principal.brain.py: Lógica de la IA, llamadas a la API y generación de prompts.memory.py: Gestión de la memoria (Carga/Guardado de JSON y RAG).config.py: Configuración centralizada.memoria.json: Base de datos de perfiles y hechos.historial.json: Base de datos de conversaciones (Memoria Episódica).