@@ -4,27 +4,31 @@ import kotlinx.serialization.SerialName
44import kotlinx.serialization.Serializable
55
66@Serializable
7- data class PromptTemplate (val title : String , val description : String , val prompt : String )
7+ data class PromptTemplate (
8+ @SerialName(" title" ) val title : String ,
9+ @SerialName(" description" ) val description : String ,
10+ @SerialName(" prompt" ) val prompt : String
11+ )
812
913@Serializable
1014data class AiModel (
11- val name : String ,
12- val displayName : String = " " ,
13- val info : String = " " ,
14- val bestForTaskIds : List <String > = emptyList(),
15- val minDeviceMemoryInGb : Int? = null ,
16- val url : String = " " ,
17- val sizeInBytes : Long = 0L ,
18- val downloadFileName : String = " _" ,
19- val version : String = " _" ,
20- val isLlm : Boolean = false ,
21- val llmPromptTemplates : List <PromptTemplate > = emptyList(),
22- val llmSupportImage : Boolean = false ,
23- val llmSupportAudio : Boolean = false ,
24- val llmMaxToken : Int = 0 ,
25- val accelerators : List <Accelerator > = emptyList(),
26- val imported : Boolean = false ,
27- val isDownloaded : Boolean = false ,
15+ @SerialName( " name " ) val name : String ,
16+ @SerialName( " displayName " ) val displayName : String = " " ,
17+ @SerialName( " info " ) val info : String = " " ,
18+ @SerialName( " bestForTaskIds " ) val bestForTaskIds : List <String > = emptyList(),
19+ @SerialName( " minDeviceMemoryInGb " ) val minDeviceMemoryInGb : Int? = null ,
20+ @SerialName( " url " ) val url : String = " " ,
21+ @SerialName( " sizeInBytes " ) val sizeInBytes : Long = 0L ,
22+ @SerialName( " downloadFileName " ) val downloadFileName : String = " _" ,
23+ @SerialName( " version " ) val version : String = " _" ,
24+ @SerialName( " isLlm " ) val isLlm : Boolean = false ,
25+ @SerialName( " llmPromptTemplates " ) val llmPromptTemplates : List <PromptTemplate > = emptyList(),
26+ @SerialName( " llmSupportImage " ) val llmSupportImage : Boolean = false ,
27+ @SerialName( " llmSupportAudio " ) val llmSupportAudio : Boolean = false ,
28+ @SerialName( " llmMaxToken " ) val llmMaxToken : Int = 0 ,
29+ @SerialName( " accelerators " ) val accelerators : List <Accelerator > = emptyList(),
30+ @SerialName( " imported " ) val imported : Boolean = false ,
31+ @SerialName( " isDownloaded " ) val isDownloaded : Boolean = false ,
2832)
2933
3034@Serializable
@@ -36,32 +40,32 @@ enum class Accelerator(val label: String) {
3640
3741@Serializable
3842data class AiModelCatalog (
39- val models : List <AiModelEntry >? = emptyList()
43+ @SerialName( " models " ) val models : List <AiModelEntry >? = emptyList()
4044)
4145
4246@Serializable
4347data class ModelDefaultConfig (
44- val topK : Int? = 0 ,
45- val topP : Float? = 0f ,
46- val temperature : Float? = 0f ,
47- val maxTokens : Int? = 1024 ,
48- val accelerators : String? = " "
48+ @SerialName( " topK " ) val topK : Int? = 0 ,
49+ @SerialName( " topP " ) val topP : Float? = 0f ,
50+ @SerialName( " temperature " ) val temperature : Float? = 0f ,
51+ @SerialName( " maxTokens " ) val maxTokens : Int? = 1024 ,
52+ @SerialName( " accelerators " ) val accelerators : String? = " "
4953)
5054
5155@Serializable
5256data class AiModelEntry (
53- val name : String? = " " ,
54- val modelId : String? = " " ,
55- val modelFile : String? = " " ,
56- val description : String? = " " ,
57- val sizeInBytes : Long? = 0L ,
58- val minDeviceMemoryInGb : Int? = 0 ,
59- val commitHash : String? = " " ,
60- val llmSupportImage : Boolean? = false ,
61- val llmSupportAudio : Boolean? = false ,
62- val defaultConfig : ModelDefaultConfig ? = null ,
63- val taskTypes : List <String >? = emptyList(),
64- val bestForTaskTypes : List <String >? = emptyList()
57+ @SerialName( " name " ) val name : String? = " " ,
58+ @SerialName( " modelId " ) val modelId : String? = " " ,
59+ @SerialName( " modelFile " ) val modelFile : String? = " " ,
60+ @SerialName( " description " ) val description : String? = " " ,
61+ @SerialName( " sizeInBytes " ) val sizeInBytes : Long? = 0L ,
62+ @SerialName( " minDeviceMemoryInGb " ) val minDeviceMemoryInGb : Int? = 0 ,
63+ @SerialName( " commitHash " ) val commitHash : String? = " " ,
64+ @SerialName( " llmSupportImage " ) val llmSupportImage : Boolean? = false ,
65+ @SerialName( " llmSupportAudio " ) val llmSupportAudio : Boolean? = false ,
66+ @SerialName( " defaultConfig " ) val defaultConfig : ModelDefaultConfig ? = null ,
67+ @SerialName( " taskTypes " ) val taskTypes : List <String >? = emptyList(),
68+ @SerialName( " bestForTaskTypes " ) val bestForTaskTypes : List <String >? = emptyList()
6569) {
6670 fun toAiModel (): AiModel {
6771 val downloadUrl = " https://huggingface.co/${modelId ? : " " } /resolve/${commitHash ? : " main" } /${modelFile ? : " " } ?download=true"
0 commit comments