You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add SafeTensors model loading support to KLlama CLI
Preparation for JavaLand 2026 workshop. Related to #10, fixes#371.
- Add Q4/Q8 quantized data types to DataType enum and SafeTensors mapper
- Create LlamaConfigParser for HuggingFace config.json parsing
- Create LlamaSafeTensorsLoader with HF→GGUF tensor name mapping,
Q4+qb dequantization, BF16/F16 conversion, and shape normalization
- Add loadSafeTensors() method to LlamaIngestion
- Add fromTokenizerJson() to GGUFTokenizer for HuggingFace tokenizer.json
- Update CLI to detect and handle .safetensors files and model directories
- Update DTypeMapping for QUANT4/QUANT8 exhaustive when branches
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: skainet-apps/skainet-kgemma/api/android/skainet-kgemma.api
+77-13Lines changed: 77 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,8 @@
1
+
public abstract interface class sk/ainet/apps/kgemma/AttentionBackend {
2
+
public abstract fun attention (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;II)Lsk/ainet/lang/tensor/Tensor;
3
+
public abstract fun reset ()V
4
+
}
5
+
1
6
public final class sk/ainet/apps/kgemma/Gemma3nAttentionBackend : sk/ainet/apps/kgemma/AttentionBackend {
2
7
public fun <init> (Lsk/ainet/context/ExecutionContext;Lsk/ainet/io/gguf/gemma/Gemma3nRuntimeWeights;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nConfig;Lsk/ainet/apps/kgemma/Gemma3nKvCache;)V
3
8
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lsk/ainet/io/gguf/gemma/Gemma3nRuntimeWeights;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nConfig;Lsk/ainet/apps/kgemma/Gemma3nKvCache;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -6,6 +11,7 @@ public final class sk/ainet/apps/kgemma/Gemma3nAttentionBackend : sk/ainet/apps/
6
11
}
7
12
8
13
public final class sk/ainet/apps/kgemma/Gemma3nConfig {
14
+
public static final field Companion Lsk/ainet/apps/kgemma/Gemma3nConfig$Companion;
9
15
public fun <init> ()V
10
16
public fun <init> (IIIIIILjava/util/List;ILjava/util/List;FFI)V
11
17
public synthetic fun <init> (IIIIIILjava/util/List;ILjava/util/List;FFIILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -24,34 +30,64 @@ public final class sk/ainet/apps/kgemma/Gemma3nConfig {
24
30
public final fun copy (IIIIIILjava/util/List;ILjava/util/List;FFI)Lsk/ainet/apps/kgemma/Gemma3nConfig;
25
31
public static synthetic fun copy$default (Lsk/ainet/apps/kgemma/Gemma3nConfig;IIIIIILjava/util/List;ILjava/util/List;FFIILjava/lang/Object;)Lsk/ainet/apps/kgemma/Gemma3nConfig;
26
32
public fun equals (Ljava/lang/Object;)Z
33
+
public final fun getCacheLayerIndex (I)I
34
+
public final fun getEffectiveCacheLayers ()I
27
35
public final fun getHeadDim ()I
28
36
public final fun getHiddenSize ()I
37
+
public final fun getIntermediateSize (I)I
29
38
public final fun getIntermediateSizes ()Ljava/util/List;
39
+
public final fun getKvDim ()I
30
40
public final fun getKvSharedLayers ()I
31
41
public final fun getLayerPattern ()Ljava/util/List;
42
+
public final fun getLayerType (I)Lsk/ainet/io/gguf/gemma/LayerType;
32
43
public final fun getNumAttentionHeads ()I
44
+
public final fun getNumHeadsPerKv ()I
33
45
public final fun getNumKvHeads ()I
34
46
public final fun getNumLayers ()I
35
47
public final fun getPerLayerHiddenSize ()I
48
+
public final fun getQueryDim ()I
49
+
public final fun getRopeBase (I)F
36
50
public final fun getRopeBaseGlobal ()F
37
51
public final fun getRopeBaseLocal ()F
38
52
public final fun getSlidingWindow ()I
39
53
public fun hashCode ()I
54
+
public final fun isGlobalLayer (I)Z
55
+
public final fun isKvShared (I)Z
56
+
public final fun isLocalLayer (I)Z
40
57
public fun toString ()Ljava/lang/String;
41
58
}
42
59
43
-
public abstract interface class sk/ainet/apps/kgemma/AttentionBackend {
44
-
public abstract fun attention (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;II)Lsk/ainet/lang/tensor/Tensor;
45
-
public abstract fun reset ()V
60
+
public final class sk/ainet/apps/kgemma/Gemma3nConfig$Companion {
61
+
public final fun fromMetadata (Lsk/ainet/io/gguf/gemma/Gemma3nModelMetadata;)Lsk/ainet/apps/kgemma/Gemma3nConfig;
62
+
public final fun getDEFAULT_LAYER_PATTERN ()Ljava/util/List;
63
+
public final fun getE2B_DEFAULT ()Lsk/ainet/apps/kgemma/Gemma3nConfig;
46
64
}
47
65
48
66
public final class sk/ainet/apps/kgemma/Gemma3nIngestion {
49
67
public fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nLoadConfig;)V
50
68
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nLoadConfig;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
51
69
public final fun load (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
70
+
public final fun loadFromSafeTensors (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
71
+
public final fun loadRuntime (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
72
+
public final fun loadRuntimeFromSafeTensors (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
73
+
public final fun loadRuntimeStreaming (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
52
74
public final fun loadStreaming (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
53
75
}
54
76
77
+
public abstract interface class sk/ainet/apps/kgemma/Gemma3nKvCache {
78
+
public abstract fun getKey (IIII)F
79
+
public abstract fun getKvDim ()I
80
+
public abstract fun getNLayers ()I
81
+
public abstract fun getSeqLen ()I
82
+
public abstract fun getValue (IIII)F
83
+
public abstract fun reset ()V
84
+
public abstract fun store (II[FI[FI)V
85
+
}
86
+
87
+
public final class sk/ainet/apps/kgemma/Gemma3nKvCacheKt {
88
+
public static final fun createOptimalGemma3nKvCache (Lsk/ainet/apps/kgemma/Gemma3nConfig;I)Lsk/ainet/apps/kgemma/Gemma3nKvCache;
89
+
}
90
+
55
91
public final class sk/ainet/apps/kgemma/Gemma3nLoadConfig {
56
92
public fun <init> ()V
57
93
public fun <init> (Lsk/ainet/io/gguf/gemma/Gemma3nWeightLoader$QuantPolicy;Z)V
@@ -67,17 +103,8 @@ public final class sk/ainet/apps/kgemma/Gemma3nLoadConfig {
67
103
public fun toString ()Ljava/lang/String;
68
104
}
69
105
70
-
public abstract interface class sk/ainet/apps/kgemma/Gemma3nKvCache {
71
-
public abstract fun getKey (IIII)F
72
-
public abstract fun getKvDim ()I
73
-
public abstract fun getNLayers ()I
74
-
public abstract fun getSeqLen ()I
75
-
public abstract fun getValue (IIII)F
76
-
public abstract fun reset ()V
77
-
public abstract fun store (II[FI[FI)V
78
-
}
79
-
80
106
public final class sk/ainet/apps/kgemma/Gemma3nRuntime {
107
+
public static final field BOS_TOKEN I
81
108
public fun <init> (Lsk/ainet/context/ExecutionContext;Lsk/ainet/io/gguf/gemma/Gemma3nRuntimeWeights;Lsk/ainet/apps/kgemma/AttentionBackend;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nConfig;FLkotlin/random/Random;)V
82
109
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lsk/ainet/io/gguf/gemma/Gemma3nRuntimeWeights;Lsk/ainet/apps/kgemma/AttentionBackend;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nConfig;FLkotlin/random/Random;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
83
110
public final fun forward (I)Lsk/ainet/lang/tensor/Tensor;
@@ -88,13 +115,50 @@ public final class sk/ainet/apps/kgemma/Gemma3nRuntime {
88
115
}
89
116
90
117
public final class sk/ainet/apps/kgemma/HeapGemma3nKvCache : sk/ainet/apps/kgemma/Gemma3nKvCache {
118
+
public static final field Companion Lsk/ainet/apps/kgemma/HeapGemma3nKvCache$Companion;
91
119
public fun <init> (IIILjava/util/List;I)V
92
120
public fun getKey (IIII)F
121
+
public final fun getKeyArray ()[F
93
122
public fun getKvDim ()I
94
123
public fun getNLayers ()I
95
124
public fun getSeqLen ()I
96
125
public fun getValue (IIII)F
126
+
public final fun getValueArray ()[F
97
127
public fun reset ()V
98
128
public fun store (II[FI[FI)V
99
129
}
100
130
131
+
public final class sk/ainet/apps/kgemma/HeapGemma3nKvCache$Companion {
132
+
public final fun fromConfig (Lsk/ainet/apps/kgemma/Gemma3nConfig;I)Lsk/ainet/apps/kgemma/HeapGemma3nKvCache;
133
+
}
134
+
135
+
public final class sk/ainet/apps/kgemma/multimodal/AudioEncoder {
136
+
public static final field Companion Lsk/ainet/apps/kgemma/multimodal/AudioEncoder$Companion;
137
+
public static final field DEFAULT_FRAME_SIZE I
138
+
public static final field DEFAULT_HOP_SIZE I
139
+
public static final field DEFAULT_SAMPLE_RATE I
140
+
public fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;III)V
141
+
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;IIIILkotlin/jvm/internal/DefaultConstructorMarker;)V
142
+
public final fun encode ([FI)Lsk/ainet/lang/tensor/Tensor;
143
+
public static synthetic fun encode$default (Lsk/ainet/apps/kgemma/multimodal/AudioEncoder;[FIILjava/lang/Object;)Lsk/ainet/lang/tensor/Tensor;
144
+
public final fun encodeFromWav ([B)Lsk/ainet/lang/tensor/Tensor;
145
+
public final fun estimateTokenCount (FI)I
146
+
public static synthetic fun estimateTokenCount$default (Lsk/ainet/apps/kgemma/multimodal/AudioEncoder;FIILjava/lang/Object;)I
147
+
}
148
+
149
+
public final class sk/ainet/apps/kgemma/multimodal/AudioEncoder$Companion {
150
+
}
151
+
152
+
public final class sk/ainet/apps/kgemma/multimodal/VisionEncoder {
153
+
public static final field Companion Lsk/ainet/apps/kgemma/multimodal/VisionEncoder$Companion;
154
+
public static final field DEFAULT_IMAGE_SIZE I
155
+
public static final field DEFAULT_NUM_TOKENS I
156
+
public fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;II)V
157
+
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;IIILkotlin/jvm/internal/DefaultConstructorMarker;)V
158
+
public final fun encode ([FII)Lsk/ainet/lang/tensor/Tensor;
159
+
public final fun encodeFromBytes ([B)Lsk/ainet/lang/tensor/Tensor;
160
+
}
161
+
162
+
public final class sk/ainet/apps/kgemma/multimodal/VisionEncoder$Companion {
Copy file name to clipboardExpand all lines: skainet-apps/skainet-kgemma/api/jvm/skainet-kgemma.api
+81-13Lines changed: 81 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,8 @@
1
+
public abstract interface class sk/ainet/apps/kgemma/AttentionBackend {
2
+
public abstract fun attention (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;II)Lsk/ainet/lang/tensor/Tensor;
3
+
public abstract fun reset ()V
4
+
}
5
+
1
6
public final class sk/ainet/apps/kgemma/Gemma3nAttentionBackend : sk/ainet/apps/kgemma/AttentionBackend {
2
7
public fun <init> (Lsk/ainet/context/ExecutionContext;Lsk/ainet/io/gguf/gemma/Gemma3nRuntimeWeights;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nConfig;Lsk/ainet/apps/kgemma/Gemma3nKvCache;)V
3
8
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lsk/ainet/io/gguf/gemma/Gemma3nRuntimeWeights;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nConfig;Lsk/ainet/apps/kgemma/Gemma3nKvCache;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -6,6 +11,7 @@ public final class sk/ainet/apps/kgemma/Gemma3nAttentionBackend : sk/ainet/apps/
6
11
}
7
12
8
13
public final class sk/ainet/apps/kgemma/Gemma3nConfig {
14
+
public static final field Companion Lsk/ainet/apps/kgemma/Gemma3nConfig$Companion;
9
15
public fun <init> ()V
10
16
public fun <init> (IIIIIILjava/util/List;ILjava/util/List;FFI)V
11
17
public synthetic fun <init> (IIIIIILjava/util/List;ILjava/util/List;FFIILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -24,34 +30,64 @@ public final class sk/ainet/apps/kgemma/Gemma3nConfig {
24
30
public final fun copy (IIIIIILjava/util/List;ILjava/util/List;FFI)Lsk/ainet/apps/kgemma/Gemma3nConfig;
25
31
public static synthetic fun copy$default (Lsk/ainet/apps/kgemma/Gemma3nConfig;IIIIIILjava/util/List;ILjava/util/List;FFIILjava/lang/Object;)Lsk/ainet/apps/kgemma/Gemma3nConfig;
26
32
public fun equals (Ljava/lang/Object;)Z
33
+
public final fun getCacheLayerIndex (I)I
34
+
public final fun getEffectiveCacheLayers ()I
27
35
public final fun getHeadDim ()I
28
36
public final fun getHiddenSize ()I
37
+
public final fun getIntermediateSize (I)I
29
38
public final fun getIntermediateSizes ()Ljava/util/List;
39
+
public final fun getKvDim ()I
30
40
public final fun getKvSharedLayers ()I
31
41
public final fun getLayerPattern ()Ljava/util/List;
42
+
public final fun getLayerType (I)Lsk/ainet/io/gguf/gemma/LayerType;
32
43
public final fun getNumAttentionHeads ()I
44
+
public final fun getNumHeadsPerKv ()I
33
45
public final fun getNumKvHeads ()I
34
46
public final fun getNumLayers ()I
35
47
public final fun getPerLayerHiddenSize ()I
48
+
public final fun getQueryDim ()I
49
+
public final fun getRopeBase (I)F
36
50
public final fun getRopeBaseGlobal ()F
37
51
public final fun getRopeBaseLocal ()F
38
52
public final fun getSlidingWindow ()I
39
53
public fun hashCode ()I
54
+
public final fun isGlobalLayer (I)Z
55
+
public final fun isKvShared (I)Z
56
+
public final fun isLocalLayer (I)Z
40
57
public fun toString ()Ljava/lang/String;
41
58
}
42
59
43
-
public abstract interface class sk/ainet/apps/kgemma/AttentionBackend {
44
-
public abstract fun attention (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;II)Lsk/ainet/lang/tensor/Tensor;
45
-
public abstract fun reset ()V
60
+
public final class sk/ainet/apps/kgemma/Gemma3nConfig$Companion {
61
+
public final fun fromMetadata (Lsk/ainet/io/gguf/gemma/Gemma3nModelMetadata;)Lsk/ainet/apps/kgemma/Gemma3nConfig;
62
+
public final fun getDEFAULT_LAYER_PATTERN ()Ljava/util/List;
63
+
public final fun getE2B_DEFAULT ()Lsk/ainet/apps/kgemma/Gemma3nConfig;
46
64
}
47
65
48
66
public final class sk/ainet/apps/kgemma/Gemma3nIngestion {
49
67
public fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nLoadConfig;)V
50
68
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nLoadConfig;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
51
69
public final fun load (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
70
+
public final fun loadFromSafeTensors (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
71
+
public final fun loadRuntime (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
72
+
public final fun loadRuntimeFromSafeTensors (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
73
+
public final fun loadRuntimeStreaming (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
52
74
public final fun loadStreaming (Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
53
75
}
54
76
77
+
public abstract interface class sk/ainet/apps/kgemma/Gemma3nKvCache {
78
+
public abstract fun getKey (IIII)F
79
+
public abstract fun getKvDim ()I
80
+
public abstract fun getNLayers ()I
81
+
public abstract fun getSeqLen ()I
82
+
public abstract fun getValue (IIII)F
83
+
public abstract fun reset ()V
84
+
public abstract fun store (II[FI[FI)V
85
+
}
86
+
87
+
public final class sk/ainet/apps/kgemma/Gemma3nKvCacheKt {
88
+
public static final fun createOptimalGemma3nKvCache (Lsk/ainet/apps/kgemma/Gemma3nConfig;I)Lsk/ainet/apps/kgemma/Gemma3nKvCache;
89
+
}
90
+
55
91
public final class sk/ainet/apps/kgemma/Gemma3nLoadConfig {
56
92
public fun <init> ()V
57
93
public fun <init> (Lsk/ainet/io/gguf/gemma/Gemma3nWeightLoader$QuantPolicy;Z)V
@@ -67,17 +103,8 @@ public final class sk/ainet/apps/kgemma/Gemma3nLoadConfig {
67
103
public fun toString ()Ljava/lang/String;
68
104
}
69
105
70
-
public abstract interface class sk/ainet/apps/kgemma/Gemma3nKvCache {
71
-
public abstract fun getKey (IIII)F
72
-
public abstract fun getKvDim ()I
73
-
public abstract fun getNLayers ()I
74
-
public abstract fun getSeqLen ()I
75
-
public abstract fun getValue (IIII)F
76
-
public abstract fun reset ()V
77
-
public abstract fun store (II[FI[FI)V
78
-
}
79
-
80
106
public final class sk/ainet/apps/kgemma/Gemma3nRuntime {
107
+
public static final field BOS_TOKEN I
81
108
public fun <init> (Lsk/ainet/context/ExecutionContext;Lsk/ainet/io/gguf/gemma/Gemma3nRuntimeWeights;Lsk/ainet/apps/kgemma/AttentionBackend;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nConfig;FLkotlin/random/Random;)V
82
109
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lsk/ainet/io/gguf/gemma/Gemma3nRuntimeWeights;Lsk/ainet/apps/kgemma/AttentionBackend;Lkotlin/reflect/KClass;Lsk/ainet/apps/kgemma/Gemma3nConfig;FLkotlin/random/Random;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
83
110
public final fun forward (I)Lsk/ainet/lang/tensor/Tensor;
@@ -88,13 +115,54 @@ public final class sk/ainet/apps/kgemma/Gemma3nRuntime {
88
115
}
89
116
90
117
public final class sk/ainet/apps/kgemma/HeapGemma3nKvCache : sk/ainet/apps/kgemma/Gemma3nKvCache {
118
+
public static final field Companion Lsk/ainet/apps/kgemma/HeapGemma3nKvCache$Companion;
91
119
public fun <init> (IIILjava/util/List;I)V
92
120
public fun getKey (IIII)F
121
+
public final fun getKeyArray ()[F
93
122
public fun getKvDim ()I
94
123
public fun getNLayers ()I
95
124
public fun getSeqLen ()I
96
125
public fun getValue (IIII)F
126
+
public final fun getValueArray ()[F
97
127
public fun reset ()V
98
128
public fun store (II[FI[FI)V
99
129
}
100
130
131
+
public final class sk/ainet/apps/kgemma/HeapGemma3nKvCache$Companion {
132
+
public final fun fromConfig (Lsk/ainet/apps/kgemma/Gemma3nConfig;I)Lsk/ainet/apps/kgemma/HeapGemma3nKvCache;
133
+
}
134
+
135
+
public final class sk/ainet/apps/kgemma/cli/MainKt {
136
+
public static final fun main ([Ljava/lang/String;)V
137
+
}
138
+
139
+
public final class sk/ainet/apps/kgemma/multimodal/AudioEncoder {
140
+
public static final field Companion Lsk/ainet/apps/kgemma/multimodal/AudioEncoder$Companion;
141
+
public static final field DEFAULT_FRAME_SIZE I
142
+
public static final field DEFAULT_HOP_SIZE I
143
+
public static final field DEFAULT_SAMPLE_RATE I
144
+
public fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;III)V
145
+
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;IIIILkotlin/jvm/internal/DefaultConstructorMarker;)V
146
+
public final fun encode ([FI)Lsk/ainet/lang/tensor/Tensor;
147
+
public static synthetic fun encode$default (Lsk/ainet/apps/kgemma/multimodal/AudioEncoder;[FIILjava/lang/Object;)Lsk/ainet/lang/tensor/Tensor;
148
+
public final fun encodeFromWav ([B)Lsk/ainet/lang/tensor/Tensor;
149
+
public final fun estimateTokenCount (FI)I
150
+
public static synthetic fun estimateTokenCount$default (Lsk/ainet/apps/kgemma/multimodal/AudioEncoder;FIILjava/lang/Object;)I
151
+
}
152
+
153
+
public final class sk/ainet/apps/kgemma/multimodal/AudioEncoder$Companion {
154
+
}
155
+
156
+
public final class sk/ainet/apps/kgemma/multimodal/VisionEncoder {
157
+
public static final field Companion Lsk/ainet/apps/kgemma/multimodal/VisionEncoder$Companion;
158
+
public static final field DEFAULT_IMAGE_SIZE I
159
+
public static final field DEFAULT_NUM_TOKENS I
160
+
public fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;II)V
161
+
public synthetic fun <init> (Lsk/ainet/context/ExecutionContext;Lkotlin/reflect/KClass;IIILkotlin/jvm/internal/DefaultConstructorMarker;)V
162
+
public final fun encode ([FII)Lsk/ainet/lang/tensor/Tensor;
163
+
public final fun encodeFromBytes ([B)Lsk/ainet/lang/tensor/Tensor;
164
+
}
165
+
166
+
public final class sk/ainet/apps/kgemma/multimodal/VisionEncoder$Companion {
0 commit comments