Dipublikasikan: 20 Mei 2025
Untuk memenuhi kebutuhan pengguna, apa pun platform atau hardware yang mereka gunakan, Anda dapat menyiapkan penggantian ke cloud dengan Firebase AI Logic untuk Prompt API bawaan.
Membangun pengalaman AI hybrid
AI bawaan hadir dengan sejumlah manfaat, terutama:
- Pemrosesan data sensitif secara lokal: Jika Anda bekerja dengan data sensitif, Anda dapat menawarkan fitur AI kepada pengguna dengan enkripsi end-to-end.
- Penggunaan AI offline: Pengguna Anda dapat mengakses fitur AI, meskipun mereka sedang offline atau koneksinya terputus
Meskipun manfaat ini tidak berlaku untuk aplikasi cloud, Anda dapat memastikan pengalaman yang lancar bagi pengguna yang tidak dapat mengakses AI bawaan.
Mulai menggunakan Firebase
- Buat project Firebase dan daftarkan aplikasi web Anda.
- Baca dokumentasi Firebase JavaScript SDK untuk melanjutkan penyiapan aplikasi web Anda.
Project Firebase membuat project Google Cloud, dengan konfigurasi dan layanan khusus Firebase. Pelajari lebih lanjut Google Cloud dan Firebase.
Menginstal SDK
Alur kerja ini menggunakan npm dan memerlukan pemaket modul atau alat framework JavaScript. Firebase AI Logic dioptimalkan agar dapat digunakan dengan pemaket modul untuk menghapus kode yang tidak digunakan dan mengurangi ukuran SDK.
npm install firebase
Setelah diinstal, inisialisasi Firebase di aplikasi Anda.
Menggunakan Firebase AI Logic
Setelah Firebase diinstal dan diinisialisasi, pilih Gemini Developer API atau Vertex AI Gemini API, lalu inisialisasi dan buat instance.
Setelah diinisialisasi, Anda dapat memberikan perintah pada model dengan input teks atau multimodal.
Perintah teks
Anda dapat menggunakan teks biasa untuk petunjuk Anda ke model. Misalnya, Anda dapat meminta model untuk menceritakan lelucon.
Untuk memastikan bahwa AI bawaan digunakan jika tersedia di fungsi getGenerativeModel
, tetapkan mode
ke prefer_on_device
.
// Initialize the Google AI service.
const googleAI = getAI(firebaseApp);
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(googleAI, { mode: 'prefer_on_device' });
const prompt = 'Tell me a joke';
const result = await model.generateContentStream(prompt);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log('Complete response', await result.response);
Perintah multimodal
Anda juga dapat memberikan perintah dengan gambar atau audio, selain teks. Anda dapat meminta model untuk mendeskripsikan konten gambar atau mentranskripsikan file audio.
Gambar harus diteruskan sebagai string berenkode base64 sebagai objek FileDataPart
Firebase, yang dapat Anda lakukan dengan fungsi bantuan fileToGenerativePart()
.
// Converts a File object to a `FileDataPart` object.
// https://firebase.google.com/docs/reference/js/vertexai.filedatapart
async function fileToGenerativePart(file) {
const base64EncodedDataPromise = new Promise((resolve) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result.split(',')[1]);
reader.readAsDataURL(file);
});
return {
inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
};
}
const fileInputEl = document.querySelector('input[type=file]');
fileInputEl.addEventListener('change', async () => {
const prompt = 'Describe the contents of this image.';
const imagePart = await fileToGenerativePart(fileInputEl.files[0]);
// To generate text output, call generateContent with the text and image
const result = await model.generateContentStream([prompt, imagePart]);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log(Complete response: ', await result.response);
});
Demo
Buka demo Firebase AI Logic di berbagai perangkat dan browser. Anda dapat melihat bagaimana respons model berasal dari model AI bawaan atau cloud.
Saat menggunakan hardware yang didukung di Chrome, demo ini menggunakan Prompt API dan Gemini Nano. Hanya ada 3 permintaan yang dibuat untuk dokumen utama, file JavaScript, dan file CSS.
Jika menggunakan browser lain atau sistem operasi tanpa dukungan AI bawaan, ada permintaan tambahan yang dibuat ke endpoint Firebase, https://firebasevertexai.googleapis.com
.
Berpartisipasi dan memberikan masukan
Firebase AI Logic dapat menjadi opsi yang bagus untuk mengintegrasikan kemampuan AI ke aplikasi web Anda. Dengan menyediakan penggantian ke cloud saat Prompt API tidak tersedia, SDK memastikan aksesibilitas dan keandalan fitur AI yang lebih luas.
Ingatlah bahwa aplikasi cloud menciptakan ekspektasi baru untuk privasi dan fungsi, jadi penting untuk memberi tahu pengguna Anda tentang tempat data mereka diproses.
- Untuk memberikan masukan tentang penerapan Chrome, ajukan laporan bug atau permintaan fitur.
- Untuk memberikan masukan tentang Firebase AI Logic, ajukan laporan bug.