Opublikowano: 20 maja 2025 r.
Aby spełnić potrzeby użytkowników niezależnie od platformy i sprzętu, możesz skonfigurować przejście do chmury za pomocą Firebase AI Logic w przypadku wbudowanego interfejsu Prompt API.
Tworzenie hybrydowych rozwiązań AI
Wbudowana AI ma wiele zalet, z których najważniejsze to:
- Lokalne przetwarzanie danych wrażliwych: jeśli pracujesz z danymi wrażliwymi, możesz oferować użytkownikom funkcje AI z szyfrowaniem end-to-end.
- Korzystanie z AI w trybie offline: użytkownicy mogą korzystać z funkcji AI nawet wtedy, gdy są offline lub mają słabe połączenie.
Chociaż te korzyści nie dotyczą aplikacji w chmurze, możesz zapewnić płynne działanie aplikacji osobom, które nie mają dostępu do wbudowanej AI.
Pierwsze kroki z Firebase
- Utwórz projekt w Firebase i zarejestruj aplikację internetową.
- Aby kontynuować konfigurowanie aplikacji internetowej, przeczytaj dokumentację pakietu Firebase JavaScript SDK .
Projekty Firebase tworzą projekt Google Cloud z konfiguracjami i usługami specyficznymi dla Firebase. Dowiedz się więcej o Google Cloud i Firebase.
Instalowanie pakietu SDK
Ten przepływ pracy korzysta z npm i wymaga narzędzi do tworzenia pakietów modułów lub platform JavaScript. Firebase AI Logic jest zoptymalizowany do współpracy z narzędziami do tworzenia pakietów modułów, aby eliminować nieużywany kod i zmniejszać rozmiar pakietu SDK.
npm install firebase
Po zainstalowaniu zainicjuj Firebase w swojej aplikacji.
Korzystanie z Firebase AI Logic
Po zainstalowaniu i zainicjowaniu Firebase wybierz Gemini Developer API lub Gemini API, a następnie zainicjuj i utwórz instancję.
Po zainicjowaniu możesz wysyłać do modelu prompty tekstowe lub multimodalne.
Prompty tekstowe
Do przekazywania instrukcji modelowi możesz używać zwykłego tekstu. Możesz na przykład poprosić model o opowiedzenie żartu.
Istnieje kilka opcji kierowania żądania:
Domyślnie używaj wbudowanej AI, gdy jest dostępna, ustawiając
modena'prefer_on_device'w funkcjigetGenerativeModel(). Jeśli wbudowany model nie jest dostępny, żądanie zostanie płynnie przekierowane do modelu w chmurze (jeśli jesteś online).Domyślnie używaj modelu w chmurze, gdy jesteś online, ustawiając
modena'prefer_in_cloud'w funkcjigetGenerativeModel(). Jeśli jesteś offline, żądanie zostanie płynnie przekierowane do wbudowanej AI, gdy będzie dostępna.
// 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);
Prompty multimodalne
Oprócz tekstu możesz też wysyłać prompty z obrazami lub dźwiękiem. Możesz poprosić model o opisanie zawartości obrazu lub transkrypcję pliku audio.
Obrazy muszą być przekazywane jako ciąg tekstowy z kodowaniem Base64 jako obiekt Firebase FileDataPart, co możesz zrobić za pomocą funkcji pomocniczej 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);
});
Prezentacja
Otwórz prezentację Firebase AI Logic demo na różnych urządzeniach i w różnych przeglądarkach. Możesz zobaczyć, czy odpowiedź modelu pochodzi z wbudowanego modelu AI, czy z chmury.
W przypadku obsługiwanego sprzętu w Chrome prezentacja korzysta z interfejsu Prompt API i Gemini Nano. W przypadku dokumentu głównego, pliku JavaScript i pliku CSS wysyłane są tylko 3 żądania.

W przypadku innej przeglądarki lub systemu operacyjnego bez wbudowanej obsługi AI wysyłane jest dodatkowe żądanie do punktu końcowego Firebase https://firebasevertexai.googleapis.com.

Uczestniczenie i przesyłanie opinii
Firebase AI Logic może być świetnym rozwiązaniem do integrowania funkcji AI z aplikacjami internetowymi. Dzięki przejściu do chmury, gdy interfejs Prompt API jest niedostępny, pakiet SDK zapewnia szerszą dostępność i niezawodność funkcji AI.
Pamiętaj, że aplikacje w chmurze tworzą nowe oczekiwania dotyczące prywatności i funkcjonalności, dlatego ważne jest, aby informować użytkowników o tym, gdzie są przetwarzane ich dane.
- Aby przesłać opinię na temat implementacji Chrome, zgłoś błąd lub prześlij prośbę o dodanie funkcji.
- Aby przesłać opinię na temat Firebase AI Logic, zgłoś a błąd.