Skip to content

Commit 8a9e2e9

Browse files
author
David Motsonashvili
committed
add publicpreviewapi annotations and clean up code
1 parent ec8a8c2 commit 8a9e2e9

File tree

4 files changed

+22
-19
lines changed

4 files changed

+22
-19
lines changed

firebase-ai/api.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ package com.google.firebase.ai {
3636
method @com.google.firebase.ai.type.PublicPreviewAPI public com.google.firebase.ai.LiveGenerativeModel liveModel(String modelName, com.google.firebase.ai.type.LiveGenerationConfig? generationConfig = null, java.util.List<com.google.firebase.ai.type.Tool>? tools = null);
3737
method @com.google.firebase.ai.type.PublicPreviewAPI public com.google.firebase.ai.LiveGenerativeModel liveModel(String modelName, com.google.firebase.ai.type.LiveGenerationConfig? generationConfig = null, java.util.List<com.google.firebase.ai.type.Tool>? tools = null, com.google.firebase.ai.type.Content? systemInstruction = null);
3838
method @com.google.firebase.ai.type.PublicPreviewAPI public com.google.firebase.ai.LiveGenerativeModel liveModel(String modelName, com.google.firebase.ai.type.LiveGenerationConfig? generationConfig = null, java.util.List<com.google.firebase.ai.type.Tool>? tools = null, com.google.firebase.ai.type.Content? systemInstruction = null, com.google.firebase.ai.type.RequestOptions requestOptions = com.google.firebase.ai.type.RequestOptions());
39-
method public com.google.firebase.ai.TemplateGenerativeModel templateGenerativeModel();
40-
method public com.google.firebase.ai.TemplateGenerativeModel templateGenerativeModel(com.google.firebase.ai.type.RequestOptions requestOptions = com.google.firebase.ai.type.RequestOptions());
41-
method public com.google.firebase.ai.TemplateImagenModel templateImagenModel();
42-
method public com.google.firebase.ai.TemplateImagenModel templateImagenModel(com.google.firebase.ai.type.RequestOptions requestOptions = com.google.firebase.ai.type.RequestOptions());
39+
method @com.google.firebase.ai.type.PublicPreviewAPI public com.google.firebase.ai.TemplateGenerativeModel templateGenerativeModel();
40+
method @com.google.firebase.ai.type.PublicPreviewAPI public com.google.firebase.ai.TemplateGenerativeModel templateGenerativeModel(com.google.firebase.ai.type.RequestOptions requestOptions = com.google.firebase.ai.type.RequestOptions());
41+
method @com.google.firebase.ai.type.PublicPreviewAPI public com.google.firebase.ai.TemplateImagenModel templateImagenModel();
42+
method @com.google.firebase.ai.type.PublicPreviewAPI public com.google.firebase.ai.TemplateImagenModel templateImagenModel(com.google.firebase.ai.type.RequestOptions requestOptions = com.google.firebase.ai.type.RequestOptions());
4343
property public static final com.google.firebase.ai.FirebaseAI instance;
4444
field public static final com.google.firebase.ai.FirebaseAI.Companion Companion;
4545
}
@@ -87,12 +87,12 @@ package com.google.firebase.ai {
8787
method public suspend Object? connect(kotlin.coroutines.Continuation<? super com.google.firebase.ai.type.LiveSession>);
8888
}
8989

