Гибридное приглашение ИИ с Firebase AI Logic,Гибридное приглашение ИИ с Firebase AI Logic,Гибридное приглашение ИИ с Firebase AI Logic,Гибридное приглашение ИИ с Firebase AI Logic

Опубликовано: 20 мая 2025 г.

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

Создайте гибридную среду искусственного интеллекта.

Встроенный искусственный интеллект обладает рядом преимуществ , наиболее заметными из которых являются:

  • Локальная обработка конфиденциальных данных: если вы работаете с конфиденциальными данными, вы можете предлагать пользователям функции искусственного интеллекта с использованием сквозного шифрования.
  • Использование ИИ в автономном режиме: ваши пользователи могут получить доступ к функциям ИИ, даже когда они находятся в автономном режиме или у них пропало подключение к интернету.

Хотя эти преимущества не распространяются на облачные приложения, вы можете обеспечить бесперебойную работу для тех, кто не имеет доступа к встроенному искусственному интеллекту.

Начните работу с Firebase

  1. Создайте проект Firebase и зарегистрируйте свое веб-приложение.
  2. Для продолжения настройки веб-приложения ознакомьтесь с документацией по 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 AI работает в Chrome, используя встроенные API для ИИ.

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

Логика Firebase AI, работающая в Safari, отправляет запрос на серверы Firebase.

Принимайте участие и делитесь отзывами.

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

Помните, что облачные приложения формируют новые ожидания в отношении конфиденциальности и функциональности, поэтому важно информировать пользователей о том, где обрабатываются их данные.