Configuración
De cero a un ecosistema Yggdrasil funcional en minutos. Necesitas Python 3.10+, LM Studio y un token de bot de Telegram.
Requisitos Previos
| Requisito | Detalles |
|---|---|
| Python 3.10+ | Probado en Python 3.10 y 3.11. Soporte para Windows, Linux y WSL. |
| LM Studio | Descarga desde lmstudio.ai. Gratis. Ejecuta modelos localmente. |
| Token de Bot de Telegram | Crea un bot vía @BotFather. Mantén el token en secreto. |
| Hardware | Mínimo 16GB RAM. Se recomiendan 32GB+. GPU NVIDIA opcional pero muy útil. |
Instalación
1. Clonar el repositorio
$ git clone https://github.com/BrierAinz/Yggdrasil.git
$ cd Yggdrasil
2. Configurar el entorno
Copia el archivo de entorno de ejemplo y rellena con tus valores.
$ cp Asgard/Lilith/.env.example Asgard/Lilith/.env
$ notepad Asgard/Lilith/.env # Windows
$ nano Asgard/Lilith/.env # Linux/WSL
Tu .env debería verse así:
LM_STUDIO_URL=http://localhost:1234/v1
MODEL=auto
TELEGRAM_BOT_TOKEN=tu_token...aqui
TELEGRAM_OWNER_CHAT_ID=tu_chat_id_de_telegram
LILITH_PATH=D:\Proyectos\Yggdrasil\Asgard\Lilith
LILITH_BASE_DIR=D:\Proyectos\Yggdrasil
LOG_LEVEL=INFO
DEVICE=cuda
3. Iniciar LM Studio
Abre LM Studio, carga un modelo (recomendado: más de 13B parámetros) e inicia el servidor local en el puerto 1234. Ajusta la API para que sea "OpenAI-compatible".
4. Lanzar Yggdrasil
ᛏ Lanzador Unificado
En Windows, usa el lanzador unificado:
$ start_lilith.batEsto inicia el Gateway (puerto 8000) y el Bot de Telegram en una sola consola.
O lánzalo manualmente:
# Terminal 1 - Gateway
$ cd Asgard/lilith-orchestrator/gateway
$ uvicorn gateway:app --host 0.0.0.0 --port 8000
# Terminal 2 - Bot de Telegram
$ cd Vanaheim/Bots_Lilith_v5/telegram
$ python bot.py
5. Verificar
Envía /start a tu bot en Telegram. Si recibes un mensaje de bienvenida, todo está conectado.
Ejecutando Pruebas
$ pytest
$ pytest -v # modo verboso
$ pytest -k memory # filtrar por palabra clave
Hay hooks de pre-commit configurados para el formateo de código:
$ pre-commit install
$ pre-commit run --all-files
Solución de Problemas
Conexión rechazada en el Gateway
Asegúrate de que el Gateway esté ejecutándose en el puerto 8000 antes de iniciar el bot de Telegram. Revisa las reglas del firewall si lo ejecutas en una máquina remota.
LM Studio no responde
Verifica que el servidor local esté activado en LM Studio y el modelo esté cargado. La URL predeterminada es http://localhost:1234/v1.
El bot no responde
Comprueba que TELEGRAM_BOT_TOKEN y TELEGRAM_OWNER_CHAT_ID son correctos. El bot solo responde a su creador.
Errores de memoria al importar
sentence-transformers y PyTorch son pesados. Instálalos con --no-deps si ya los tienes, o utiliza un entorno virtual.