90-
public final class TemplateGenerativeModel {
90+
@com.google.firebase.ai.type.PublicPreviewAPI public final class TemplateGenerativeModel {
9191
method public suspend Object? generateContent(String templateId, java.util.Map<java.lang.String,?> inputs, kotlin.coroutines.Continuation<? super com.google.firebase.ai.type.GenerateContentResponse>);
9292
method public kotlinx.coroutines.flow.Flow<com.google.firebase.ai.type.GenerateContentResponse> generateContentStream(String templateId, java.util.Map<java.lang.String,?> inputs);
9393
}
9494

95-
public final class TemplateImagenModel {
95+
@com.google.firebase.ai.type.PublicPreviewAPI public final class TemplateImagenModel {
9696
method public suspend Object? generateImages(String templateId, java.util.Map<java.lang.String,?> inputs, kotlin.coroutines.Continuation<? super com.google.firebase.ai.type.ImagenGenerationResponse<com.google.firebase.ai.type.ImagenInlineImage>>);
9797
}
9898

firebase-ai/src/main/kotlin/com/google/firebase/ai/FirebaseAI.kt

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,11 @@ internal constructor(
113113
* @return The initialized [TemplateGenerativeModel] instance.
114114
*/
115115
@JvmOverloads
116+
@PublicPreviewAPI
116117
public fun templateGenerativeModel(
117118
requestOptions: RequestOptions = RequestOptions(),
118119
): TemplateGenerativeModel {
119-
val templateUri =
120-
when (backend.backend) {
121-
GenerativeBackendEnum.VERTEX_AI ->
122-
"projects/${firebaseApp.options.projectId}/locations/${backend.location}/templates/"
123-
GenerativeBackendEnum.GOOGLE_AI -> "projects/${firebaseApp.options.projectId}/templates/"
124-
}
120+
val templateUri = getTemplateUri(backend)
125121
return TemplateGenerativeModel(
126122
templateUri,
127123
firebaseApp.options.apiKey,
@@ -233,21 +229,17 @@ internal constructor(
233229
}
234230

235231
/**
236-
* Instantiates a new [ImagenModel] given the provided parameters.
232+
* Instantiates a new [TemplateImagenModel] given the provided parameters.
237233
*
238234
* @param requestOptions Configuration options for sending requests to the backend.
239235
* @return The initialized [TemplateImagenModel] instance.
240236
*/
241237
@JvmOverloads
238+
@PublicPreviewAPI
242239
public fun templateImagenModel(
243240
requestOptions: RequestOptions = RequestOptions(),
244241
): TemplateImagenModel {
245-
val templateUri =
246-
when (backend.backend) {
247-
GenerativeBackendEnum.VERTEX_AI ->
248-
"projects/${firebaseApp.options.projectId}/locations/${backend.location}/templates/"
249-
GenerativeBackendEnum.GOOGLE_AI -> "projects/${firebaseApp.options.projectId}/templates/"
250-
}
242+
val templateUri = getTemplateUri(backend)
251243
return TemplateImagenModel(
252244
templateUri,
253245
firebaseApp.options.apiKey,
@@ -312,6 +304,13 @@ internal constructor(
312304

313305
private val TAG = FirebaseAI::class.java.simpleName
314306
}
307+
308+
private fun getTemplateUri(backend: GenerativeBackend): String =
309+
when (backend.backend) {
310+
GenerativeBackendEnum.VERTEX_AI ->
311+
"projects/${firebaseApp.options.projectId}/locations/${backend.location}/templates/"
312+
GenerativeBackendEnum.GOOGLE_AI -> "projects/${firebaseApp.options.projectId}/templates/"
313+
}
315314
}
316315

317316
/** The [FirebaseAI] instance for the default [FirebaseApp] using the Google AI Backend. */

firebase-ai/src/main/kotlin/com/google/firebase/ai/TemplateGenerativeModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.google.firebase.ai.type.FinishReason
2424
import com.google.firebase.ai.type.FirebaseAIException
2525
import com.google.firebase.ai.type.GenerateContentResponse
2626
import com.google.firebase.ai.type.PromptBlockedException
27+
import com.google.firebase.ai.type.PublicPreviewAPI
2728
import com.google.firebase.ai.type.RequestOptions
2829
import com.google.firebase.ai.type.ResponseStoppedException
2930
import com.google.firebase.ai.type.SerializationException
@@ -37,6 +38,7 @@ import kotlinx.coroutines.flow.map
3738
* Represents a multimodal model (like Gemini), capable of generating content based on various
3839
* templated input types.
3940
*/
41+
@PublicPreviewAPI
4042
public class TemplateGenerativeModel
4143
internal constructor(
4244
private val templateUri: String,

firebase-ai/src/main/kotlin/com/google/firebase/ai/TemplateImagenModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import com.google.firebase.ai.common.TemplateGenerateImageRequest
2323
import com.google.firebase.ai.type.FirebaseAIException
2424
import com.google.firebase.ai.type.ImagenGenerationResponse
2525
import com.google.firebase.ai.type.ImagenInlineImage
26+
import com.google.firebase.ai.type.PublicPreviewAPI
2627
import com.google.firebase.ai.type.RequestOptions
2728
import com.google.firebase.appcheck.interop.InteropAppCheckTokenProvider
2829
import com.google.firebase.auth.internal.InternalAuthProvider
@@ -33,6 +34,7 @@ import com.google.firebase.auth.internal.InternalAuthProvider
3334
* See the documentation for a list of
3435
* [supported models](https://firebase.google.com/docs/ai-logic/models).
3536
*/
37+
@PublicPreviewAPI
3638
public class TemplateImagenModel
3739
internal constructor(
3840
private val templateUri: String,

0 commit comments

Comments
 (0)