Introducing the MagmaChat open-source ChatGPT platform from MagmaLabs
I’m excited to announce the open-sourcing of MagmaChat, a new open-source platform for building, hosting, and scaling smart agents that harness the power of Large Language Models (like GPT). MagmaChat development is sponsored by my company MagmaLabs, and is a fully reactive web application implemented using the latest and greatest technology such as Ruby on Rails 7, Turbo, CableReady, StimulusReflex, Marqo, and Tailwind.
Feature List
This is just the 0.1 release and essentially a proof of concept, but we’ve shaken out a lot of showstopper bugs by using it in-house at MagmaLabs, and the current feature list is longer than you might expect for a product that did not exist a few weeks ago.
- Login with Google Oauth
- Create and manage Bots and Conversations
- A conversation is an instance of a chat between a human and a bot
- A bot is an anthropomorphized digital persona/autonomous agent configured in MagmaChat and brought to life using OpenAI’s API for chat completion (aka ChatGPT).
- Bots have short-term and long-term memory capability, and passively make observations about users while chatting with them.
- Bots remember who you are — those that are configured to be friendly will often proactively ask you about prior topics.
- Bots act like humans and do not litter their conversations with “as a language model” disclaimers.
- Conversations feature scrolling context windows, so that you never abruptly run out of tokens while chatting with a bot.
- Automatic titling, summarization and tagging of conversations
- Automatic generation of suggested topics for continuing a conversation
- Ability to make conversations publicly viewable like this
- The text input for chatting can be toggled between single line and grow modes, for maximum usability.
- Sane prompt management abstraction
- Dynamic settings system
- Universal internationalization!
- Slash Commands
Roadmap
We plan to continue adding features (and outside code contributors! hint, hint) to MagmaChat at a rapid pace over the coming months, as we strive to make it the world’s best platform for building GPT-backed apps.
Here are some of the cool features we are envisioning:
- Ability to include more than one human and more than one bot in the same conversation.
- Bot to bot communication and information sharing.
- Bot tools that give them the ability to integrate with the outside world by doing web searches, being able to pull up websites, invoke APIs and communicate via traditional methods like email and Slack messages.
- Bot teams for putting bots to work on tasks together.
- Autonomous agent features: reflection, planning, independent operation, and much more…
- Fine-tuning features for further refining bot behavior beyond zero-,one-, and few shot training.
- Speech-to-text and text-to-speech for more natural interaction with bots.
- Swappable embedding and vector database options for bot memory.
- Fine-grained, web-based management of all settings and user preferences for everything described above.
- Easy exporting of conversations to formats suitable for sharing and printing
Why MagmaChat is a big deal for Rubyists
Most AI-related code is written in Python. If you’re like me, everytime you have to wade through Python code, you have to fight back waves of nausea and repulsion. It’s not so much that most Python code is bad, it’s just that it’s generally worse than Ruby in every way except adoption — a historical accident/injustice that has nothing to do with technical merit. MagmaChat means now Rubyists get to have fun too, without needing to vomit.
Personally, I haven’t been this excited about programming in years, so I encourage you to download the code and give it a spin. — Obie