Начните работу с API Gemini с помощью Firebase AI Logic SDK

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

Это руководство также поможет вам начать работу с моделями Imagen , используя SDK Firebase AI Logic .

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

Быстрый

В этом руководстве предполагается, что вы знакомы с использованием Xcode для разработки приложений для платформ Apple (например, iOS).

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

  • Xcode 16.2 или выше
  • Ваше приложение предназначено для iOS 15 или выше, либо для macOS 12 или выше.

Kotlin

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

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

  • Android Studio (последняя версия)
  • Ваше приложение ориентировано на API уровня 21 или выше.

Java

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

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

  • Android Studio (последняя версия)
  • Ваше приложение ориентировано на API уровня 21 или выше.

Web

Данное руководство предполагает, что вы знакомы с использованием JavaScript для разработки веб-приложений. Данное руководство не зависит от используемого фреймворка.

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

  • (Необязательно) Node.js
  • Современный веб-браузер

Dart

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

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

  • Dart 3.2.0+

Единство

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

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

  • Unity Editor 2021 LTS или более поздняя версия

Ознакомьтесь с полезными ресурсами.

Быстрый

Попробуйте приложение для быстрого запуска.

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

Перейдите в приложение «Быстрый запуск».

Посмотрите видеоурок

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

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

Посмотреть код приложения, в котором размещен видеоролик.



Kotlin

Попробуйте приложение для быстрого запуска.

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

Перейдите в приложение «Быстрый запуск».

Посмотрите видеоурок

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

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

Посмотреть код приложения, в котором размещен видеоролик.



Java

Попробуйте приложение для быстрого запуска.

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

Перейдите в приложение «Быстрый запуск».

Посмотрите видеоурок

В этом видео показано, как начать работу с Firebase AI Logic , создав реальное приложение для планирования питания на основе искусственного интеллекта, которое генерирует рецепты по текстовому запросу. *

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

Посмотреть код приложения, в котором размещен видеоролик.

* Это видео и приложение написаны на Kotlin, но они также могут помочь Java-разработчикам понять основы начала работы с Firebase AI Logic .

Web

Попробуйте приложение для быстрого запуска.

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

Перейдите в приложение «Быстрый запуск».

Dart

Попробуйте приложение для быстрого запуска.

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

Перейдите в приложение «Быстрый запуск».

Посмотрите видеоурок

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

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

Посмотреть код приложения, в котором размещен видеоролик.



Единство

Попробуйте приложение для быстрого запуска.

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

Перейдите в приложение «Быстрый запуск».

Шаг 1 : Создайте проект Firebase и подключите к нему ваше приложение.

  1. Войдите в консоль Firebase , а затем выберите свой проект Firebase.

  2. В консоли Firebase перейдите на страницу Firebase AI Logic .

  3. Нажмите « Начать» , чтобы запустить пошаговый рабочий процесс, который поможет вам настроить необходимые API и ресурсы для вашего проекта.

  4. Выберите поставщика « Gemini API », которого вы хотите использовать с SDK Firebase AI Logic . Для начинающих пользователей рекомендуется использовать Gemini Developer API . При желании вы всегда можете добавить оплату или настроить Vertex AI Gemini API позже.

    • API для разработчиков Geminiоплата необязательна (доступно в бесплатном тарифном плане Spark, при желании можно перейти на более дорогой тариф).
      Консоль активирует необходимые API и создаст ключ API Gemini в вашем проекте.
      Не добавляйте этот API-ключ Gemini в код вашего приложения. Узнайте больше.

    • API Vertex AI Geminiтребуется оплата (требуется тарифный план Blaze с оплатой по факту использования)
      Консоль поможет вам настроить выставление счетов и включить необходимые API в вашем проекте.

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

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

Шаг 2 : Добавьте SDK

После настройки проекта Firebase и подключения приложения к Firebase (см. предыдущий шаг) вы можете добавить SDK Firebase AI Logic в свое приложение.

Быстрый

Используйте Swift Package Manager для установки и управления зависимостями Firebase.

Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen . Библиотека входит в состав Firebase SDK для платформ Apple ( firebase-ios-sdk ).

Если вы уже используете Firebase, убедитесь, что версия вашего пакета Firebase — 12.5.0 или более поздняя.

  1. В Xcode, открыв проект приложения, перейдите в меню File > Add Package Dependencies .

  2. При появлении запроса добавьте репозиторий Firebase Apple Platforms SDK:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Выберите последнюю версию SDK.

  4. Выберите библиотеку FirebaseAILogic .

