Skip to main content

Android Intelligence Service

info

This documentation is for Android SDK 2.1.x

Functions​

isModelFilesDownloaded​

suspend fun isModelFilesDownloaded(name: String): Result<Boolean>

Checks whether model files for the given model name already exist on the device.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).

isModelFilesDownloaded​

fun isModelFilesDownloaded(
name: String,
onSuccess: (Boolean) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Checks whether model files for the given model name already exist on the device.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).
  • onSuccess: (Boolean) -> Unit — Returns true if files exist.
  • onError: ((Throwable) -> Unit)? — Error callback.

loadModel​

suspend fun loadModel(
name: String,
key: String,
modelParams: ModelParams? = null
): Result<Unit>

Loads the specified model into memory with optional parameters. Use key as the session identifier for invoke, unload, and stop.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).
  • key: String — Session key for this load.
  • modelParams: ModelParams? — Runtime configuration.

loadModel​

fun loadModel(
name: String,
key: String,
modelParams: ModelParams? = null,
onSuccess: () -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Loads the specified model into memory with optional parameters.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).
  • key: String — Session key for this load.
  • modelParams: ModelParams? — Runtime configuration.
  • onSuccess: () -> Unit — Called if model loaded successfully.
  • onError: ((Throwable) -> Unit)? — Error callback.

unloadModel​

suspend fun unloadModel(key: String? = null): Result<Unit>

Unloads the model for the given session key from memory.

Parameters:

  • key: String? — Session key; optional.

unloadModel​

fun unloadModel(
key: String? = null,
onSuccess: () -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Unloads the model for the given session key from memory.

Parameters:

  • key: String? — Session key; optional.
  • onSuccess: () -> Unit — Called after unload completes.
  • onError: ((Throwable) -> Unit)? — Error callback.

downloadModelFiles​

suspend fun downloadModelFiles(
name: String,
onProgress: (Double) -> Unit
): Result<Unit>

Downloads the model files for the given model name.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).
  • onProgress: (Double) -> Unit — Progress callback (0.0–1.0).

downloadModelFiles​

fun downloadModelFiles(
name: String,
onProgress: (Double) -> Unit,
onSuccess: () -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Downloads the model files for the given model name.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).
  • onProgress: (Double) -> Unit — Progress callback (0.0–1.0).
  • onSuccess: () -> Unit — Called when download completes.
  • onError: ((Throwable) -> Unit)? — Error callback.

deleteModelFiles​

suspend fun deleteModelFiles(name: String): Result<Unit>

Deletes all downloaded files for the given model.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).

deleteModelFiles​

fun deleteModelFiles(
name: String,
onSuccess: () -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Deletes all downloaded files for the given model.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).
  • onSuccess: () -> Unit — Called when deletion completes.
  • onError: ((Throwable) -> Unit)? — Error callback.

getDownloadedModelsList​

suspend fun getDownloadedModelsList(): Result<List<String>>

Returns model names whose files exist on the device.

Parameters: None.

getDownloadedModelsList​

