Skip to main content

Initializing

Three overloads exist:
Initialization is two-phase. Phase 1 is the synchronous initialize() call and is all local inference needs. Phase 2 handles authentication, device registration, and telemetry, and runs in the background; completeServicesInitialization() awaits it when you need to be sure it finished.

Reading state

isInitialized, areServicesReady, and isActive are deprecated. Use isReady.

Capabilities

Reports the modalities, backends, and audio formats this build can actually run, plus an unavailable list explaining anything missing. It is generated from live probes, not from namespace presence, so a namespace existing does not imply the engine behind it is linked.

Models

isResumable(id:) reports whether an interrupted download can continue. You rarely need load directly. Generation auto-loads what it needs and downloads when options.model names a model that is absent.

LoadOptions

Registering your own model

For models outside the catalog there are three shapes: a single file by URL, an archive with a declared structure, and a multi-file model described by file descriptors.

Storage

For what is on disk and for removing a model, use the models namespace:
RunAnywhere.getStorageInfo() and RunAnywhere.deleteModel(_:) still exist but are deprecated in favour of those two.

Hugging Face token

Needed for gated or private repositories.

Logging

Events

A Combine surface exists alongside it:
eventBus also exposes per-category publishers: llmEvents, sttEvents, ttsEvents, modelEvents, errorEvents, sdkEvents, ragEvents.

Resetting

Unloads models, closes sessions, and clears state.