Deep dive
One Server for Every Model Your Agent Needs: SIE Walkthrough
Most agent stacks end up running one model server for embeddings, another for re-ranking, another for OCR, another for entity extraction — each with its own setup and its own GPU to babysit. Fahd Mirza installs the Superlinked Inference Engine (SIE), an Apache-2.0 project, on an Ubuntu box with a single GPU and demonstrates four different model tasks running through one server and one client, with the model chosen per request and loaded on demand. Swapping from a small English embedding model to a large multilingual one is a one-line change with no restart and no install.
"Run Every AI Model Your Agent Needs From One Open-Source Server (SIE)" by Fahd Mirza — Watch on YouTube →
You either stitch together a fragile pile of single-purpose model services and babysit the GPUs yourself, or you rent everything from managed APIs — paying per token and shipping your data to somebody else's cloud, often several different clouds. SIE is the third option: one engine, on your hardware, serving all of it behind a single API.
Step-by-Step Breakdown
-
Create an isolated environment
He works on an Ubuntu machine with a GPU card and creates a virtual environment with
uv, noting Conda works equally well if you prefer it. The install itself is a singleuvcommand and completes in seconds. -
Start the server — one command, no model downloads
A single command brings the server up on localhost, and it comes up almost instantly. The startup output reports 151 models found in its registry. Crucially, none of them download at this point: models load on demand the first time you actually call one. VRAM consumption immediately after start is effectively zero, which he shows on screen. A readiness check returns
ok. -
Install the client SDK
A separate, deliberately lightweight SDK install. Client scripts then connect to the local SIE server rather than to any hosted endpoint.
-
Call 1 — embeddings via
encodeA short Python script (saved as
embed.py) connects to the local server and sends the text "hello world" to theall-MiniLMembedding model. The result is a 384-dimensional vector. The server logs show the model being downloaded at that moment — first call, first download. This is the piece that powers semantic search and retrieval in an agent. -
Swap models by editing one string
To move from the small English model to a larger multilingual one, he changes the model name from
all-MiniLMtoBGE-M3— a few words on one line. No install, no server restart. Rerunning the script pulls the new model on demand and returns embeddings from it. This is the single most reusable idea in the video: model choice becomes a request parameter rather than a deployment decision. -
Call 2 — re-ranking via
scoreSame client, different method. He passes one question plus two candidate answers — one about machine learning, one about the weather — and the re-ranker scores how well each answers the query and sorts best-first. The machine-learning answer ranks first, the weather one last. The only change from the embedding script is
scoreinstead ofencode. -
Call 3 — entity extraction via
extractSame client again, method
extract. He hands the model a sentence and defines the labels he wants at request time — person and organization — with no training and no fine-tuning. It returns Tim Cook as the person and Apple as the organization. Defining labels per request is what makes this usable as a general agent tool rather than a bespoke trained model. -
Call 4 — text generation via
generate(different backend)Generation runs on a different engine under the hood, so he stops the first server and starts the generation server through Docker. Same model catalog, same SDK, same readiness check — only the backend differs. He calls
generatewith a small open model and a simple prompt; the model downloads, loads onto the GPU, and the run fills a 64-token cap cleanly. GPU load stays at roughly the model's own footprint.
The API Surface in One Table
Four tasks, one client object. This is the whole interface demonstrated in the video — the method changes, the connection does not.
| Method | Task | Shown with | Result in the demo |
|---|---|---|---|
encode | Embeddings | all-MiniLM, then BGE-M3 | 384-dimensional vector |
score | Re-ranking | 1 query + 2 candidate answers | Correct best-first ordering |
extract | Entity extraction | Labels defined at request time | Tim Cook → person, Apple → organization |
generate | Text generation | Small open model, Docker backend | Clean run to a 64-token cap |
Project Facts Stated in the Video
- Licence: Apache 2.0, source on GitHub.
- Traction: over 2,800 GitHub stars at time of recording.
- Model coverage: 100+ models advertised; 151 found in the registry on his install. Categories include encoders, re-rankers, extractors, and text generation.
- Deployment path: starts as a container on your own machine, and the same code scales to a production cluster in your own cloud.
- Managed option: Superlinked also sells the same engine as a hosted cloud service — same models, same code, no GPU management. Everything demonstrated in the video ran on his own hardware from the open-source build.
Gotchas & Caveats
- Generation uses a separate backend. You cannot serve embeddings and text generation from the same running process in this demo — he stops the first server and starts the generation one via Docker. Plan for two services if your agent needs both simultaneously.
- First call pays the download. On-demand loading is what keeps startup instant and idle VRAM at zero, but it moves the cost to the first request for each model. Warm the models you care about before a latency-sensitive workload.
- You still need a GPU. The self-hosted path assumes hardware. The trade this removes is one server per model, not the GPU itself.
- This video is a return visit, not a first look. He notes he covered the project some months earlier and that it is evolving rapidly — check current docs before relying on any specific model name or method signature.
- Vendor-adjacent framing. The managed cloud offering is mentioned several times alongside the open-source build. The demo itself is genuinely self-hosted and the licence is Apache 2.0, but read the cloud pitch as a pitch.
Key Takeaways
- An agent typically needs four different model types; running four separate servers for them is a choice, not a requirement.
- Making the model name a request parameter — swappable in one line with no restart — is the design decision worth copying even if you don't adopt this project.
- On-demand loading means a registry of 151 models costs nothing until called, which makes a broad catalog practical on one box.
- Entity extraction with labels defined at request time removes the fine-tuning step that usually blocks agents from using extraction at all.
- Self-hosting keeps your data on your hardware and off per-token billing — the two costs that usually push agent teams onto managed APIs.





