Kỹ sư quan hệ với nhà phát triển
Để tích hợp AI tạo sinh vào ứng dụng Android cho môi trường thực tế, bạn không chỉ cần kết nối với một mô hình ngôn ngữ lớn (LLM) mà còn cần có các biện pháp kiểm soát chi phí và bảo mật cấp doanh nghiệp. Trong phiên này, hãy khám phá cách Firebase AI Logic hỗ trợ nhà phát triển triển khai trải nghiệm AI an toàn, tiết kiệm chi phí trên quy mô lớn.
Chúng ta sẽ tìm hiểu từ các kiến thức cơ bản về bảo mật và Kiểm tra ứng dụng Firebase, quản lý chi phí, định tuyến mô hình động cho đến cách tận dụng các tính năng đa thức.
Bản chép lời
Chào mừng bạn đến với Hội nghị Nhà phát triển Android.
Tôi là Ankita Saxena, Nhà quản lý sản phẩm Firebase.
Còn tôi là Arthur Thompson, Kỹ sư quan hệ nhà phát triển thuộc nhóm Firebase.
Hôm nay, chúng tôi sẽ hướng dẫn bạn cách thêm các tính năng tạo sinh vào ứng dụng Android.
Được rồi.
Firebase là gì?
Hãy giơ tay nếu bạn đã từng nghe nói về Firebase.
Ồ, tôi thấy rất nhiều.
Tuyệt vời.
Firebase là nền tảng phát triển ứng dụng của Google.
Firebase cung cấp một nền tảng hợp nhất có hơn 20 sản phẩm được tích hợp với nhau, nhờ đó bạn không phải trải nghiệm sự phân mảnh như khi sử dụng các phần mềm khác.
Hãy cùng thảo luận về những thách thức khi đưa AI tạo sinh vào ứng dụng di động.
Chúng tôi đã xác định được 3 thách thức hàng đầu.
Đầu tiên là rò rỉ khoá API: chỉ mất vài phút để trích xuất khoá API.
Thứ hai, cập nhật tên mô hình: chúng tôi luôn khuyên nhà phát triển không nên được cố định giá trị trong mã chúng trong ứng dụng của bạn, nếu không, mỗi khi có mô hình mới, bạn sẽ phải phát hành một bản phát hành khác.
Thứ ba là quyền riêng tư của tệp: việc bảo vệ dữ liệu và có các biện pháp bảo vệ phù hợp cho ứng dụng là rất quan trọng đối với mọi nhà phát triển hoặc người dùng ứng dụng.
Giới thiệu Firebase AI Logic là giải pháp chính để giải quyết những thách thức mà chúng ta đã thảo luận.
Firebase AI Logic mang lại cho bạn tuyên bố giá trị nào?
Về cơ bản, chúng tôi sẽ đảm nhận tất cả các phần phụ trợ tuỳ chỉnh phức tạp để bạn không phải phát triển phần phụ trợ đó.
Thứ hai, bằng cách sử dụng SDK ứng dụng của chúng tôi, bạn có thể gọi Gemini API trực tiếp và an toàn từ các ứng dụng di động của mình.
Hãy cùng tìm hiểu sâu hơn và nắm được cách thức hoạt động của cấu trúc này.
Ở bên trái là SDK ứng dụng Firebase.
Chúng tôi hiện hỗ trợ nhiều SDK ứng dụng.
Tôi muốn chỉ ra rằng chúng tôi cũng hỗ trợ Kotlin.
Khi bạn muốn thực hiện một hành động AI, SDK sẽ gửi yêu cầu đến Firebase AI Logic, sau đó Firebase AI Logic sẽ định tuyến yêu cầu đó một cách an toàn đến Gemini Developer API hoặc Agent Platform Gemini API.
Vì vậy, về cơ bản, chúng tôi đang xử lý tất cả phần phụ trợ tuỳ chỉnh mà bạn đang tạo ngày hôm nay.
Và giá trị mà chúng tôi nhận được là bạn đang đẩy nhanh thời gian tiếp thị mà không tốn chi phí.
Giờ là phần thú vị.
Đây sẽ là bản minh hoạ giới thiệu ứng dụng FriendlyMeals.
Xin lưu ý rằng chúng tôi sẽ sử dụng cùng một ứng dụng cho các bản minh hoạ còn lại trong buổi này, vì vậy, hãy tải ứng dụng đó xuống.
Bạn có thể quét mã QR tại đây.
Hãy cùng xem bản minh hoạ.
Ứng dụng FriendlyMeals về cơ bản giúp bạn xác định công thức nấu ăn dựa trên nguyên liệu mà bạn nhập.
Vì vậy, trong quy trình này, bạn sẽ thấy hai cách để thu thập các thành phần đó.
Một là bạn nhập những nguyên liệu mà bạn có.
Thứ hai, bạn chụp ảnh các nguyên liệu.
Tôi sẽ sử dụng quy trình làm việc đầu tiên, đó là nhập nguyên liệu.
Đó là tất cả những gì tôi tìm thấy trong tủ lạnh.
Trong khi công thức đang được tạo, tôi muốn lưu ý một vài điều.
Vì vậy, về cơ bản, chúng ta đang gọi các mô hình Gemini tại đây.
Đối với trường hợp sử dụng cụ thể này, chúng ta sẽ gọi ba mô hình Gemini 3.8 Flash.
Nếu bạn nhìn thấy hình ảnh ở trên cùng, thì đó là hình ảnh được tạo bằng mô hình Gemini Nano Banana, cụ thể là Nano Banana 2.1, phiên bản mới nhất.
Trước khi đi sâu vào mã, tôi muốn nhấn mạnh tuyên bố giá trị mà bạn nhận được thông qua Firebase AI Logic.
Đầu tiên là SDK không máy chủ.
Bạn muốn thêm một tính năng AI nhưng không muốn phải thiết lập phần phụ trợ.
Đó là lúc bạn cần đến SDK phía máy khách của chúng tôi.
Bạn gọi trực tiếp cho Gemini từ ứng dụng Android.
Thứ hai là các tính năng bảo mật mạnh mẽ được tích hợp sẵn.
Vì vậy, khi gọi đến Gemini, bạn có thể tận dụng những tính năng như Kiểm tra ứng dụng Firebase cũng như Mẫu câu lệnh máy chủ và các tính năng khác. Chúng ta sẽ nói thêm về các tính năng bảo mật đó sau.
Thứ ba là hỗ trợ các tính năng nâng cao như đầu vào đa phương thức và truyền trực tuyến.
Giả sử bạn muốn tạo một ứng dụng có thêm một tính năng AI đơn giản để tạo câu chuyện về một chiếc ba lô thần kỳ.
import com.google.firebase.Firebase
import com.google.firebase.ai.ai
@Composable
fun MagicBackpackGenerator() {
var output by remember { mutableStateOf("") }
LaunchedEffect(Unit) {
val model=Firebase.ai.generativeModel("gemini-4-argon")
val response = model.generateContent("Write a story about a magic backpack")
output = response.text.toString()
}
MagicBackpackUI(output)
}Chỉ cần thực hiện 3 bước đơn giản sau đây để thêm tính năng AI đó và chuẩn bị cho quá trình phát hành chính thức.
Vì Firebase AI Logic giúp bạn dễ dàng thêm các tính năng AI vào ứng dụng, nên câu hỏi đầu tiên bạn nên đặt ra là làm thế nào để bảo mật tính năng này?
Hãy cùng tìm hiểu chi tiết về bảo mật, bắt đầu bằng tính năng Kiểm tra ứng dụng Firebase.
Tính năng Kiểm tra ứng dụng Firebase giúp bạn bảo vệ dữ liệu, bảo vệ người dùng và kiểm soát những người có quyền truy cập vào tài nguyên API bằng cách chứng thực rằng các yêu cầu đến từ ứng dụng của bạn.
Đây là một lớp bảo mật bổ sung giúp ngăn chặn hành vi sai trái đối với ứng dụng của bạn.
Trước khi bắt đầu viết mã, bạn cần thực hiện một số bước trong bảng điều khiển của Firebase.
Vì vậy, trong phần Kiểm tra ứng dụng trong bảng điều khiển của Firebase, bạn sẽ đăng ký ứng dụng Android của mình và thêm các nhà cung cấp dịch vụ chứng thực tương ứng.
Chẳng hạn như Play Integrity hoặc reCAPTCHA Enterprise.
Lưu ý rằng khi bắt đầu, sau khi thiết lập Kiểm tra ứng dụng, bạn nên bắt đầu bằng chế độ không thực thi.
Bằng cách này, bạn cho phép ứng dụng cung cấp dữ liệu đo từ xa để đảm bảo rằng tất cả ứng dụng của bạn đều nhận được lệnh gọi API thành công đến phần phụ trợ trước khi bạn thực thi.
Sau khi thấy dữ liệu đo từ xa được truyền tải suôn sẻ, bạn có thể thực thi Kiểm tra ứng dụng. Khi đó, mọi yêu cầu không có mã thông báo hợp lệ, được chứng thực bằng phần cứng sẽ bị từ chối.
Sau đây là mã để triển khai Kiểm tra ứng dụng. Đây là giao diện của mã.
class FireTravelApp : Application() {
lateinit var appContainer: AppContainer
private set
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Firebase.appCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance()
)
} else {
Firebase.appCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance()
)
}
appContainer = AppContainer(this)
}
}Trong lớp ứng dụng, bạn cài đặt nhà cung cấp Kiểm tra ứng dụng.
Trong giai đoạn phát triển, bạn nên sử dụng nhà cung cấp dịch vụ gỡ lỗi, sau đó khi đã sẵn sàng phát hành chính thức, bạn có thể chuyển sang Play Integrity hoặc reCAPTCHA Enterprise.
Tuy nhiên, hãy luôn nhớ rằng bạn cần định cấu hình Kiểm tra ứng dụng trước khi thực hiện bất kỳ lệnh gọi Firebase nào khác.
Khi xây dựng các tính năng AI, nhà phát triển thường cố định giá trị câu lệnh ngay trong mã ứng dụng, nhưng điều này tạo ra hai thách thức lớn.
Một là, nếu cần cải thiện câu lệnh, bạn phải cập nhật toàn bộ câu lệnh.
Thứ hai, bất kỳ ai giải nén ứng dụng của bạn đều có quyền truy cập vào thiết kế câu lệnh độc quyền của bạn.
Để giải quyết vấn đề này, Firebase AI Logic sử dụng các mẫu câu lệnh của máy chủ.
Thay vì lưu giữ câu lệnh trên thiết bị, tính năng này sẽ lưu trữ câu lệnh trên đám mây.
Đây là giao diện của các mẫu câu lệnh phía máy chủ trong bảng điều khiển của Firebase.
Bạn tạo mẫu ở định dạng .prompt.
---
model: 'gemini-3-flash'
input:
schema:...
tools:...
---
{{role "system"}}
You're a storyteller that tells nice and joyful stories with happy endings.
{{role "user"}}
Create a story about {{topic}} with the length of {{length}} words in the {{language}} language.Bạn có thể đặt tên mô hình ngay tại đây.
Bạn có thể cập nhật thông tin này bất cứ lúc nào.
Bạn không cần phải đẩy toàn bộ bản cập nhật ứng dụng.
Bạn cũng có thể cập nhật chỉ dẫn hệ thống và chỉ dẫn này cũng sử dụng giản đồ JSON nghiêm ngặt cho dữ liệu đầu vào và đầu ra.
Xin nhắc lại, bạn không cần phát hành ứng dụng.
Vì mô hình này nằm trên đám mây, nên bạn có thể tinh chỉnh hoặc điều chỉnh câu lệnh hoặc hoán đổi mô hình ngay lập tức.
Và đây là giao diện của mã trong Kotlin.
val generativeModel = Firebase.ai.templateGenerativeModel()
val response = generativeModel.generateContent("storyteller-v1",
mapOf(
"topic" to topic,
"length" to length,
"language" to language
)
)
output.value = response.textMột điểm cần lưu ý ở đây là mẫu câu lệnh phía máy chủ đang ở giai đoạn Bản dùng trước công khai.
Bạn cũng có thể triển khai Chế độ chỉ uỷ quyền.
Thao tác này sử dụng mã thông báo người dùng Firebase Auth để uỷ quyền cho yêu cầu.
Để hoàn thiện các tính năng bảo mật và khoá hoàn toàn ứng dụng, bạn cũng có thể sử dụng Chế độ chỉ mẫu ngay trong bảng điều khiển của Firebase.
Sau khi ứng dụng đi vào hoạt động, bạn có thể muốn biết ứng dụng đang hoạt động như thế nào.
Trong thẻ Giám sát bằng AI, bạn chỉ cần nhấp một lần là có thể bật tính năng Giám sát bằng AI và định cấu hình tốc độ lấy mẫu.
Firebase sẽ tự động thu thập các chỉ số, độ trễ và số lượng mã thông báo mà bạn không cần phải viết mã phân tích tuỳ chỉnh cho việc đó.
Một chú thích đề cập đến hai chế độ mà chúng ta vừa thấy, tất cả đều có sẵn trong cùng một cửa sổ.
Sau khi bạn bật tính năng Giám sát bằng AI trên bảng điều khiển của Firebase, dữ liệu sẽ được đưa trực tiếp vào trang tổng quan Giám sát bằng AI.
Bạn có thể quan sát độ trễ ở phân vị thứ 95, phát hiện các lỗi tăng đột biến và theo dõi mức tiêu thụ mã thông báo trên nhiều phương thức như văn bản, hình ảnh và âm thanh.
Bạn cũng có thể kiểm tra Trình xem dấu vết để xem một số dấu vết.
Vì vậy, trong trường hợp này, vì nó cho thấy sự khác biệt, mô hình mà chúng ta đang sử dụng, bạn có thể thấy độ trễ, tỷ lệ thành công.
Trong bảng điều khiển của Firebase, bạn có thể xem tất cả dữ liệu đo từ xa và thông tin về cách tính năng AI của bạn đang hoạt động.
Vì vậy, trong trường hợp đó, giả sử bạn thấy mức sử dụng mã thông báo tăng đột biến hoặc độ trễ tăng đột biến, thì mô hình kết hợp là một cách để giảm chi phí hoặc giảm độ trễ đó.
Và khi các tính năng AI tạo sinh trở thành một phần quan trọng trong các ứng dụng của chúng tôi, việc chỉ dựa vào đám mây có lẽ không phải là lựa chọn phù hợp.
Vì vậy, việc sử dụng Nano 4, các mô hình trên thiết bị Android, sẽ mang lại 3 lợi ích chính mà có thể bạn đã biết.
Đầu tiên là chế độ ngoại tuyến.
Vì vậy, dù bạn đang ở trong một hội nghị lớn, trên máy bay hay trên tàu điện ngầm, tính năng AI của bạn vẫn sẽ hoạt động.
Chi phí.
Vì vậy, do quá trình suy luận chạy trên thiết bị, bạn có thể thêm các tính năng này mà không phải lo lắng về việc tăng chi phí cho tính năng AI.
Và thứ ba là quyền riêng tư đối với dữ liệu.
Vì vậy, nếu đó là dữ liệu nhạy cảm, bạn có thể đảm bảo với người dùng rằng không có thông tin suy luận nào rời khỏi thiết bị của bạn.
Vì vậy, khi sử dụng Firebase AI Logic, bạn có thể đặt các chế độ suy luận này và có chiến lược định tuyến rõ ràng, chẳng hạn như PREFER_ON_DEVICE, PREFER_IN_CLOUD hoặc ONLY_ON_DEVICE.
Khi bạn chọn ONLY_ON_DEVICE, SDK sẽ khai thác trực tiếp mô hình trên thiết bị, bỏ qua hoàn toàn đám mây.
Hãy chuyển sang điện thoại.
Vậy nên, một lần nữa, chúng ta sẽ truy cập vào FriendlyMeals và xem xét một số tính năng trên thiết bị.
Vì vậy, điều đầu tiên chúng ta sẽ thử là tạo một công thức nấu ăn dựa trên một số nguyên liệu có thể có trong tủ lạnh.
Trước đó, bạn đã thấy Ankita sử dụng phương pháp thủ công, tức là chỉ cần nhập các thành phần rồi tạo công thức.
Vậy hãy thử cách khác.
Hãy lấy chiếc tủ lạnh rất thật này, hoàn toàn không phải do AI tạo ra.
Có rất nhiều ô liu trong tủ lạnh này, vì vậy, hãy xem chúng ta có thể tạo ra công thức nấu ăn nào ở đây.
Vì vậy, tôi muốn chỉ ra một vài điều.
Một là hình ảnh không bao giờ rời khỏi thiết bị.
Hình ảnh được Nano by Gemma phân tích trên thiết bị…
Nano 4.
Và điều thứ hai là tốc độ phản hồi.
Vậy là thành phần đã được tạo.
Như vậy, bạn sẽ nhận được hai lợi ích.
Dữ liệu không rời khỏi thiết bị, đồng thời độ trễ cũng giảm đáng kể.
Được rồi, hãy xem chúng ta có công thức nấu ăn nào từ tủ lạnh có ô liu.
Vì vậy, lần này, chúng tôi sẽ sử dụng đám mây.
Vì vậy, chúng ta sẽ lấy các nguyên liệu được xác định trong tủ lạnh rồi gửi chúng lên đám mây, tất cả đều sử dụng Firebase AI Logic để tạo công thức nấu ăn.
Tôi không thấy cá hồi trong tủ lạnh, nhưng tôi thấy có cá hồi trong công thức nấu ăn.
Nhưng hãy quay lại trang trình bày.
Như chúng ta đã thấy trong bản minh hoạ, việc chuyển đổi giữa mô hình cục bộ và mô hình đám mây khá đơn giản.
Hiện tại, Firebase AI Logic cho phép suy luận bằng cách định tuyến cơ bản dựa trên tình trạng sẵn sàng của mạng.
Để quản lý suy luận này, bạn có thể coi đây là rào chắn.
Vì vậy, kiến trúc này có hỗ trợ tích hợp sẵn cho các tính năng như giản đồ đầu vào và đầu ra đa phương thức, cũng như tích hợp hoàn toàn với Gemma, xin lỗi, với Gemini Nano 4.
Hãy cùng xem cách triển khai các biện pháp bảo vệ này trong thực tế.
Vì vậy, khi sử dụng tính năng định tuyến kết hợp, bạn không cần phải xây dựng phần mềm trung gian phức tạp hoặc tự xây dựng nhiều logic dự phòng.
Về mặt mã, đây chỉ là một tham số bổ sung.
Bạn truyền một tham số onDeviceConfig để đặt chế độ mà bạn muốn.
import com.google.firebase.Firebase
import com.google.firebase.ai.ai
@Composable
fun MagicBackpackGenerator() {
var output by remember { mutableStateOf("") }
LaunchedEffect(Unit) {
val model = Firebase.ai.generativeModel(modelName = "gemini-3.8-flash",
onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE))
val response = model.generateContent("Write a story about a magic backpack")
output = response.text.toString()
}
MagicBackpackUI(output)
}Trong trường hợp này, SDK sẽ thử mô hình cục bộ trước và nếu không có, SDK sẽ tự động quay lại đám mây.
Sau khi đã tìm hiểu cách xây dựng ứng dụng an toàn và tận dụng các mô hình trên thiết bị, hãy cùng nói về việc tối ưu hoá chi phí.
Các tính năng tạo sinh có thể mở rộng nhanh chóng và hoá đơn dịch vụ đám mây của bạn cũng vậy.
Vì vậy, chúng tôi cần có các biện pháp bảo vệ thích hợp để đảm bảo rằng chúng tôi có các tính năng tự động và biện pháp kiểm soát cơ sở hạ tầng chủ động phù hợp, có thể giúp bạn dự đoán ngân sách và giúp các ứng dụng của bạn đạt hiệu quả tài chính.
Mặc dù Arthur vừa nhấn mạnh rằng suy luận trên thiết bị hoàn toàn miễn phí, nhưng vẫn luôn có những trường hợp cần đến các tác vụ suy luận phức tạp và cũng cần đến phương án dự phòng, tức là cần định tuyến đến đám mây.
Khi các lệnh gọi đám mây đó xảy ra, bạn cần có các biện pháp bảo vệ để đảm bảo ngân sách của mình luôn nằm trong tầm kiểm soát.
Đây chính là lý do bạn cần đến hạn mức chi tiêu của Firebase.
Với hạn mức chi tiêu, bạn có thể kiểm soát chi phí cho ứng dụng của mình một cách chi tiết hơn.
Vì vậy, thay vì cài đặt ngân sách chung cho toàn bộ dự án và nhận cảnh báo ngân sách qua email, bạn có thể đặt hạn mức ngân sách cụ thể cho từng dịch vụ như Firebase AI Logic.
Khi mức chi tiêu của bạn đạt 100%, Firebase sẽ tự động tạm dừng dịch vụ AI để ngăn chặn mọi hoá đơn vượt mức.
Ngoài giới hạn chi tiêu đơn giản, còn có một số chiến lược tối ưu hoá chi phí nâng cao.
Tính năng mà chúng tôi muốn giới thiệu hôm nay là trình kích hoạt Firebase AI Logic.
Nếu bạn cần một logic tuỳ chỉnh ở giữa thì sao?
Đó chính là trình kích hoạt Firebase AI Logic.
Bạn có thể chạy một hàm trước hoặc sau khi tạo nội dung.
Hãy dùng API này để kiểm tra người dùng, lọc dữ liệu đầu vào, thêm ngữ cảnh và điều chỉnh phản hồi.
Vậy là chúng ta đã thảo luận xong về việc tối ưu hoá chi phí và bảo mật, giờ hãy chuyển sang khả năng của mô hình và xem Firebase AI Logic cung cấp những gì.
Để hỗ trợ những trải nghiệm đa phương thức này, Firebase AI Logic cung cấp một danh mục toàn diện gồm các mô hình và công cụ sẵn sàng cho môi trường thực tế.
Để suy luận, xử lý văn bản, mã và nội dung nghe nhìn ở tốc độ cao, bạn có thể dùng Gemini 4 Argon, Gemini 3.1 Pro, Gemini 3.8 Flash và các mô hình khác.
Bạn cũng có thể kết nối các mô hình này với dữ liệu thực tế bằng tính năng Bám sát nguồn trên Tìm kiếm và Maps.
Cuối cùng, đối với giọng nói, chúng tôi cung cấp tính năng chuyển văn bản sang lời nói tự nhiên và tạo âm thanh bằng Gemini Live.
Hãy chuyển sang điện thoại một lần nữa.
Vậy là chúng ta đã có món ngọt và món mặn.
Ồ, xin lỗi, không phải cái đó.
Sau đây là công thức làm món Bánh mì nướng phô mai sốt cà chua nhanh gọn.
Nghe ngon đấy.
Và điều đầu tiên chúng ta muốn xem xét là Live API.
Vì vậy, trong trường hợp này, chúng ta sẽ có thể sử dụng video được trả về và tôi có thể nói: "Này Gemini, bạn có thể cho tôi biết trên bàn có những nguyên liệu gì không?"
Dựa trên hình ảnh trên màn hình máy tính xách tay, bạn có các nguyên liệu là bánh mì, phô mai cheddar và sốt cà chua.
Được rồi.
Vậy tôi có thể bắt đầu bước đầu tiên của công thức không?
Có.
Bước đầu tiên là làm nóng lò nướng bánh mì hoặc vỉ nướng ở nhiệt độ trung bình cao.
Cảm ơn bạn.
Được rồi.
Vì vậy, trong trường hợp đó, Live API đã được sử dụng và cuộc trò chuyện đó sẽ tiếp tục cho đến khi tôi đóng lại.
Một tính năng khác mà tôi muốn giới thiệu là chuyển lời nói thành văn bản, à không, chuyển văn bản sang lời nói.
Và với tính năng chuyển văn bản sang lời nói, trong ví dụ này, chúng ta có hướng dẫn về công thức nấu ăn.
Vì vậy, thay vì phải đọc, tôi có thể nhấn vào "Tạo" hoặc "Nói" để gửi văn bản hướng dẫn đến mô hình chuyển văn bản sang lời nói.
Mô hình này sẽ tạo âm thanh và gửi lại âm thanh đó cho thiết bị.
Tôi có thể phát, lưu vào bộ nhớ đệm để phát sau và video sẽ phát như chúng ta thấy ở đây.
1.
Làm nóng lò nướng bánh mì hoặc vỉ nướng ở mức nhiệt trung bình cao.
2.
Đặt hai lát bánh mì lên khay nướng hoặc khay máy nướng bánh mì.
Tuyệt.
Thật tuyệt phải không?
Vì vậy, Firebase AI Logic cho phép chúng ta triển khai các loại tính năng thú vị này chỉ bằng vài dòng mã.
Hãy quay lại trang trình bày.
Giờ chúng ta đã thấy cách Gemini Live API hoạt động trong bản minh hoạ, vậy nếu bạn muốn tự xây dựng một trải nghiệm trò chuyện không cần dùng tay thì sao?
Đây là lúc Gemini Live API phát huy tác dụng, cho phép bạn tạo cuộc trò chuyện thoại hai chiều.
Ứng dụng Android của bạn có thể truyền trực tuyến âm thanh micrô và khung hình camera lên máy chủ, đồng thời nhận lại giọng nói tự nhiên, có độ trễ thấp theo thời gian thực.
Trong Kotlin, việc thiết lập này có vẻ khá quen thuộc.
val model = Firebase.ai.liveModel(
modelName = "gemini-3.1-flash-live-preview",
generationConfig = liveGenerationConfig {
responseModality = ResponseModality.AUDIO
},
systemInstruction = "Your main job is to change the color...",
tools = listOf(Tool.functionDeclarations(listOf(changeColorFunction)))
)
val session = model.connect(::handler)
session.startAudioConversation(::handler)
session.stopAudioConversation()Bạn tạo thực thể cho một mô hình Live được định cấu hình cho phản hồi bằng âm thanh và kết nối với phiên bằng trình xử lý luồng.
Điểm quan trọng nhất mà chúng tôi muốn nhấn mạnh ở đây là SDK xử lý toàn bộ nội dung WebSocket và giao thức truyền trực tuyến trong nền.
Vậy nên bạn không cần phải lập trình, đúng không?
Tiếp tục viết các dòng.
Khi kết thúc phần minh hoạ và hướng đến tương lai của việc phát triển ứng dụng, chúng tôi muốn giới thiệu một công cụ mạnh mẽ cho quy trình làm việc của bạn, đó là Kỹ năng của tác nhân Firebase.
# Execute to add agent capabilities to your workspace
npx skills add firebase/agent-skillsNgoài ra, đối với những người dùng Antigravity và Android Studio, chúng tôi đã tích hợp Firebase AI Logic trực tiếp vào quy trình làm quen với ứng dụng.
Sau đây là 3 điểm chính cần ghi nhớ: bắt đầu xây dựng, sớm dựa vào các công cụ phát hành chính thức, chẳng hạn như các công cụ bảo mật mà chúng ta đã đề cập hôm nay, thứ ba là sử dụng kỹ năng của tác nhân bất cứ khi nào có thể.
Cảm ơn bạn.
import com.google.firebase.Firebase
import com.google.firebase.ai.ai
@Composable
fun MagicBackpackGenerator() {
var output by remember { mutableStateOf("") }
LaunchedEffect(Unit) {
val model=Firebase.ai.generativeModel("gemini-4-argon")
val response = model.generateContent("Write a story about a magic backpack")
output = response.text.toString()
}
MagicBackpackUI(output)
}class FireTravelApp : Application() {
lateinit var appContainer: AppContainer
private set
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Firebase.appCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance()
)
} else {
Firebase.appCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance()
)
}
appContainer = AppContainer(this)
}
}---
model: 'gemini-3-flash'
input:
schema:...
tools:...
---
{{role "system"}}
You're a storyteller that tells nice and joyful stories with happy endings.
{{role "user"}}
Create a story about {{topic}} with the length of {{length}} words in the {{language}} language.val generativeModel = Firebase.ai.templateGenerativeModel()
val response = generativeModel.generateContent("storyteller-v1",
mapOf(
"topic" to topic,
"length" to length,
"language" to language
)
)
output.value = response.textimport com.google.firebase.Firebase
import com.google.firebase.ai.ai
@Composable
fun MagicBackpackGenerator() {
var output by remember { mutableStateOf("") }
LaunchedEffect(Unit) {
val model = Firebase.ai.generativeModel(modelName = "gemini-3.8-flash",
onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE))
val response = model.generateContent("Write a story about a magic backpack")
output = response.text.toString()
}
MagicBackpackUI(output)
}val model = Firebase.ai.liveModel(
modelName = "gemini-3.1-flash-live-preview",
generationConfig = liveGenerationConfig {
responseModality = ResponseModality.AUDIO
},
systemInstruction = "Your main job is to change the color...",
tools = listOf(Tool.functionDeclarations(listOf(changeColorFunction)))
)
val session = model.connect(::handler)
session.startAudioConversation(::handler)
session.stopAudioConversation()# Execute to add agent capabilities to your workspace
npx skills add firebase/agent-skills