Skip to content
Why did we open-source our inference engine? Read the post

Bundles

Python ML libraries often have conflicting dependency requirements. Models using trust_remote_code=True or specialized backends can pin incompatible versions of transformers, torch, or sglang. SIE solves this with bundles: each bundle is a self-contained environment with compatible dependencies, built into its own Docker image.

Each bundle is a YAML file under packages/sie_server/bundles/ that lists the adapters it enables and the pinned dependency versions needed by those adapters. At build time, the Dockerfile selects one bundle via the BUNDLE build arg and installs only that bundle’s deps.


Three bundles are published to GHCR today: default, sglang, and transformers5. The default bundle covers every model unless it needs the SGLang runtime or transformers>=5.

BundlePurposeKey Models
defaultEverything that runs on standard transformers + Flash AttentionBGE-M3, E5, Stella, Qwen3, GritLM, NV-Embed, gte-Qwen2-7B, llama-embed-nemotron-8b, ColBERT, ColPali, ColQwen2, GLiNER, GLiREL, GLiClass, Florence-2, Donut, CLIP, SigLIP, Grounding DINO, OwlV2, SPLADE, and more
sglangText generation served through the SGLang runtimeQwen3.x generation family, granite-guardian-3.0-2b, sqlcoder-7b-2
transformers5Adapters that require transformers>=5LightOnOCR, GLM-OCR, GLiNER2 classification, sparse vision documents

The previous gliner and florence2 bundles no longer exist; their adapters and dependencies were folded into default once the underlying version conflicts were resolved.

The repo’s bundles/ directory holds eight bundle YAML files in total. Of the rest, sglang-embedding (large LLM embeddings) and sglang-vision-extract run on the published sglang image via a bundles.<name>.imageBundle override in the Helm chart, while candle and gemma are separate local builds. This page covers the published subset.


The default bundle is the broad, general-purpose image. It bundles the standard transformers, sentence-transformers, Flash Attention, and the NER/vision adapters.

Included adapter families:

  • Dense encoders: BERT (flash), ModernBERT (flash), BGE-M3, Qwen2, XLM-RoBERTa, Nomic, GTE, Stella, sentence-transformers, PyTorch embedding
  • Cross-encoders / rerankers: BERT, ModernBERT, Qwen2, Jina (flash), NLI classification
  • Multi-vector / late-interaction: ColBERT, ColBERT + ModernBERT, ColBERT + rotary, ColPali, ColQwen2, NeMo ColEmbed
  • Sparse: SPLADE (flash), GTE sparse (flash)
  • Vision and vision-language: CLIP, SigLIP, Grounding DINO, OwlV2, Florence-2, Donut
  • Zero-shot NER / extraction: GLiNER, GLiREL, GLiClass

The SGLang generation bundle. It enables the SGLang generation adapter with pinned SGLang, grammar-backend, and kernel dependencies for serving text-generation models.

A companion bundle wired to the SGLang embedding adapter for large LLM embeddings (4B+ params). It shares the sglang dependency stack; the split exists for worker pool isolation.

Included models:

  • Qwen/Qwen3-Embedding-4B
  • intfloat/e5-mistral-7b-instruct
  • Linq-AI-Research/Linq-Embed-Mistral
  • Salesforce/SFR-Embedding-Mistral, Salesforce/SFR-Embedding-2_R

Published to GHCR for adapters that require transformers>=5. It covers LightOnOCR and GLM-OCR document parsing, GLiNER2 classification, and the sparse vision (multimodal SparseEncoder) adapter.


All three published bundles (default, sglang, transformers5) ship for both cpu and cuda12 platforms. The image tag format is {version}-{platform}-{bundle}, with a floating latest-{platform}-{bundle} tag that tracks the most recent release.

# Default bundle (CPU)
docker run -p 8080:8080 ghcr.io/superlinked/sie-server:latest-cpu-default
# Default bundle (CUDA 12, recommended for GPU)
docker run --gpus all -p 8080:8080 ghcr.io/superlinked/sie-server:latest-cuda12-default
# SGLang bundle (CUDA 12)
docker run --gpus all -p 8080:8080 ghcr.io/superlinked/sie-server:latest-cuda12-sglang
# Transformers 5 bundle (CUDA 12)
docker run --gpus all -p 8080:8080 ghcr.io/superlinked/sie-server:latest-cuda12-transformers5
# Pin to a specific release
docker run --gpus all -p 8080:8080 ghcr.io/superlinked/sie-server:v0.2.0-cuda12-default

Choose a bundle based on the models you need:

  1. Start with default. It covers dense, sparse, multi-vector, cross-encoder, vision, and extraction models, which is the overwhelming majority of use cases.
  2. Use sglang when you need text generation through the SGLang runtime. Run it as a second container alongside default and route requests by model name.
  3. Use transformers5 for models that need transformers>=5: LightOnOCR, GLM-OCR, GLiNER2 classification, and sparse vision documents.

Models are loaded on first request. The bundle only determines which models are available inside a given image.


Contact us

Tell us about your use case and we'll get back to you shortly.