作者 / 高級開發(fā)者關(guān)系工程師 Thomas Ezan
Gemini 可以幫助您構(gòu)建和發(fā)布新的用戶功能,從而提高用戶參與度,為您的用戶打造個性化體驗。
借助 Vertex AI in Firebase SDK,您可以訪問 Google 的 Gemini Cloud 模型 (如 Gemini 1.5 Flash 和 Gemini 1.5 Pro),并為您的 Android 應(yīng)用添加生成式 AI 功能。該功能于去年 10 月正式發(fā)布,目前已經(jīng)可以用于生產(chǎn)環(huán)境,并已被 Google Play 中的許多應(yīng)用所采用。
以下是一些實用技巧,可以幫助您成功地將此功能部署到生產(chǎn)環(huán)境。
實施 App Check 以防止 API 濫用
在使用 Vertex AI in Firebase API 時,實施強有力的安全措施以防止未經(jīng)授權(quán)的訪問和濫用至關(guān)重要。
Firebase App Check 有助于保護后端資源 (如 Vertex AI in Firebase 和 Cloud Functions for Firebase,甚至您自定義的后端) 免受濫用。App Check 通過驗證傳入流量是否來自運行在真實且未被篡改的 Android 設(shè)備上的真實應(yīng)用來實現(xiàn)這一目標。
△ Firebase App Check 確保只有合法用戶才能訪問您的后端資源
首先,請將 Firebase 添加至您的 Android 項目,并在 Google Play 管理中心中為您的應(yīng)用啟用 Play Integrity API。然后返回 Firebase 控制臺,轉(zhuǎn)到 Firebase 項目的 App Check 部分,通過提供應(yīng)用的 SHA-256 指紋來注冊您的應(yīng)用。
隨后,使用適用于 Android 的 App Check 庫更新 Android 項目的 Gradle 依賴項:
dependencies { // BoM for the Firebase platform implementation(platform("com.google.firebase33.7.0")) // Dependency for App Check implementation("com.google.firebase:firebase-appcheck-playintegrity") }最后,在您的 Kotlin 代碼中初始化 App Check,再使用其他的 Firebase SDK:
Firebase.initialize(context) Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
為了增強生成式 AI 功能的安全性,您可以在將應(yīng)用發(fā)布到生產(chǎn)環(huán)境之前實施并強制執(zhí)行 App Check。此外,如果您的應(yīng)用使用了 Firebase Authentication、Firestore 或 Cloud Functions 等其他 Firebase 服務(wù),App Check 也會為這些資源提供額外的保護層。
一旦啟用 App Check 強制執(zhí)行后,您將可以在 Firebase 控制臺中監(jiān)控您應(yīng)用的請求。
△ Firebase 控制臺中的 App Check 指標頁面
您可以查閱 Firebase 官網(wǎng)上的文檔以詳細了解 Android 上的 App Check。
使用 Remote Config 實現(xiàn)服務(wù)器端配置管理
生成式 AI 領(lǐng)域發(fā)展迅速。每隔幾個月,Gemini 就會迭代推出新模型,并移除部分舊模型。
因此,我們建議通過 Firebase Remote Config 使用服務(wù)器控制的變量,而不是在您的應(yīng)用中硬編碼模型名稱。這樣您就可以動態(tài)更新應(yīng)用使用的模型,而無需部署新版本的應(yīng)用或要求用戶獲取新版本。
您可以使用 Firebase 控制臺定義要控制的參數(shù) (如模型名稱)。然后,將這些參數(shù)以及每個參數(shù)的默認 "回退" 值添加到應(yīng)用中?;氐?Firebase 控制臺,您可以隨時更改這些參數(shù)的值。您的應(yīng)用將自動獲取新值。
下面介紹如何在您的應(yīng)用中實現(xiàn) Remote Config:
// Initialize the remote configuration by defining the refresh time valremoteConfig: FirebaseRemoteConfig = Firebase.remoteConfig valconfigSettings = remoteConfigSettings { minimumFetchIntervalInSeconds =3600 } remoteConfig.setConfigSettingsAsync(configSettings) // Set default values defined in your app resources remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults) // Load the model name valmodelName = remoteConfig.getString("model_name")
您可以在 Firebase 官網(wǎng)上了解更多關(guān)于在 Vertex AI in Firebase 中使用 Remote Config 的內(nèi)容。
收集用戶反饋以評估影響
當您將啟用 AI 的功能發(fā)布到生產(chǎn)環(huán)境中時,為您的產(chǎn)品構(gòu)建反饋機制,并且允許用戶輕松反饋 AI 輸出是否有用、準確或相關(guān)至關(guān)重要。例如,您可以在界面中加入 "點贊" 和 "反對" 按鈕等交互式元素,以及詳細的反饋表單。Compose 中的 Material Icons package 提供了現(xiàn)成可用的圖標來幫助您實現(xiàn)它。
您可以使用 Google Analytics 的 logEvent() 函數(shù),輕松地將用戶與這些元素的交互作為自定義分析事件進行跟蹤:
Row{ Button( onClick = { firebaseAnalytics.logEvent("model_response_feedback") { param("feedback","thumb_up") } } ) { Icon(Icons.Default.ThumbUp, contentDescription ="Thumb up") }, Button( onClick = { firebaseAnalytics.logEvent("model_response_feedback") { param("feedback","thumb_down") } } ) { Icon(Icons.Default.ThumbDown, contentDescription ="Thumb down") } }
您可以在 Firebase 文檔中詳細了解 Google Analytics 及其日志記錄功能。
用戶隱私和負責任的 AI
當您使用 Vertex AI in Firebase 進行推理時,我們將確保您發(fā)送給 Google 的數(shù)據(jù)不會被 Google 用于訓(xùn)練 AI 模型。
當用戶使用生成式 AI 技術(shù)時,對其保持信息透明同樣至關(guān)重要。您應(yīng)該提醒用戶模型可能發(fā)生的意外行為。
最后,您的應(yīng)用應(yīng)該允許用戶控制儲存和刪除他們與 AI 模型交互的相關(guān)活動數(shù)據(jù)。
您可以訪問 Google Cloud 文檔,詳細了解 Google 如何負責任地應(yīng)用生成式 AI。
-
Android
+關(guān)注
關(guān)注
12文章
3959瀏覽量
129218 -
Google
+關(guān)注
關(guān)注
5文章
1782瀏覽量
58499 -
API
+關(guān)注
關(guān)注
2文章
1554瀏覽量
63287 -
生成式AI
+關(guān)注
關(guān)注
0文章
524瀏覽量
680
原文標題:在 Android 上使用 Vertex AI in Firebase,實現(xiàn)可用于生產(chǎn)環(huán)境的生成式 AI
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論