После завершения Xcode автоматически начнет разрешение и загрузку ваших зависимостей в фоновом режиме.

Kotlin

Firebase AI Logic SDK для Android ( firebase-ai ) предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen .

В файле Gradle вашего модуля (уровня приложения) (например, <project>/<app-module>/build.gradle.kts ) добавьте зависимость от библиотеки Firebase AI Logic для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотек.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.7.0"))

  // Add the dependency for the Firebase AI Logic library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
}

Использование Firebase Android BoM , что ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.

Java

Firebase AI Logic SDK для Android ( firebase-ai ) предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen .

В файле Gradle вашего модуля (уровня приложения) (например, <project>/<app-module>/build.gradle.kts ) добавьте зависимость от библиотеки Firebase AI Logic для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотек.

Для Java необходимо добавить две дополнительные библиотеки.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.7.0"))

  // Add the dependency for the Firebase AI Logic library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")

  // 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.

Web

Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen . Библиотека входит в состав Firebase JavaScript SDK для веб-приложений.

  1. Установите Firebase JS SDK для веб-разработки с помощью npm:

    npm install firebase
    
  2. Инициализируйте Firebase в своем приложении:

    import { initializeApp } from "firebase/app";
    
    // TODO(developer) Replace the following with your app's Firebase configuration
    // See: https://firebase.google.com/docs/web/learn-more#config-object
    const firebaseConfig = {
      // ...
    };
    
    // Initialize FirebaseApp
    const firebaseApp = initializeApp(firebaseConfig);
    

Dart

Плагин Firebase AI Logic для Flutter ( firebase_ai ) предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen .

  1. В каталоге вашего проекта Flutter выполните следующую команду для установки основного плагина и плагина Firebase AI Logic :

    flutter pub add firebase_core firebase_ai
    
  2. В файле lib/main.dart импортируйте основной плагин Firebase, плагин Firebase AI Logic и сгенерированный ранее конфигурационный файл:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. Также в файле lib/main.dart инициализируйте Firebase, используя объект DefaultFirebaseOptions , экспортируемый из файла конфигурации:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Пересоберите ваше Flutter-приложение:

    flutter run
    

Единство

  1. Загрузите Firebase Unity SDK , затем распакуйте SDK в удобное для вас место.

    SDK Firebase Unity не привязан к конкретной платформе.

  2. В открытом проекте Unity перейдите в Assets > Import Package > Custom Package .

  3. Из извлеченного SDK выберите пакет FirebaseAI .

  4. В окне «Импорт пакета Unity» нажмите «Импорт» .

  5. Вернувшись в консоль Firebase , в процессе настройки нажмите «Далее» .

Шаг 3 : Инициализируйте сервис и создайте экземпляр модели.

Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него.

При использовании клиентских SDK Firebase AI Logic с API разработчика Gemini , вам НЕ нужно добавлять свой ключ API Gemini в код приложения . Подробнее.

Перед отправкой запроса модели Gemini инициализируйте сервис для выбранного вами API-провайдера и создайте экземпляр GenerativeModel .

Быстрый


import FirebaseAILogic

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")

Kotlin


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-2.5-flash")

Java


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-2.5-flash");

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

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');

Единство


using Firebase;
using Firebase.AI;

// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.5-flash");

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

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

Шаг 4 : Отправьте запрос модели.

Теперь вы можете отправить запрос на подключение модели Gemini .

Вы можете использовать generateContent() для генерации текста из запроса, содержащего текст:

Быстрый


import FirebaseAILogic

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")

Kotlin

В Kotlin методы в этом SDK являются функциями приостановки и должны вызываться из области видимости сопрограммы .

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-2.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 = model.generateContent(prompt)
print(response.text)

Java

В Java методы этого SDK возвращают объект ListenableFuture .

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-2.5-flash");

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

// 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);

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');

// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);

Единство


using Firebase;
using Firebase.AI;

// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.5-flash");

// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";

// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");

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

Узнайте больше о поддерживаемых моделях

Узнайте о моделях, доступных для различных вариантов использования , а также об их квотах и ​​ценах .

Попробуйте другие возможности.

Узнайте, как управлять генерацией контента.

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


Оставьте отзыв о вашем опыте использования Firebase AI Logic.