SystemLanguageModel
Represents the on-device Foundation Models language model. Provides availability checking and model configuration.
Constructor
ts
new SystemLanguageModel(options?: {
useCase?: SystemLanguageModelUseCase;
guardrails?: SystemLanguageModelGuardrails;
})| Parameter | Default | Description |
|---|---|---|
useCase | GENERAL | Model use case |
guardrails | DEFAULT | Guardrail configuration |
Methods
isAvailable()
Synchronously checks if the model is ready.
ts
isAvailable(): AvailabilityResultReturns { available: true } or { available: false, reason: SystemLanguageModelUnavailableReason }.
waitUntilAvailable()
Polls until the model is available or the timeout expires.
ts
waitUntilAvailable(timeoutMs?: number): Promise<AvailabilityResult>| Parameter | Default | Description |
|---|---|---|
timeoutMs | 30000 | Maximum wait time in milliseconds |
dispose()
Releases the native model reference.
ts
dispose(): voidEnums
SystemLanguageModelUseCase
| Value | Description |
|---|---|
GENERAL | General-purpose generation |
CONTENT_TAGGING | Classification and labeling |
SystemLanguageModelGuardrails
| Value | Description |
|---|---|
DEFAULT | Standard content safety guardrails |
SystemLanguageModelUnavailableReason
| Value | Description |
|---|---|
APPLE_INTELLIGENCE_NOT_ENABLED | Apple Intelligence is off |
MODEL_NOT_READY | Model assets still downloading |
DEVICE_NOT_ELIGIBLE | Hardware not supported |
Types
AvailabilityResult
ts
type AvailabilityResult =
| { available: true }
| { available: false; reason: SystemLanguageModelUnavailableReason };