fun getDownloadedModelsList(
onSuccess: (List<String>) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Returns model names whose files exist on the device.

Parameters:

  • onSuccess: (List) -> Unit — Downloaded model names.
  • onError: ((Throwable) -> Unit)? — Error callback.

getLoadedModels​

suspend fun getLoadedModels(): Result<List<String>>

Returns session keys for models currently loaded in memory.

Parameters: None.

getLoadedModels​

fun getLoadedModels(
onSuccess: (List<String>) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Returns session keys for models currently loaded in memory.

Parameters:

  • onSuccess: (List) -> Unit — Loaded session keys.
  • onError: ((Throwable) -> Unit)? — Error callback.

isModelLoaded​

suspend fun isModelLoaded(key: String): Result<Boolean>

Returns whether a model is loaded for the given session key.

Parameters:

  • key: String — Session key.

isModelLoaded​

fun isModelLoaded(
key: String,
onSuccess: (Boolean) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Returns whether a model is loaded for the given session key.

Parameters:

  • key: String — Session key.
  • onSuccess: (Boolean) -> Unit — True if loaded.
  • onError: ((Throwable) -> Unit)? — Error callback.

invokeModel​

suspend fun invokeModel(
key: String,
prompts: List<Prompt>,
inferenceParams: InferenceParams? = null,
onStream: ((String) -> Unit)? = null
): Result<String>

Runs the model using the provided prompts and inference parameters.

Parameters:

  • key: String — Session key from loadModel.
  • prompts: List — Input messages.
  • inferenceParams: InferenceParams? — Generation settings.
  • onStream: ((String) -> Unit)? — Optional partial streamed output.

invokeModel​

fun invokeModel(
key: String,
prompts: List<Prompt>,
inferenceParams: InferenceParams? = null,
onStream: ((String) -> Unit)? = null,
onSuccess: (String) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Runs the model using the provided prompts and inference parameters.

Parameters:

  • key: String — Session key from loadModel.
  • prompts: List — Input messages.
  • inferenceParams: InferenceParams? — Generation settings.
  • onStream: ((String) -> Unit)? — Optional partial streamed output.
  • onSuccess: (String) -> Unit — Final model output.
  • onError: ((Throwable) -> Unit)? — Error callback.

stopModelInference​

suspend fun stopModelInference(key: String): Result<Unit>

Requests cancellation of generation for the given session key.

Parameters:

  • key: String — Session key.

stopModelInference​

fun stopModelInference(
key: String,
onSuccess: () -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Requests cancellation of generation for the given session key.

Parameters:

  • key: String — Session key.
  • onSuccess: () -> Unit — Called when the stop request is handled.
  • onError: ((Throwable) -> Unit)? — Error callback.

getRules​

suspend fun getRules(): Result<List<Rule>>

Returns all stored rules.

Parameters: None.

getRules​

fun getRules(
onSuccess: (List<Rule>) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Returns all stored rules.

Parameters:

  • onSuccess: (List) -> Unit — Rule list.
  • onError: ((Throwable) -> Unit)? — Error callback.

getRule​

suspend fun getRule(name: String): Result<Rule?>

Retrieves the Rule having given programmatic name if there is one.

Parameters:

  • name: String — The unique programmatic name of the rule to retrieve.

getRule​

fun getRule(
name: String,
onSuccess: (Rule?) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Rule?

Retrieves the Rule having given programmatic name if there is one.

Parameters:

  • name: String — The unique programmatic name of the rule to retrieve.
  • onSuccess: (Rule?) -> Unit — Rule or null.
  • onError: ((Throwable) -> Unit)? — Error callback.

runRule​

suspend fun runRule(context: Context, name: String): Result<Rule?>

Evaluates a Rule and returns its updated state.

Parameters:

  • context: Context — Android context.
  • name: String — The unique programmatic name of the rule to evaluate.

runRule​

fun runRule(
context: Context,
name: String,
onSuccess: (Rule?) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Evaluates a rule and returns its updated state.

Parameters:

  • context: Context — Android context.
  • name: String — Rule name.
  • onSuccess: (Rule?) -> Unit — Resulting rule state.
  • onError: ((Throwable) -> Unit)? — Error callback.

runRules​

suspend fun runRules(context: Context, onlyOnInit: Boolean): Result<List<Rule>>

Evaluates multiple rules at once.

Parameters:

  • context: Context — Android context.
  • onlyOnInit: Boolean — If true, only initialization rules run.

runRules​

fun runRules(
context: Context,
onlyOnInit: Boolean,
onSuccess: (List<Rule>) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Evaluates multiple rules at once.

Parameters:

  • context: Context — Android context.
  • onlyOnInit: Boolean — If true, only initialization rules run.
  • onSuccess: (List) -> Unit — Updated rules.
  • onError: ((Throwable) -> Unit)? — Error callback.

getManagedAIModels​

suspend fun getManagedAIModels(): Result<List<ManagedAIModel>>

Retrieves all managed AI models stored locally.

Parameters: None.

getManagedAIModels​

fun getManagedAIModels(
onSuccess: (List<ManagedAIModel>) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Retrieves all managed AI models stored locally.

Parameters:

  • onSuccess: (List) -> Unit — Model list.
  • onError: ((Throwable) -> Unit)? — Error callback.

getManagedAIModel​

suspend fun getManagedAIModel(name: String): Result<ManagedAIModel?>

Retrieves a specific managed AI model by name.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).

getManagedAIModel​

fun getManagedAIModel(
name: String,
onSuccess: (ManagedAIModel?) -> Unit,
onError: ((Throwable) -> Unit)? = null
): Unit

Retrieves a specific managed AI model by name.

Parameters:

  • name: String — Model name (Orchestrator → Managed AI Models → Programmatic name).
  • onSuccess: (ManagedAIModel?) -> Unit — Model or null.
  • onError: ((Throwable) -> Unit)? — Error callback.

Classes​

LlamaGrammarConfig​

data class LlamaGrammarConfig(
val grammar: String,
val grammarRoot: String = "root"
)

InferenceParams​

data class InferenceParams(
val temperature: Float = 0.8f,
val maxTokens: Int = 10_000,
val seed: Int? = null,
val topP: Float? = 0.95f,
val topK: Int? = null,
val grammarConfig: LlamaGrammarConfig? = null,
)

ModelParams​

data class ModelParams(
val nCtx: Int = 512,
val nBatchSize: Int = 64,
val nThreads: Int = Runtime.getRuntime().availableProcessors().coerceAtLeast(2),
val nGpuLayers: Int = 20
)

ManagedAIModel​

data class ManagedAIModel(
val id: UUID,
val name: String,
val text: String,
val vendor: String? = null,
val description: String? = null,
val downloadUrl: String,
var imageUrl: String? = null,
val multimodal: Boolean? = false,
val mmProjDownloadUrl: String? = null
)

Rule​

class Rule(
val id: String,
val name: String,
val text: String,
val description: String? = null,
val trigger: String,
val conditionJson: String,
val actionJson: String
)

Action​

class Action(
val type: String,
val config: ActionConfig? = null
)

ActionConfig​

data class ActionConfig(
val id: String,
val script: Script?,
val event: String?,
val title: String?,
val message: String?
)

Criteria​

class Criteria(
val field: String,
val criteriaOperator: String,
val value: String
)

Filter​

class Filter(
val type: String?,
val filters: List<Filter>?,
val filter: Filter?,
val criteria: Criteria?
)

Prompt​

data class Prompt(
val role: Role,
val content: String,
val attachment: String? = null
)