The GlaDOS project is an ambitious endeavor to bring the iconic AI character GLaDOS from the Portal series to life. Combining hardware and software, this project aims to create an interactive, aware, and embodied version of GLaDOS that can respond to voice interactions with minimal latency (under 600ms).
Key Features:
- Voice Generation: Training a GLaDOS-specific voice generator for authentic interactions.
- Personality Core: Developing a realistic AI personality through carefully crafted prompts.
- Memory System: Implementing medium- and long-term memory using a custom vector database.
- Vision Capabilities: Integrating a Vision Language Model (VLM) for object and person tracking.
- 3D-Printable Parts: Providing STL files for constructing GLaDOS's physical body.
- Animatronics: Designing servo- and stepper-motor-based animations for expressive movements.
Technical Approach:
The system employs a circular buffer for continuous voice recording, quick transcription, and streaming responses via a local Large Language Model (LLM). Sentences are generated and played in parallel to reduce latency. The project emphasizes minimal dependencies, avoiding heavy frameworks like PyTorch to ensure compatibility with constrained hardware.
Setup and Usage:
- Install Ollama to run the LLM locally or connect to cloud-based alternatives.
- Configure Hardware: Nvidia GPU users should install CUDA for optimal performance.
- Download Models: Pre-trained models like
llama3.2
can be pulled via Ollama. - Customization: Edit
glados_config.yaml
to switch models, voices, or adjust personality prompts. - Run GLaDOS: Launch the system with
uv run glados
or explore the Text UI for advanced interactions.
Challenges and Solutions:
- Voice Loop Prevention: Use headphones or conference-style microphones to avoid feedback loops, or disable voice interruption in the config.
- Hardware Constraints: Optimized for low-latency responses on devices like the RK3588 NPU system (experimental support in the
rock5b
branch).
Community and Development:
Active development is ongoing, with support available via Discord. The project encourages contributions, especially in refining the AI models, animatronics, and 3D designs. Note: This is a complex project best suited for experienced developers and hardware tinkerers.
Try it out: Clone the repo, follow the setup guide, and start interacting with your own GLaDOS!