В этом руководстве показано, как начать вызывать 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 , чтобы запустить рабочий процесс, который поможет вам выполнить следующие задачи. (Обратите внимание: если вы видите в консоли вкладку Vertex AI , значит, эти задачи выполнены.)
Обновите свой проект, чтобы использовать тарифный план Blaze с оплатой по мере использования .
Включите следующие два API для вашего проекта:
aiplatform.googleapis.com
иfirebaseml.googleapis.com
.
Перейдите к следующему шагу в этом руководстве, чтобы добавить 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 , чтобы запустить рабочий процесс, который поможет вам выполнить следующие задачи. (Обратите внимание: если вы видите в консоли вкладку Vertex AI , значит, эти задачи выполнены.)
Обновите свой проект, чтобы использовать тарифный план Blaze с оплатой по мере использования .
Включите следующие два API для вашего проекта:
aiplatform.googleapis.com
иfirebaseml.googleapis.com
.
Продолжайте выполнять рабочий процесс генеративного искусственного интеллекта консоли, чтобы подключить свое приложение к 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 SDK для Android:
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.0-beta05")
}
Java
Для 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.0-beta05")
// 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")
}
Шаг 3. Инициализируйте сервис Vertex AI и генеративную модель.
Прежде чем вы сможете выполнять какие-либо вызовы API, вам необходимо инициализировать службу Vertex AI и генеративную модель.
Kotlin+KTX
Для 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+KTX
Для 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-файлы, видео и аудио).
- Стройте многоходовые разговоры (чат) .
- Используйте вызов функций для подключения генеративных моделей к внешним системам и информации.
Узнайте, как контролировать создание контента
- Понимание структуры подсказок , включая лучшие практики, стратегии и примеры подсказок.
- Настройте параметры модели , такие как температура и токены максимальной мощности.
- Используйте настройки безопасности , чтобы настроить вероятность получения ответов, которые могут быть расценены как вредные.
Оставьте отзыв о своем опыте использования Vertex AI in Firebase