SIE: Superlinked Inference Engine

[Documentatie] | [Quickstart] | [API Referentie]

Over SIE

SIE is een open-source inference-engine die de modellen achter elke agent-taak via één API aanstuurt: zoekopdrachten en retrieval, conversie van documenten naar markdown, gestructureerde output, content safety en de agent-loop zelf. Het vervangt de lappendeken van aparte modelservers per taak door één systeem dat meer dan 100 modellen serveert en deze on-demand laadt.

  • OpenAI-compatibele API voor naadloze migratie: /v1/embeddings, /v1/chat/completions, /v1/completions, /v1/responses.
  • Voorconfigureerde modelcatalogus: Stella, SPLADE, Qwen3, GLiNER, SigLIP en meer; embedding- en retrieval-modellen zijn gebenchmarkt op MTEB.
  • Gelijktijdige service van meerdere modellen: Met on-demand laden en LRU-evictie (Least Recently Used).
  • Volledige productie-stack: Inclusief load-balancing gateway, KEDA autoscaling, Grafana dashboards en Terraform voor GKE, EKS en AKS.
  • Integraties: Werkt samen met LangChain, LlamaIndex, Haystack, DSPy, CrewAI, Chroma, Qdrant, Weaviate en LanceDB.

Ontwikkeling

De root van de repository is een virtuele Python-werkruimte. Vanuit de root kunnen alle leden van de werkruimte worden geïnstalleerd en geverifieerd met de committed lock (let op: het audio-prep onderdeel vereist de gedocumenteerde native build prerequisites):

uv python install 3.12
uv lock --check
uv sync --frozen --all-packages
uv run --frozen --project . --no-sync pytest -c pyproject.toml

Pakketlidmaatschap is expliciet gedefinieerd in de root pyproject.toml; een pakket wordt pas aan de werkruimte toegevoegd in dezelfde wijziging waarin de volledige broncode wordt toegevoegd.

Taken

Eén SIE-cluster verzorgt de inference voor een complete agent. Elke taak bestaat uit een aantal vervangbare modellen. De volledige set is te vinden in packages/sie_server/models/.

TaakFunctieModellen
SearchEmbedden, matchen en reranken om de juiste context op te halen.bge-m3, splade-v3, colbertv2, qwen3-reranker
Document to markdownPDF's, Office-bestanden en scans worden omgezet in schone markdown.lightonocr, glm-ocr, mineru, paddleocr-vl, docling
Structured outputSchema-valide JSON, geëxtraheerd of gegenereerd.gliner2, nuner-zero, qwen3.6-27b
Guard contentEen veiligheidsoordeel met een waarschijnlijkheid op basis van uw drempelwaarde.granite-guardian-2b
Run the agent loopStappen plannen en tools aanroepen met een open LLM, inclusief streaming.qwen3.6-27b

Quickstart

Voor wie de voorkeur geeft aan een notebook: examples/quickstart.ipynb voert deze flow uit op uw eigen machine of via een gratis Colab GPU.

1. Start de server

macOS (Apple Silicon) of Linux, native (vereist Python 3.12):

pip install "sie-server[local]" && sie-server serve

Linux, NVIDIA GPU:

docker run --gpus all -p 8080:8080 \
-v sie-hf-cache:/app/.cache/huggingface \
ghcr.io/superlinked/sie-server:latest-cuda12-default

Linux, NVIDIA GPU — Transformers 5 OCR-modellen (LightOnOCR en GLM-OCR):

docker run --gpus all -p 8080:8080 \
-v sie-hf-cache:/app/.cache/huggingface \
ghcr.io/superlinked/sie-server:latest-cuda12-transformers5

Linux, CPU:

docker run -p 8080:8080 \
-v sie-hf-cache:/app/.cache/huggingface \
ghcr.io/superlinked/sie-server:latest-cpu-default

Let op: Docker-images zijn bundlespecific, zodat incompatibele modelfamilies geïsoleerd blijven. Gebruik de transformers5 image voor LightOnOCR of GLM-OCR.

Controleer de status (in een tweede terminal):

curl http://localhost:8080/readyz   # Verwacht: ok

De server ondersteunt direct de OpenAI API. Uw eerste aanroep kan eenvoudig met curl:

