Начните работу с Gemini API, используя Vertex AI в Firebase SDK.Начните работу с Gemini API, используя Vertex AI в Firebase SDK.


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

Предварительные условия

В этом руководстве предполагается, что вы знакомы с использованием Android Studio для разработки приложений для Android.

  • Убедитесь, что ваша среда разработки и приложение Android соответствуют следующим требованиям:

    • Android Studio (последняя версия)
    • Ваше Android-приложение должно быть ориентировано на уровень API 21 или выше.
  • (Необязательно) Ознакомьтесь с примером приложения.

    Загрузите образец приложения

    Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или использовать образец приложения, если у вас нет собственного приложения для Android. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .

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

Если у вас уже есть проект Firebase и приложение, подключенное к Firebase

  1. В консоли Firebase перейдите на страницу Build with Gemini .

  2. Нажмите карточку Vertex AI in Firebase , чтобы запустить рабочий процесс, который поможет вам выполнить следующие задачи:

  3. Перейдите к следующему шагу в этом руководстве, чтобы добавить SDK в свое приложение.

Если у вас еще нет проекта Firebase и приложения, подключенного к Firebase


Шаг 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+KTX

dependencies {
    // ... other androidx dependencies

    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.6.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.6.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.

Шаг 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

Узнайте, как контролировать создание контента

Вы также можете поэкспериментировать с подсказками и конфигурациями модели с помощью Vertex AI Studio .


Оставьте отзыв о своем опыте использования Vertex AI in Firebase