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

CLI Reference

This page covers the two operator-facing CLIs: sie-server (Python) and sie-gateway (Rust). The sie-config and sie-mcp packages ship their own console scripts, and the Rust sie-server-sidecar runs inside worker pods. sie-server uses typer for argument parsing; sie-gateway is a Rust binary using clap.

The inference server. Start with sie-server serve.

sie-server serve [OPTIONS]

Start the SIE inference server.

OptionDefaultDescription
--port, -p8080Port to listen on
--host0.0.0.0Host to bind to
--device, -dautoDevice for inference: auto (detect GPU), cuda, mps, cpu
--models-dirThe packaged models directoryModels config directory (local path, s3://, gs://, abfs://, or abfss://)
--bundle, -bNoneBundle name to load from bundles/ dir (e.g., default)
--models, -mNoneComma-separated model names to load (mutually exclusive with --bundle)
--preloadNoneComma-separated model names to load eagerly at startup
--local-cacheHF_HOMELocal cache directory for model weights
--cluster-cacheNoneCluster cache URL for model weights (s3://, gs://, abfs://, or abfss://)
--hf-fallback/--no-hf-fallbacktrueAllow or block HuggingFace Hub downloads after cache miss
--instrumentation, -ifalseEnable batch instrumentation logging
--reloadfalseEnable auto-reload for development (uses uvicorn reload)
--tracingfalseEnable OpenTelemetry tracing (exports to localhost:4317)
--log-level, -linfoLog level (DEBUG, INFO, WARNING, ERROR); env var SIE_LOG_LEVEL
--verbose, -vfalseEnable verbose logging
--json-logsfalseEnable structured JSON logging (for Loki compatibility)

Examples:

# Start with defaults (auto-detect GPU, port 8080)
sie-server serve
# Specific port and device
sie-server serve --port 8081 --device cuda
# Load specific bundle
sie-server serve --bundle default
# Load specific models only
sie-server serve --models BAAI/bge-m3,BAAI/bge-reranker-v2-m3
# Use cloud model configs
sie-server serve --models-dir s3://my-bucket/sie-models/
# Development mode with auto-reload
sie-server serve --reload --verbose
sie-server resolve-deps [OPTIONS]

Resolve and print dependencies for a bundle or model list. Used by deployment scripts.

OptionDescription
--bundle, -bBundle name to resolve deps for
--models, -mComma-separated model names
--models-dirModels directory
--cpuExclude CUDA-only dependencies (e.g., flash-attn) for CPU-only images
--jsonOutput as JSON
sie-server openapi [--output PATH] [--indent N]

Export the published OpenAPI spec as JSON. Writes to stdout by default; --output/-o writes to a file.


Stateless Rust request gateway for elastic cloud deployments.

sie-gateway serve [OPTIONS]

Start the SIE Gateway server.

OptionDefaultDescription
--port, -p8080Port to listen on
--host0.0.0.0Host to bind to
--worker, -wNoneLocal diagnostic worker URLs for ws health checks
--kubernetesfalseLocal diagnostic Kubernetes endpoint discovery for ws health checks
--k8s-namespacedefaultNamespace used by local diagnostic discovery
--k8s-servicesie-workerService name used by local diagnostic discovery
--k8s-port8080Worker port used by local diagnostic discovery
--log-level, -linfoLog level: debug, info, warning, error
--json-logsfalseEnable structured JSON logging (for Loki compatibility)
--health-modews raw CLI, nats via HelmGateway health source (nats for SIE server sidecar heartbeats, ws for local WebSocket health)
--bundles-dirNoneOptional filesystem seed for bundle configs
--models-dirNoneOptional filesystem seed for model configs

The Helm chart renders NATS health for the SIE server sidecar path. ws mode and static worker URLs are local diagnostics for the Python /ws/status stream.

Examples:

# Production health source, normally rendered by Helm
sie-gateway serve --health-mode nats
# Local WebSocket health diagnostic
sie-gateway serve -w http://localhost:8080 --health-mode ws
sie-gateway openapi [-o PATH]

Export the gateway OpenAPI spec as JSON. Writes to stdout by default; -o/--output writes to a file.

sie-gateway version

Show version information.


Many CLI options can be set via environment variables. CLI arguments override environment variables, which override defaults.

Server (sie-server):

VariableCLI EquivalentDescription
SIE_DEVICE--deviceInference device (cuda, mps, cpu)
SIE_MODELS_DIR--models-dirModels config directory
SIE_MODEL_FILTER--modelsComma-separated model names to load
SIE_LOCAL_CACHE--local-cacheLocal cache directory for weights
SIE_CLUSTER_CACHE--cluster-cacheCluster cache URL (s3://, gs://, abfs://, or abfss://)
SIE_HF_FALLBACK--hf-fallbackAllow HF Hub downloads after cache miss (true/false)
SIE_LOG_LEVEL--log-levelLog level (DEBUG, INFO, WARNING, ERROR)
SIE_LOG_JSON--json-logsEnable JSON logging (true/false)
SIE_TRACING_ENABLED--tracingEnable OpenTelemetry tracing
SIE_GPU_TYPE-Override detected GPU type
SIE_MEMORY_PRESSURE_THRESHOLD_PERCENT-GPU memory pressure threshold (50-99)
SIE_IMAGE_WORKERS-Image preprocessing worker count (default: 4)
SIE_INSTRUMENTATION-Enable detailed instrumentation

Gateway (sie-gateway):

VariableCLI EquivalentDescription
SIE_GATEWAY_WORKERS--workerLocal diagnostic worker URLs for ws health checks
SIE_GATEWAY_KUBERNETES--kubernetesEnable local diagnostic K8s discovery (true/false)
SIE_GATEWAY_K8S_NAMESPACE--k8s-namespaceK8s namespace for local diagnostic discovery
SIE_GATEWAY_K8S_SERVICE--k8s-serviceK8s service name for local diagnostic discovery
SIE_GATEWAY_K8S_PORT--k8s-portWorker port for local diagnostic discovery
SIE_GATEWAY_HEALTH_MODE--health-modeGateway health source (nats for the Helm SIE server sidecar path, ws for local WebSocket runs)
SIE_NATS_URL-NATS URL for queued inference, SIE server sidecar health, result inboxes, and config deltas
SIE_GATEWAY_ENABLE_POOLS-Enable resource pools (true/false)
SIE_GATEWAY_CONFIGURED_GPUS-Comma-separated configured GPU types
SIE_CONFIG_SERVICE_URL-Config service URL for bootstrap and drift polling
SIE_LOG_JSON--json-logsEnable JSON logging

See Configuration for the complete list.

Contact us

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