Перейдите на использование Vertex AI SDK вместо Google AI SDK.

На этой странице описывается, как перейти с клиентских SDK Google AI на клиентские SDK Vertex AI in Firebase в ваших мобильных или веб-приложениях. Vertex AI in Firebase доступен для платформ Apple (Swift), Android (Kotlin и Java), Web (JavaScript) и Flutter (Dart).

Перейти непосредственно к инструкциям по миграции

Зачем переходить на использование Vertex AI ?

Возможно, вы опробовали альтернативную версию Gemini API с помощью Google AI Studio или клиентских SDK Google AI . Эти SDK полезны для начала работы с Gemini API и создания прототипов. Однако для мобильных и веб-приложений промышленного или корпоративного масштаба , которые напрямую вызывают клиентскую часть Gemini API , Firebase настоятельно рекомендует вызывать Vertex AI Gemini API с помощью наших Firebase SDK.

Функции безопасности для мобильных и веб-приложений

Для мобильных и веб-приложений безопасность имеет решающее значение и требует особого внимания, поскольку ваш код (включая вызовы Gemini API ) выполняется в незащищенной среде.

  • По умолчанию Vertex AI Gemini API авторизуется с помощью Google Cloud IAM (а не с помощью ключа API, как Google AI Gemini API ). Vertex AI in Firebase SDK создан для вызова более безопасного Vertex AI Gemini API .

  • Для мобильных и веб-приложений вам необходимо защитить Gemini API и ресурсы вашего проекта (например, настроенные модели) от злоупотреблений со стороны неавторизованных клиентов. Вы можете использовать Firebase App Check чтобы убедиться, что все вызовы API происходят из вашего реального приложения. Эта функция доступна только в том случае, если вы используете Vertex AI in Firebase SDK.

Экосистема, созданная для мобильных и веб-приложений

Firebase — это платформа Google для разработки мобильных и веб-приложений. Использование Vertex AI in Firebase SDK означает, что ваши приложения находятся в экосистеме, ориентированной на потребности полнофункциональных приложений и разработчиков. Например, вы можете выполнять любое из следующих действий и многое другое:

  • Используйте Cloud Storage for Firebase , чтобы включать большие файлы в мультимодальные запросы. Кроме того, воспользуйтесь преимуществами клиентских SDK, которые обрабатывают загрузку и выгрузку файлов (даже в плохих условиях сети) и обеспечивают большую безопасность данных ваших конечных пользователей. Узнайте больше в нашем руководстве по использованию Cloud Storage for Firebase .

  • Управляйте структурированными данными с помощью SDK баз данных, созданных для мобильных и веб-приложений (например, Cloud Firestore ).

  • Динамически устанавливайте конфигурации времени выполнения (например, местоположение) или заменяйте значения в своем приложении (например, название модели) без выпуска новой версии приложения с помощью Firebase Remote Config .

Дополнительные преимущества использования Vertex AI из Google Cloud

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

Платформа Vertex AI от Google Cloud предлагает набор инструментов MLOps, которые упрощают использование, развертывание и мониторинг моделей искусственного интеллекта для обеспечения эффективности и надежности. Кроме того, интеграция с базами данных, инструментами DevOps, журналированием, мониторингом и IAM обеспечивает целостный подход к управлению всем жизненным циклом генеративного ИИ.

Узнайте больше о вариантах использования Vertex AI в документации Google Cloud .

Переход на Vertex AI in Firebase SDK

Переход на Vertex AI in Firebase SDK требует трех основных шагов:

  1. Настройте новый или существующий проект Firebase и подключите свое приложение к Firebase.

  2. Перенесите свою кодовую базу, для чего потребуется лишь изменить SDK и код инициализации (включая имя модели). Никакой модификации кода, который фактически вызывает API Gemini, не требуется.

  3. Удалите все неиспользуемые ключи API и отключите неиспользуемые API.

Шаг 1. Настройте проект Firebase и подключите свое приложение к Firebase.

Даже если вы уже знакомы с Firebase, просмотрите этот раздел, чтобы убедиться, что ваш проект и приложение Firebase настроены на использование Vertex AI in Firebase SDK.

Шаг 2. Перенесите свою кодовую базу

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

SDK Google AI и Vertex AI in Firebase были созданы таким образом, чтобы миграция между двумя платформами была максимально простой.

Для миграции вам нужно всего лишь изменить, какой SDK вы интегрируете в кодовую базу вашего приложения, а также инициализировать службу и генеративную модель. Вам не нужно изменять какой-либо код, который фактически вызывает Gemini API !

Изменить SDK

Google AI

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")

  // Required for one-shot operations (to use `ListenableFuture` from Reactive Streams)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Guava Android)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

Vertex AI in Firebase

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

Изменение инициализации

Google AI

Kotlin+KTX

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
    // Access your API key as a Build Configuration variable
    apiKey = BuildConfig.apiKey
)

Java

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
    // Access your API key as a Build Configuration variable
    BuildConfig.apiKey
);

// Use the GenerativeModelFutures Java compatibility layer which offers support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Vertex AI in Firebase

Kotlin+KTX

val generativeModel = Firebase.vertexAI.generativeModel("MODEL_NAME")

Java

GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("MODEL_NAME");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Обновить импорт

В следующих фрагментах кода в качестве примеров используются классы Chat , Content и GenerativeModelFutures , но то же самое следует применять и к другим классам под тем же именем пакета.

Google AI

Kotlin+KTX

import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

Java

import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

Vertex AI in Firebase

Kotlin+KTX

import com.google.firebase.vertexai.Chat
import com.google.firebase.vertexai.type.Content
import com.google.firebase.vertexai.java.GenerativeModuleFutures

Java

import com.google.firebase.vertexai.Chat;
import com.google.firebase.vertexai.type.Content;
import com.google.firebase.vertexai.java.GenerativeModuleFutures;

Шаг 3. Удалите все неиспользуемые ключи API и отключите неиспользуемые API.

Если вам больше не нужно использовать ключ Google AI API, следуйте рекомендациям по безопасности и удалите его. Вы можете просмотреть и удалить свои ключи API Google AI в разделе «Ключи API» Google AI Studio .

Кроме того, если вы больше не используете Google AI Gemini API , отключите его в своем проекте. Это можно сделать в консоли Google Cloud на странице Generative Language API ( generativelanguage.googleapis.com ) . («API генеративного языка» — официальное название Google AI Gemini API .)

Что еще вы можете сделать?

  • И Google AI , и Vertex AI предлагают «игровую площадку» веб-интерфейса под названием «AI Studio» для экспериментов с подсказками и параметрами модели. Узнайте, как перенести подсказки Google AI Studio в Vertex AI Studio в документации Google Cloud .