В этом руководстве показано, как начать совершать вызовы к API Gemini непосредственно из вашего приложения, используя клиентские SDK Firebase AI Logic для выбранной вами платформы.
Вы также можете использовать это руководство, чтобы начать работу с доступом к моделям Imagen с помощью Firebase AI Logic SDK.
Предпосылки
Быстрый
В этом руководстве предполагается, что вы знакомы с использованием Xcode для разработки приложений для платформ Apple (например, iOS).
Убедитесь, что ваша среда разработки и приложение для платформы Apple соответствуют следующим требованиям:
- Xcode 16.2 или выше
- Ваше приложение предназначено для iOS 15 или выше, либо macOS 12 или выше.
(Необязательно) Ознакомьтесь с примером приложения.
Загрузите приложение быстрого старта
Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственного приложения для платформ Apple. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .
Kotlin
В этом руководстве предполагается, что вы знакомы с использованием Android Studio для разработки приложений для Android.
Убедитесь, что ваша среда разработки и приложение для Android соответствуют следующим требованиям:
- Android Studio (последняя версия)
- Ваше приложение ориентировано на API уровня 21 или выше.
(Необязательно) Ознакомьтесь с примером приложения.
Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственного приложения для Android. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .
Java
В этом руководстве предполагается, что вы знакомы с использованием Android Studio для разработки приложений для Android.
Убедитесь, что ваша среда разработки и приложение для Android соответствуют следующим требованиям:
- Android Studio (последняя версия)
- Ваше приложение ориентировано на API уровня 21 или выше.
(Необязательно) Ознакомьтесь с примером приложения.
Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственного приложения для Android. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .
Web
Это руководство предполагает, что вы знакомы с использованием JavaScript для разработки веб-приложений. Оно не зависит от фреймворка.
Убедитесь, что ваша среда разработки и веб-приложение соответствуют следующим требованиям:
- (Необязательно) Node.js
- Современный веб-браузер
(Необязательно) Ознакомьтесь с примером приложения.
Вы можете быстро опробовать SDK, ознакомиться с полной реализацией различных вариантов использования или использовать пример приложения, если у вас нет собственного веб-приложения. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .
Dart
В этом руководстве предполагается, что вы знакомы с разработкой приложений с использованием Flutter.
Убедитесь, что ваша среда разработки и приложение Flutter соответствуют следующим требованиям:
- Дарт 3.2.0+
(Необязательно) Ознакомьтесь с примером приложения.
Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственного приложения Flutter. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .
Единство
В этом руководстве предполагается, что вы знакомы с разработкой игр на Unity.
Убедитесь, что ваша среда разработки и игра Unity соответствуют следующим требованиям:
- Редактор Unity 2021 LTS или новее
(Необязательно) Ознакомьтесь с примером приложения.
Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственной игры на Unity. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .
Шаг 1 : Настройте проект Firebase и подключите свое приложение
Войдите в консоль Firebase и выберите свой проект Firebase.
Если у вас еще нет проекта Firebase, нажмите «Создать проект» , а затем воспользуйтесь одним из следующих вариантов:
Вариант 1 : создайте совершенно новый проект Firebase (и его базовый проект Google Cloud автоматически), введя имя нового проекта на первом этапе рабочего процесса «Создание проекта».
Вариант 2 : «Добавить Firebase» в существующий проект Google Cloud , выбрав имя проекта Google Cloud в раскрывающемся меню на первом этапе рабочего процесса «Создание проекта».
Обратите внимание, что при появлении соответствующего запроса вам не нужно настраивать Google Analytics для использования Firebase AI Logic SDK.
В консоли Firebase перейдите на страницу Firebase AI Logic .
Нажмите «Начать» , чтобы запустить пошаговый рабочий процесс, который поможет вам настроить необходимые API и ресурсы для вашего проекта.
Выберите поставщика Gemini API , который вы хотите использовать с Firebase AI Logic SDK. Для начинающих пользователей рекомендуется использовать Gemini Developer API . При желании вы всегда сможете добавить биллинг или настроить Vertex AI Gemini API позже.
API разработчика Gemini — оплата необязательна (доступно в бесплатном тарифном плане Spark, при желании можно перейти на более поздний вариант)
Консоль включит необходимые API и создаст ключ API Gemini в вашем проекте.
Не добавляйте этот ключ API Gemini в кодовую базу вашего приложения. Подробнее.Vertex AI Gemini API — требуется выставление счетов (требуется тарифный план Blaze с оплатой по мере использования)
Консоль поможет вам настроить биллинг и включить необходимые API в вашем проекте.
При появлении соответствующего запроса в рабочем процессе консоли следуйте инструкциям на экране, чтобы зарегистрировать свое приложение и подключить его к Firebase.
Перейдите к следующему шагу этого руководства, чтобы добавить SDK в свое приложение.
Шаг 2 : Добавьте SDK
После настройки проекта Firebase и подключения приложения к Firebase (см. предыдущий шаг) вы теперь можете добавить Firebase AI Logic SDK в свое приложение.
Быстрый
Используйте Swift Package Manager для установки и управления зависимостями Firebase.
Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen . Она входит в состав Firebase SDK для платформ Apple ( firebase-ios-sdk
).
Если вы уже используете Firebase, убедитесь, что ваш пакет Firebase — версия 11.13.0 или более поздняя.
В Xcode откройте проект приложения, перейдите в Файл > Добавить зависимости пакета .
При появлении запроса добавьте репозиторий Firebase Apple Platforms SDK:
https://github.com/firebase/firebase-ios-sdk
Выберите последнюю версию SDK.
Выберите библиотеку
FirebaseAI
.
После завершения 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.0.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.
Если вы решите не использовать Firebase BoM , вам необходимо указать каждую версию библиотеки Firebase в строке ее зависимостей.
Обратите внимание: если вы используете в своем приложении несколько библиотек Firebase, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add the dependency for the Firebase AI Logic library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai:17.0.0") }
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.0.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.
Если вы решите не использовать Firebase BoM , вам необходимо указать каждую версию библиотеки Firebase в строке ее зависимостей.
Обратите внимание: если вы используете в своем приложении несколько библиотек Firebase, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add the dependency for the Firebase AI Logic library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai:17.0.0") }
Web
Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen . Она входит в состав Firebase JavaScript SDK for Web.
Установите Firebase JS SDK для Web с помощью npm:
npm install firebase
Инициализируйте 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 .
Из каталога проекта Flutter выполните следующую команду, чтобы установить основной плагин и плагин Firebase AI Logic :
flutter pub add firebase_core firebase_ai
В файле
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';
Также в файле
lib/main.dart
инициализируйте Firebase, используя объектDefaultFirebaseOptions
, экспортированный файлом конфигурации:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Перестройте свое приложение Flutter:
flutter run
Единство
Загрузите Firebase Unity SDK , затем распакуйте SDK в удобное место.
Firebase Unity SDK не привязан к какой-либо платформе.
В открытом проекте Unity перейдите в раздел Assets > Import Package > Custom Package .
Из извлеченного SDK выберите пакет
FirebaseAI
.В окне Импорт пакета Unity нажмите Импорт .
Вернитесь в консоль Firebase , в рабочем процессе настройки нажмите кнопку Далее .
Шаг 3 : Инициализируйте службу и создайте экземпляр модели.
Щелкните своего поставщика API Gemini , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице. |
Перед отправкой запроса модели Gemini инициализируйте службу для выбранного вами поставщика API и создайте экземпляр GenerativeModel
.
Быстрый
import FirebaseAI
// 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
.
- Чтобы получить доступ к модели Imagen , создайте экземпляр
ImagenModel
.
Кроме того, после прочтения этого вводного руководства вы узнаете, как выбрать модель для своего варианта использования и приложения.
Шаг 4 : Отправьте быстрый запрос модели
Теперь вы готовы отправить быстрый запрос модели Gemini .
Вы можете использовать generateContent()
для генерации текста из приглашения, содержащего текст:
Быстрый
import FirebaseAI
// 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 = generativeModel.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.");
Что еще вы можете сделать?
Узнайте больше о поддерживаемых моделях
Узнайте о моделях, доступных для различных вариантов использования , их квотах и ценах .Попробуйте другие возможности
- Узнайте больше о создании текста из текстовых подсказок , в том числе о том, как передавать ответ в потоковом режиме.
- Сгенерируйте текст, используя различные типы файлов, такие как изображения , PDF-файлы , видео и аудио .
- Создавайте многовариантные беседы (чаты) .
- Генерируйте структурированный вывод (например, JSON) из текстовых и многомодальных запросов.
- Генерация изображений из текстовых подсказок ( Gemini или Imagen ).
- Потоковая передача входных и выходных данных (включая аудио) с использованием Gemini Live API .
- Используйте инструменты (например, вызов функций и привязку к Google Search ) для подключения модели Gemini к другим частям вашего приложения, внешним системам и информации.
Узнайте, как контролировать генерацию контента
- Понимать дизайн подсказок , включая передовые практики, стратегии и примеры подсказок.
- Настройте параметры модели , такие как температура и максимальные выходные токены (для Gemini ) или соотношение сторон и генерация человека (для Imagen ).
- Используйте настройки безопасности , чтобы отрегулировать вероятность получения ответов, которые могут считаться опасными.
Оставьте отзыв о своем опыте работы с Firebase AI Logic