В этом руководстве показано, как начать вызывать Vertex AI Gemini API непосредственно из вашего приложения с помощью Vertex AI in Firebase SDK для выбранной вами платформы.
При желании поэкспериментируйте с альтернативной версией Gemini API « Google AI ».
Получите бесплатный доступ (в пределах ограничений и там, где это возможно) с помощью Google AI Studio и клиентских SDK Google AI . Эти SDK следует использовать для прототипирования только в мобильных и веб-приложениях.После того, как вы ознакомитесь с тем, как работает Gemini API , перейдите на наши Vertex AI in Firebase SDK (эта документация), которые имеют множество дополнительных функций, важных для мобильных и веб-приложений, таких как защита API от злоупотреблений с помощью Firebase App Check и поддержка большие медиафайлы в запросах .
При необходимости вызовите серверный Vertex AI Gemini API (например, с помощью Python, Node.js или Go).
Используйте серверные Vertex AI SDK , Firebase Genkit или Firebase Extensions для Gemini API .
Предварительные условия
В этом руководстве предполагается, что вы знакомы с использованием Android Studio для разработки приложений для Android.
Убедитесь, что ваша среда разработки и приложение Android соответствуют следующим требованиям:
- Android Studio (последняя версия)
- Ваше Android-приложение должно быть ориентировано на уровень API 21 или выше.
(Необязательно) Ознакомьтесь с примером приложения.
Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или использовать образец приложения, если у вас нет собственного приложения для Android. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .
Шаг 1. Настройте проект Firebase и подключите свое приложение к Firebase.
Если у вас уже есть проект Firebase и приложение, подключенное к Firebase
В консоли Firebase перейдите на страницу Build with Gemini .
Нажмите карточку Vertex AI in Firebase , чтобы запустить рабочий процесс, который поможет вам выполнить следующие задачи:
Обновите свой проект, чтобы использовать тарифный план Blaze с оплатой по мере использования .
Включите необходимые API в своем проекте ( Vertex AI API и Vertex AI in Firebase API).
Перейдите к следующему шагу в этом руководстве, чтобы добавить SDK в свое приложение.
Если у вас еще нет проекта Firebase и приложения, подключенного к Firebase
Войдите в консоль Firebase .
Нажмите «Создать проект» , а затем используйте любой из следующих вариантов:
Вариант 1. Создайте совершенно новый проект Firebase (и его базовый проект Google Cloud автоматически), введя новое имя проекта на первом этапе рабочего процесса «Создание проекта».
Вариант 2. «Добавьте Firebase» в существующий проект Google Cloud , выбрав имя проекта Google Cloud в раскрывающемся меню на первом этапе рабочего процесса «Создать проект».
Обратите внимание: при появлении запроса вам не нужно настраивать Google Analytics для использования Vertex AI in Firebase SDK.
В консоли Firebase перейдите на страницу Build with Gemini .
Нажмите карточку Vertex AI in Firebase , чтобы запустить рабочий процесс, который поможет вам выполнить следующие задачи:
Обновите свой проект, чтобы использовать тарифный план Blaze с оплатой по мере использования .
Включите необходимые API в своем проекте ( Vertex AI API и Vertex AI in Firebase API).
Продолжайте выполнять рабочий процесс генеративного искусственного интеллекта консоли, чтобы подключить свое приложение к Firebase, который включает в себя следующие задачи:
Регистрация вашего приложения в проекте Firebase.
Добавление файла конфигурации Firebase (
google-services.json
) иПлагин google-services
Gradle в ваше приложение.
На следующих шагах этого руководства вы добавите Vertex AI in Firebase SDK в свое приложение и выполните необходимую инициализацию, необходимую для использования SDK и Gemini API .
Шаг 2. Добавьте SDK
После настройки проекта Firebase и подключения вашего приложения к Firebase (см. предыдущий шаг) вы теперь можете добавить Vertex AI in Firebase SDK в свое приложение.
Vertex AI in Firebase SDK для Android ( firebase-vertexai
) обеспечивает доступ к Vertex AI Gemini API .
В файле Gradle вашего модуля (на уровне приложения) (например, <project>/<app-module>/build.gradle.kts
) добавьте зависимость для Vertex AI in Firebase для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.
Kotlin
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.7.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") }
Java
Для Java вам необходимо добавить две дополнительные библиотеки.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.7.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") // 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") }
Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.
Если вы решите не использовать Firebase BoM , вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.
Обратите внимание: если вы используете в своем приложении несколько библиотек Firebase, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add the dependency for the Vertex AI in Firebase library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai:16.0.2") }
Шаг 3. Инициализируйте сервис Vertex AI и генеративную модель.
Прежде чем вы сможете выполнять какие-либо вызовы API, вам необходимо инициализировать службу Vertex AI и генеративную модель.
Kotlin
Для Kotlin методы в этом SDK являются функциями приостановки, и их необходимо вызывать из области Coroutine .// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
Java
Для Java методы потоковой передачи в этом SDK возвращают типPublisher
из библиотеки Reactive Streams . // Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
Прочитав руководство по началу работы, узнайте, как выбрать модель Gemini и (необязательно) местоположение, подходящее для вашего варианта использования и приложения.
Шаг 4. Вызов Vertex AI Gemini API
Теперь, когда вы подключили свое приложение к Firebase, добавили SDK и инициализировали службу Vertex AI и генеративную модель, вы готовы вызвать Vertex AI Gemini API .
Вы можете использовать generateContent()
для генерации текста из текстового запроса на подсказку:
Kotlin
Для Kotlin методы в этом SDK являются функциями приостановки, и их необходимо вызывать из области Coroutine .// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
Для Java методы этого SDK возвращаютListenableFuture
. // Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Что еще вы можете сделать?
Узнайте больше о моделях Gemini
Узнайте о моделях, доступных для различных вариантов использования , а также об их квотах и ценах .Попробуйте другие возможности Gemini API
- Узнайте больше о создании текста из текстовых подсказок , в том числе о потоковой передаче ответа.
- Генерируйте текст из мультимодальных подсказок (включая текст, изображения, PDF-файлы, видео и аудио).
- Стройте многоходовые разговоры (чат) .
- Генерируйте структурированный вывод (например, JSON) как из текстовых, так и из мультимодальных подсказок.
- Используйте вызов функций для подключения генеративных моделей к внешним системам и информации.
Узнайте, как контролировать создание контента
- Понимание структуры подсказок , включая лучшие практики, стратегии и примеры подсказок.
- Настройте параметры модели , такие как температура и токены максимальной мощности.
- Используйте настройки безопасности , чтобы настроить вероятность получения ответов, которые могут быть расценены как вредные.
Оставьте отзыв о своем опыте использования Vertex AI in Firebase