curl http://localhost:8080/v1/embeddings \
-H 'Content-Type: application/json' \
-d '{"model": "sentence-transformers/all-MiniLM-L6-v2", "input": "Hello world"}'
# {"object": "list", "data": [{"object": "embedding", "embedding": [-0.0344, 0.0310, ...

Bij de eerste aanroep van een model worden de gewichten gedownload (de voortgang is zichtbaar in de serverterminal). Latere aanroepen slaan deze download over. De latency hangt af van het model, de taak, de hardware en de batchgrootte.

2. Installeer de SDK

Python:

pip install sie-sdk

TypeScript (pnpm en yarn werken ook):

npm install @superlinked/sie-sdk

3. Embeddings genereren, reranken en entiteiten extraheren

from sie_sdk import SIEClient
from sie_sdk.types import Item

client = SIEClient("http://localhost:8080")

# Generate embeddings
result = client.encode("sentence-transformers/all-MiniLM-L6-v2", Item(text="Hello world"))
print(result["dense"].shape)  # (384,)

# Rerank search results
scores = client.score(
    "cross-encoder/ms-marco-MiniLM-L-6-v2",
    Item(text="What is machine learning?"),
    [Item(text="ML learns from data."), Item(text="The weather is sunny.")],
)
print(scores["scores"][0])  # {'item_id': 'item-0', 'score': -7.1, 'rank': 0}

# Extract entities
result = client.extract(
    "urchade/gliner_multi-v2.1",
    Item(text="Tim Cook is the CEO of Apple."),
    labels=["person", "organization"],
)
print(result["entities"][0])
# {'text': 'Tim Cook', 'label': 'person', 'score': 0.992, 'start': 0, 'end': 8, ...}

Voor tekstgeneratie is de GPU-generation image nodig. Stop de eerste server en start deze op dezelfde poort:

Linux, NVIDIA GPU (voor generatie op Apple Silicon via MLX, zie documentatie):

docker run --gpus all -p 8080:8080 \
-v sie-hf-cache:/app/.cache/huggingface \
ghcr.io/superlinked/sie-server:latest-cuda12-sglang
result = client.generate(
    "Qwen/Qwen3-0.6B",
    "Reply with a single word: the capital of France.",
    max_new_tokens=16,
    temperature=0.0,
)
print(result["text"])  # Paris

Voor generatie op Apple Silicon (MLX), de TypeScript-handleiding en alle overige configuraties kunt u terecht in de quickstart guide, de TypeScript SDK docs en de SDK referentie.

Productie

Dezelfde code werkt met een productiecluster. SIE levert een load-balancing gateway, KEDA autoscaling (scale to zero), Grafana dashboards en Terraform modules voor GKE, EKS en AKS. Niet alleen de server, maar de volledige stack is beschikbaar onder Apache 2.0.

# Kies een values overlay: values-gke.yaml / values-aws.yaml / values-aks.yaml
# (Pin een chart versie voor reproduceerbare installaties, bijv. --version 0.6.18)
helm upgrade --install sie-cluster oci://ghcr.io/superlinked/charts/sie-cluster \
--namespace sie --create-namespace \
--set hfToken.create=true \
--set hfToken.value=YOUR_HF_TOKEN \
-f https://raw.githubusercontent.com/superlinked/sie/main/deploy/helm/sie-cluster/values-gke.yaml

Raadpleeg de deployment guide voor meer informatie.

Telemetry: SIE verzamelt anonieme gebruiksgegevens (versie, OS, architectuur, GPU-type) om adoptie te begrijpen. Er worden geen IP-adressen, hostnames of requestdata verzameld. Schakel dit uit met SIETELEMETRYDISABLED=1 of DONOTTRACK=1.

Ontdekken

  • Modelcatalogus: Elk model is een configuratie in packages/sie_server/models/; overdracht naar de SDK gebeurt via de Hugging Face ID.
  • Integraties: Setup-handleidingen voor alle negen framework- en vector-store integraties, beschikbaar in Python en TypeScript.
  • Voorbeelden: Een quickstart notebook en een galerij met end-to-end projecten.
  • MCP edge: Verplaats documentwerk van Claude en andere MCP-clients naar uw cluster om agent tokens te besparen.
  • Waarom we SIE hebben gebouwd: De motivatie, gepresenteerd tijdens AI Engineer Europe 2026.

superlinked.com/docs | Apache 2.0