В этом руководстве показано, как начать совершать вызовы 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 Editor 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. Вы всегда можете настроить и использовать другого поставщика API позже, если захотите.
Gemini Developer API — оплата необязательна (доступно в бесплатном тарифном плане Spark)
Консоль включит необходимые API и создаст ключ 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 — v11.13.0 или более поздней версии.
В Xcode откройте проект приложения и перейдите в меню Файл > Добавить зависимости пакета .
При появлении соответствующего запроса добавьте репозиторий Firebase Apple platform 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:33.13.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:16.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:33.13.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:16.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 && flutter pub add 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 , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице. |
При использовании клиентских SDK Firebase AI Logic с API разработчика Gemini вам НЕ нужно добавлять ключ 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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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 Live API .
- Используйте вызов функций для подключения генеративных моделей к внешним системам и информации.
Узнайте, как контролировать генерацию контента
- Изучите дизайн подсказок , включая лучшие практики, стратегии и примеры подсказок.
- Настройте параметры модели , такие как температура и максимальные выходные токены (для Gemini ) или соотношение сторон и генерация человека (для Imagen ).
- Используйте настройки безопасности , чтобы отрегулировать вероятность получения ответов, которые могут считаться вредоносными.
Оставьте отзыв о своем опыте использования Firebase AI Logic