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
[AI] Add configurable model generation for AI On-Device (#8043)
Introduced `GenerationConfig`, `ModelConfig`, `ModelReleaseStage`, and
`ModelPreference` to `firebase-ai-ondevice-interop` to allow for
configurable model selection.
Updated the internal `genaiPrompt` dependency to `1.0.0-beta2` to
support the new configuration options.
Deprecated the parameter-less
`FirebaseAIOnDeviceGenerativeModelFactory.newGenerativeModel()` method
in favor of a new overload that accepts a `GenerationConfig`.
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
public interface FirebaseAIOnDeviceGenerativeModelFactory {
39
-
method public com.google.firebase.ai.ondevice.interop.GenerativeModel newGenerativeModel();
39
+
method @Deprecated public com.google.firebase.ai.ondevice.interop.GenerativeModel newGenerativeModel();
40
+
method public com.google.firebase.ai.ondevice.interop.GenerativeModel newGenerativeModel(com.google.firebase.ai.ondevice.interop.GenerationConfig? generationConfig);
40
41
}
41
42
42
43
public final class FirebaseAIOnDeviceInvalidRequestException extends com.google.firebase.ai.ondevice.interop.FirebaseAIOnDeviceException {
property public final java.util.List<com.google.firebase.ai.ondevice.interop.Candidate> candidates;
76
77
}
77
78
79
+
public final class GenerationConfig {
80
+
ctor public GenerationConfig(com.google.firebase.ai.ondevice.interop.ModelConfig modelConfig);
81
+
method public com.google.firebase.ai.ondevice.interop.ModelConfig getModelConfig();
82
+
property public final com.google.firebase.ai.ondevice.interop.ModelConfig modelConfig;
83
+
}
84
+
78
85
public interface GenerativeModel {
79
86
method public suspend Object? countTokens(com.google.firebase.ai.ondevice.interop.GenerateContentRequest request, kotlin.coroutines.Continuation<? super com.google.firebase.ai.ondevice.interop.CountTokensResponse>);
80
87
method public suspend Object? generateContent(com.google.firebase.ai.ondevice.interop.GenerateContentRequest request, kotlin.coroutines.Continuation<? super com.google.firebase.ai.ondevice.interop.GenerateContentResponse>);
Copy file name to clipboardExpand all lines: ai-logic/firebase-ai-ondevice-interop/src/main/kotlin/com/google/firebase/ai/ondevice/interop/FirebaseAIOnDeviceGenerativeModelFactory.kt
+14Lines changed: 14 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -28,5 +28,19 @@ public interface FirebaseAIOnDeviceGenerativeModelFactory {
28
28
*
29
29
* @return A new [GenerativeModel] instance ready for use.
method public suspend Object? checkStatus(kotlin.coroutines.Continuation<? super com.google.firebase.ai.ondevice.OnDeviceModelStatus>);
29
-
method public kotlinx.coroutines.flow.Flow<com.google.firebase.ai.ondevice.DownloadStatus> download();
28
+
method public suspend Object? checkStatus(com.google.firebase.ai.ondevice.OnDeviceModelOption option, kotlin.coroutines.Continuation<? super com.google.firebase.ai.ondevice.OnDeviceModelStatus>);
29
+
method public kotlinx.coroutines.flow.Flow<com.google.firebase.ai.ondevice.DownloadStatus> download(com.google.firebase.ai.ondevice.OnDeviceModelOption option);
30
30
field public static final com.google.firebase.ai.ondevice.FirebaseAIOnDevice INSTANCE;
31
31
}
32
32
33
+
public final class OnDeviceModelOption {
34
+
field public static final com.google.firebase.ai.ondevice.OnDeviceModelOption.Companion Companion;
35
+
field public static final com.google.firebase.ai.ondevice.OnDeviceModelOption PREVIEW;
36
+
field public static final com.google.firebase.ai.ondevice.OnDeviceModelOption PREVIEW_FAST;
37
+
field public static final com.google.firebase.ai.ondevice.OnDeviceModelOption STABLE;
38
+
}
39
+
40
+
public static final class OnDeviceModelOption.Companion {
41
+
}
42
+
33
43
public final class OnDeviceModelStatus {
34
44
field public static final com.google.firebase.ai.ondevice.OnDeviceModelStatus AVAILABLE;
35
45
field public static final com.google.firebase.ai.ondevice.OnDeviceModelStatus.Companion Companion;
Copy file name to clipboardExpand all lines: ai-logic/firebase-ai-ondevice/src/main/kotlin/com/google/firebase/ai/ondevice/FirebaseAIOnDeviceComponent.kt
0 commit comments