I took a brief hiatus from the XLM (Cross-Language Model) framework github project to launch a crypto project (more on that later). But now I am back to improving the XLM framework and this time I will add SLM support.
What is an SLM?
A small language model is the same type of Generative Pre-Trained Transformer (GPT) model (aka a neural network optimized for pattern generation) as the Large Language Models (LLMs) like ChatGPT, Gemini, Grok and Claude just run with a much smaller set of artificial neurons. The major difference is that instead of paying on a per-token basis to one of those big companies, you can run an SLM on your local computer using tools like ollama or lmstudio.
Current State of the XLM Framework
As depicted in Figure 1, the Current XLM framework implements basic chat, basic vector database support and embedding support via a set of "Providers". There is also two simple interfaces - a command line interface and a simple python based UI as depicted below.
Why Integrate an SLM into the Framework?
The first and most obvious reason is that when you are developing new applications (possibly with vibe coding), you may have to contact an LLM many times (maybe even hundreds or thousands of times) and you certainly don't want to pay for that just to experiment on a vibe coded application (that may or may not see the light of day)! So, the first reason is to save money.
Another reason to integrate an SLM into the XLM framework is to be able to quickly and easily compare the outputs of small language models versus large language models (or multi-modal models) in order to test the differences in quality and accuracy of the responses. So, the plan is to allow a simple toggle or drop-down on the UI to flip back and forth between various providers that have been configure in the server. That type of flexibility will be very useful! I will keep you posted on my progress... more soon!
My Corner of the Web