Опубликовано: 20 мая 2025 г.
Чтобы удовлетворить потребности ваших пользователей, независимо от используемой ими платформы или оборудования, вы можете настроить резервное копирование в облако с помощью Firebase AI Logic и встроенного API Prompt .
Создайте гибридную среду искусственного интеллекта.
Встроенный искусственный интеллект обладает рядом преимуществ , наиболее заметными из которых являются:
- Локальная обработка конфиденциальных данных: если вы работаете с конфиденциальными данными, вы можете предлагать пользователям функции искусственного интеллекта с использованием сквозного шифрования.
- Использование ИИ в автономном режиме: ваши пользователи могут получить доступ к функциям ИИ, даже когда они находятся в автономном режиме или у них пропало подключение к интернету.
Хотя эти преимущества не распространяются на облачные приложения, вы можете обеспечить бесперебойную работу для тех, кто не имеет доступа к встроенному искусственному интеллекту.
Начните работу с Firebase
- Создайте проект Firebase и зарегистрируйте свое веб-приложение.
- Для продолжения настройки веб-приложения ознакомьтесь с документацией по Firebase JavaScript SDK .
Проекты Firebase создают проект Google Cloud с конфигурациями и сервисами, специфичными для Firebase. Узнайте больше о Google Cloud и Firebase .
Установите SDK.
Этот рабочий процесс использует npm и требует наличия сборщиков модулей или инструментов для работы с JavaScript-фреймворками. Firebase AI Logic оптимизирован для работы со сборщиками модулей, что позволяет исключить неиспользуемый код и уменьшить размер SDK.
npm install firebase
После установки инициализируйте Firebase в своем приложении .
Используйте логику искусственного интеллекта Firebase.
После установки и инициализации Firebase выберите либо Gemini Developer API, либо Gemini API, затем инициализируйте и создайте экземпляр .
После инициализации вы можете задавать модели текстовые или мультимодальные данные.
Текстовые подсказки
Для инструкций модели можно использовать обычный текст. Например, вы можете попросить модель рассказать вам анекдот.
У вас есть несколько вариантов маршрутизации запроса:
Если встроенная модель ИИ доступна, по умолчанию используйте её, установив
mode'prefer_on_device'в функцииgetGenerativeModel(). Если встроенная модель недоступна, запрос автоматически переключится на облачную модель (если вы подключены к интернету).При подключении к сети по умолчанию используйте облачную модель, установив
mode'prefer_in_cloud'в функцииgetGenerativeModel(). Если вы находитесь в автономном режиме, запрос автоматически переключится на использование встроенного ИИ, если он доступен.
// 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);
Мультимодальные подсказки
Помимо текста, вы также можете использовать изображения или аудиозаписи в качестве подсказок. Вы можете указать модели описать содержимое изображения или расшифровать аудиофайл.
Изображения необходимо передавать в виде строки, закодированной в base64, в качестве объекта Firebase FileDataPart , что можно сделать с помощью вспомогательной функции 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);
});
Демо
Посетите демонстрацию Firebase AI Logic на разных устройствах и в разных браузерах. Вы сможете увидеть, как модель реагирует на запросы, поступающие либо от встроенной модели ИИ, либо из облака.
При использовании поддерживаемого оборудования в Chrome демонстрация задействует API Prompt и Gemini Nano. Выполняется всего 3 запроса: к основному документу, файлу JavaScript и файлу CSS.

При использовании другого браузера или операционной системы без встроенной поддержки ИИ выполняется дополнительный запрос к конечной точке Firebase: https://firebasevertexai.googleapis.com .

Принимайте участие и делитесь отзывами.
Firebase AI Logic может стать отличным вариантом для интеграции возможностей искусственного интеллекта в ваши веб-приложения. Предоставляя резервный вариант с использованием облака в случае недоступности API Prompt, SDK обеспечивает более широкую доступность и надежность функций ИИ.
Помните, что облачные приложения формируют новые ожидания в отношении конфиденциальности и функциональности, поэтому важно информировать пользователей о том, где обрабатываются их данные.
- Чтобы оставить отзыв о реализации Chrome, отправьте сообщение об ошибке или запрос на добавление новой функции .
- Для обратной связи по Firebase AI Logic отправьте сообщение об ошибке .