Skip to content

Commit 282985c

Browse files
committed
refactor: use Firebase AI Logic SDK
1 parent 0668a13 commit 282985c

File tree

4 files changed

+20
-19
lines changed

4 files changed

+20
-19
lines changed

app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ dependencies {
121121

122122
implementation(platform(libs.firebase.bom))
123123
implementation(libs.firebase.crashlytics)
124-
implementation(libs.firebase.vertexai)
124+
implementation(libs.firebase.ai)
125125
implementation(libs.firebase.app.check)
126126
implementation(libs.firebase.config)
127127
implementation(libs.firebase.appcheck.debug)

core/network/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ dependencies {
7171
implementation(libs.coil.compose.http)
7272
implementation(libs.coil.gif)
7373
implementation(platform(libs.firebase.bom))
74-
implementation(libs.firebase.vertexai)
74+
implementation(libs.firebase.ai)
7575
implementation(libs.firebase.analytics) {
7676
exclude(group = "com.google.guava")
7777
}

core/network/src/main/java/com/android/developers/androidify/vertexai/FirebaseAiDataSource.kt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,20 @@ import com.android.developers.androidify.model.ImageValidationError
2222
import com.android.developers.androidify.model.ValidatedDescription
2323
import com.android.developers.androidify.model.ValidatedImage
2424
import com.google.firebase.Firebase
25-
import com.google.firebase.vertexai.GenerativeModel
26-
import com.google.firebase.vertexai.ImagenModel
27-
import com.google.firebase.vertexai.type.HarmBlockThreshold
28-
import com.google.firebase.vertexai.type.HarmCategory
29-
import com.google.firebase.vertexai.type.ImagenPersonFilterLevel
30-
import com.google.firebase.vertexai.type.ImagenSafetyFilterLevel
31-
import com.google.firebase.vertexai.type.ImagenSafetySettings
32-
import com.google.firebase.vertexai.type.PublicPreviewAPI
33-
import com.google.firebase.vertexai.type.SafetySetting
34-
import com.google.firebase.vertexai.type.Schema
35-
import com.google.firebase.vertexai.type.content
36-
import com.google.firebase.vertexai.type.generationConfig
37-
import com.google.firebase.vertexai.vertexAI
25+
import com.google.firebase.ai.GenerativeModel
26+
import com.google.firebase.ai.ImagenModel
27+
import com.google.firebase.ai.type.HarmBlockThreshold
28+
import com.google.firebase.ai.type.HarmCategory
29+
import com.google.firebase.ai.type.ImagenPersonFilterLevel
30+
import com.google.firebase.ai.type.ImagenSafetyFilterLevel
31+
import com.google.firebase.ai.type.ImagenSafetySettings
32+
import com.google.firebase.ai.type.PublicPreviewAPI
33+
import com.google.firebase.ai.type.SafetySetting
34+
import com.google.firebase.ai.type.Schema
35+
import com.google.firebase.ai.type.content
36+
import com.google.firebase.ai.type.generationConfig
37+
import com.google.firebase.ai.ai
38+
import com.google.firebase.ai.type.GenerativeBackend
3839
import kotlinx.serialization.json.Json
3940
import kotlinx.serialization.json.booleanOrNull
4041
import kotlinx.serialization.json.decodeFromJsonElement
@@ -73,7 +74,7 @@ class FirebaseAiDataSourceImpl @Inject constructor(
7374
private val remoteConfigDataSource: RemoteConfigDataSource,
7475
) : FirebaseAiDataSource {
7576
private fun createGenerativeTextModel(jsonSchema: Schema, temperature: Float? = null): GenerativeModel {
76-
return Firebase.vertexAI.generativeModel(
77+
return Firebase.ai(backend = GenerativeBackend.vertexAI()).generativeModel(
7778
modelName = remoteConfigDataSource.textModelName(),
7879
generationConfig = generationConfig {
7980
responseMimeType = "application/json"
@@ -91,7 +92,7 @@ class FirebaseAiDataSourceImpl @Inject constructor(
9192
}
9293

9394
private fun createGenerativeImageModel(): ImagenModel {
94-
return Firebase.vertexAI.imagenModel(
95+
return Firebase.ai.imagenModel(
9596
remoteConfigDataSource.imageModelName(),
9697
safetySettings =
9798
ImagenSafetySettings(

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ coreKtx = "1.15.0"
2525
coreSplashscreen = "1.0.1"
2626
crashlytics = "3.0.3"
2727
espressoCore = "3.6.1"
28-
firebaseBom = "33.13.0"
28+
firebaseBom = "33.14.0"
2929
firebaseConfigKtx = "22.1.1"
3030
googleServices = "4.4.2"
3131
hiltAndroid = "2.56.2"
@@ -107,7 +107,7 @@ firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "fir
107107
firebase-config = { module = "com.google.firebase:firebase-config" }
108108
firebase-config-ktx = { group = "com.google.firebase", name = "firebase-config-ktx", version.ref = "firebaseConfigKtx" }
109109
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics" }
110-
firebase-vertexai = { module = "com.google.firebase:firebase-vertexai" }
110+
firebase-ai = { module = "com.google.firebase:firebase-ai" }
111111
hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hiltAndroid" }
112112
hilt-android-testing = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "hiltAndroid" }
113113
hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "hiltAndroid" }

0 commit comments

Comments
 (0)