Model Registry
ModelFamily
llm-core/src/commonMain/kotlin/sk/ainet/apps/llm/ModelRegistry.ktenum class ModelFamily(
val id: String,
val displayName: String,
val supportsToolCalling: Boolean,
val chatTemplateFamily: String?
)
| Family | Display Name | Tool Calling | Template | GGUF Architectures |
|---|---|---|---|---|
|
LLaMA / Mistral |
Yes |
|
|
|
Qwen |
Yes |
|
|
|
Gemma |
Yes |
|
|
|
Apertus |
No |
|
|
|
BERT |
No |
— |
|
|
Voxtral TTS |
No |
— |
|
ModelRegistry
object ModelRegistry {
fun detect(architecture: String): ModelFamily
fun detect(architecture: String, chatTemplate: String?): ModelFamily
}
Detects model family from the GGUF general.architecture field.
UnifiedModelLoader
llm-core/src/commonMain/kotlin/sk/ainet/apps/llm/UnifiedModelLoader.ktobject UnifiedModelLoader {
fun peek(sourceProvider: () -> RandomAccessSource): GGUFModelInfo
}
Extracts model info without loading weights:
data class GGUFModelInfo(
val architecture: String, // e.g., "qwen3"
val family: ModelFamily, // e.g., ModelFamily.QWEN
val contextLength: Int,
val vocabSize: Int,
val blockCount: Int,
val embeddingLength: Int,
val fields: Map<String, Any?>
)