NovIA es un proyecto de chatbot avanzado que da vida a "Miku", una IA con una personalidad compleja y memoria persistente, 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.
- Doble Motor de IA (Online/Offline): Cambia fácilmente entre un modelo de API de alta calidad (Gemini) o un modelo local (Ollama) con solo modificar una línea en el archivo de configuración.
- Interfaz Avanzada en Terminal (TUI): Construida con Textual, ofrece una experiencia de usuario fluida con paneles, chat desplazable y manejo de eventos asíncronos.
- Memoria Persistente y Dinámica: Miku recuerda usuarios, relaciones pasadas y personas nuevas a través de un archivo
memoria.json. Su estado "sentimental" es dinámico: al cerrar la app, el "novio" actual pasa a ser "exnovio", y puede "reconciliarse" en una nueva sesión. - Personalidad Definida: La personalidad celosa y posesiva de Miku está guiada por un
system promptavanzado, asegurando respuestas coherentes y en personaje. - Reconocimiento Automático: La IA está instruida para identificar nombres de personas en la conversación y guardarlos automáticamente en su memoria de "conocidos".
- Expresiones Visuales: Muestra la emoción de Miku a través de arte ASCII que cambia en tiempo real según el contexto de la conversación.
Sigue estos pasos para poner en marcha el proyecto.
-
Clona o descarga este repositorio.
-
Crea un Entorno Virtual de Python y Actívalo: Se recomienda usar un entorno virtual para instalar las dependencias de forma aislada.
# Ejemplo en macOS/Linux python3 -m venv .venv source .venv/bin/activate
-
Instala las Dependencias: Con el entorno activado, instala todas las librerías necesarias con un solo comando:
python3 -m pip install -r requirements.txt
-
Configura tus Claves de API (Solo para Modo Online):
- Crea un archivo llamado
.enven la raíz del proyecto. - Dentro de este archivo, añade tu clave de la API de Google Gemini:
GEMINI_API_KEY="AIzaSy...tu...clave...secreta...aqui"
- Crea un archivo llamado
-
Configura Ollama (Solo para Modo Offline):
- Descarga e instala Ollama desde ollama.com.
- Abre tu terminal y descarga el modelo de lenguaje:
ollama run phi3.5:3.8b
La principal característica de este proyecto es su flexibilidad. Puedes cambiar el "cerebro" de la IA editando una sola línea en el archivo main.py.
Abre main.py y busca la clase Config al principio.
-
Para usar Ollama (Modo Offline y Gratuito):
- Asegúrate de que la línea esté así:
USE_OLLAMA = True
- Asegúrate de que la línea esté así:
-
Para usar la API de Gemini (Modo Online):
- Cambia la línea a
False:USE_OLLAMA = False
- Cambia la línea a
Con el entorno virtual activado y desde la carpeta del proyecto, ejecuta:
python3 main.py