Data publikacji: 20 maja 2025 r.
Aby zaspokoić potrzeby użytkowników niezależnie od platformy czy sprzętu, możesz skonfigurować rezerwowe działanie w chmurze za pomocą logiki AI Firebase dla wbudowanego interfejsu Prompt API.
Tworzenie hybrydowych funkcji AI
Wbudowana AI ma szereg zalet, w tym:
- Lokalne przetwarzanie danych wrażliwych: jeśli pracujesz z danymi wrażliwymi, możesz oferować użytkownikom funkcje AI z pełnym szyfrowaniem.
- 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 osobom, które nie mają dostępu do wbudowanej AI.
Wprowadzenie do Firebase
- Utwórz projekt Firebase i zarejestruj aplikację internetową.
- Aby kontynuować konfigurację aplikacji internetowej, zapoznaj się z 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
Ta instrukcja korzysta z npm i wymaga narzędzi do tworzenia pakietów modułów lub platformy JavaScript. Usługa Firebase AI Logic jest zoptymalizowana pod kątem współpracy z programami do łączenia modułów, aby eliminować nieużywany kod i zmniejszać rozmiar pakietu SDK.
npm install firebase
Po zainstalowaniu zainicjuj Firebase w aplikacji.
Korzystanie z Firebase AI Logic
Po zainstalowaniu i zainicjowaniu Firebase wybierz Gemini Developer API lub Vertex AI Gemini API, a następnie zainicjuj i utwórz instancję.
Po zainicjowaniu możesz wysyłać do modelu prompty w postaci tekstu lub danych multimodalnych.
Prompty tekstowe
W instrukcjach dla modelu możesz używać zwykłego tekstu. Możesz na przykład poprosić model o opowiedzenie żartu.
Aby mieć pewność, że wbudowana AI jest używana, gdy jest dostępna w funkcji getGenerativeModel
, ustaw mode
na 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);
Prompty multimodalne
Oprócz tekstu możesz też używać obrazów lub dźwięku. Możesz poprosić model o opisanie zawartości obrazu lub transkrypcję pliku audio.
Obrazy muszą być przekazywane jako ciąg tekstowy z kodowaniem Base64 w postaci obiektu Firebase FileDataPart
. Możesz to 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
Odwiedź demo Firebase AI Logic na różnych urządzeniach i w różnych przeglądarkach. Możesz sprawdzić, czy odpowiedź modelu pochodzi z wbudowanego modelu AI czy z chmury.
Na obsługiwanym sprzęcie w Chrome wersja demonstracyjna 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 innej przeglądarce lub systemie operacyjnym bez wbudowanej obsługi AI wysyłane jest dodatkowe żądanie do punktu końcowego Firebase:https://firebasevertexai.googleapis.com
.
Uczestniczenie w programie i przesyłanie opinii
Firebase AI Logic to świetna opcja, aby zintegrować funkcje AI z aplikacjami internetowymi. Dzięki przełączaniu się na chmurę, gdy interfejs Prompt API jest niedostępny, pakiet SDK zapewnia szerszą dostępność i większą 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.
- Jeśli chcesz przesłać opinię na temat implementacji Chrome, prześlij raport o błędzie lub prośbę o dodanie funkcji.
- Jeśli chcesz przesłać opinię o Firebase AI Logic, prześlij raport o błędzie.