muGen (pronounced "mew-jen") is a fair-code licensed microframework for prototyping and deploying multimodal/multichannel (MM/MC or 3MC) Generative AI applications. Written in Python, muGen aims to have a simple, lean, and extensible codebase that allows developers to mix and match technologies and vendors—such as LLMs, vector storage, and communication platforms—to get from zero to deployment quickly. Read on for an overview of the framework, or skip ahead to our quick start guide.
A muGen application consists of five layers, ranging from high-level platform interfaces to low-level core modules. These layers help maintain a clean architecture, ensuring that dependencies always point towards lower layers. This approach increases flexibility, testability, and separation of concerns. Note, however, that clients which communicate with pull APIs and extensions which implement API endpoint will decrease "cleanliness".
The platform layer includes communication platforms through which users interact with your application. These platforms can range from instant messaging services like Matrix and WhatsApp (currently supported by muGen core) to custom web applications. As muGen evolves, support for additional platforms will be added. A single muGen instance can handle multiple platforms concurrently, allowing for flexible multi-channel deployment.