Ten przewodnik pokazuje, jak zacząć korzystać z funkcji Gemini API bezpośrednio z aplikacji za pomocą pakietów SDK klienta Firebase AI Logic na wybranej platformie.
Z tego przewodnika możesz też skorzystać, aby rozpocząć dostęp do modeli Imagen za pomocą pakietów SDK Firebase AI Logic.
Wymagania wstępne
Swift
W tym przewodniku założyliśmy, że wiesz, jak używać Xcode do tworzenia aplikacji na platformy Apple (np. iOS).
Upewnij się, że środowisko programistyczne i aplikacja na platformy Apple spełniają te wymagania:
- Xcode 16.2 lub nowsza
- Twoja aplikacja jest kierowana na system iOS 15 lub nowszy albo macOS 12 lub nowszy.
(Opcjonalnie) Zapoznaj się z przykładową aplikacją.
Pobierz aplikację Szybki start
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub użyć przykładowej aplikacji, jeśli nie masz własnej aplikacji na platformy Apple. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Kotlin
W tym przewodniku zakładamy, że wiesz, jak używać Android Studio do tworzenia aplikacji na Androida.
Upewnij się, że środowisko programistyczne i aplikacja na Androida spełniają te wymagania:
- Android Studio (najnowsza wersja)
- Twoja aplikacja jest kierowana na interfejs API na poziomie 21 lub wyższym.
(Opcjonalnie) Zapoznaj się z przykładową aplikacją.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub użyć przykładowej aplikacji, jeśli nie masz własnej aplikacji na Androida. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Java
W tym przewodniku zakładamy, że wiesz, jak używać Android Studio do tworzenia aplikacji na Androida.
Upewnij się, że środowisko programistyczne i aplikacja na Androida spełniają te wymagania:
- Android Studio (najnowsza wersja)
- Twoja aplikacja jest kierowana na interfejs API na poziomie 21 lub wyższym.
(Opcjonalnie) Zapoznaj się z przykładową aplikacją.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub użyć przykładowej aplikacji, jeśli nie masz własnej aplikacji na Androida. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Web
W tym przewodniku zakładamy, że znasz JavaScript i wiesz, jak tworzyć aplikacje internetowe. Ten przewodnik jest niezależny od platformy.
Upewnij się, że środowisko programistyczne i aplikacja internetowa spełniają te wymagania:
- (Opcjonalnie) Node.js
- Nowoczesna przeglądarka
(Opcjonalnie) Zapoznaj się z przykładową aplikacją.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub użyć przykładowej aplikacji, jeśli nie masz własnej aplikacji internetowej. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Dart
W tym przewodniku zakładamy, że znasz już programowanie aplikacji w Flutterze.
Upewnij się, że środowisko programistyczne i aplikacja Flutter spełniają te wymagania:
- Dart 3.2.0 lub nowszy
(Opcjonalnie) Zapoznaj się z przykładową aplikacją.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub użyć przykładowej aplikacji, jeśli nie masz własnej aplikacji Flutter. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Unity
W tym przewodniku przyjmujemy założenie, że znasz już tworzenie gier w Unity.
Upewnij się, że środowisko programistyczne i gra w Unity spełniają te wymagania:
- Edytor Unity w wersji LTS z 2021 r. lub nowszej
(Opcjonalnie) Zapoznaj się z przykładową aplikacją.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub użyć przykładowej aplikacji, jeśli nie masz własnej gry na Unity. Aby korzystać z aplikacji przykładowej, musisz połączyć ją z projektem Firebase.
Krok 1. Skonfiguruj projekt Firebase i połącz z nim aplikację.
Zaloguj się w konsoli Firebase, a potem wybierz projekt Firebase.
W konsoli Firebase otwórz stronę Firebase AI Logic.
Kliknij Rozpocznij, aby uruchomić skonfigurowany przepływ pracy, który pomoże Ci skonfigurować wymagane interfejsy API i zasoby dla projektu.
Wybierz dostawcę „Gemini API”, którego chcesz używać z pakietami SDK „Firebase AI Logic”. W każdej chwili możesz skonfigurować innego dostawcę interfejsu API i z niego korzystać.
Gemini Developer API – opcjonalne rozliczenia (dostępne w bezpłatnym planie cennika Spark)
– konsola włączy wymagane interfejsy API i utworzy w projekcie klucz interfejsu API Gemini.
Nie dodawaj tego klucza interfejsu API Gemini do kodu aplikacji. Więcej informacjiJeśli chcesz zmienić plan taryfowy, możesz skonfigurować rozliczenia później.
Vertex AI Gemini API – wymagane rozliczenia (wymaga planu Blaze z opłatą za użycie)
– konsola pomoże Ci skonfigurować rozliczenia i włączyć wymagane interfejsy API w projekcie.
Jeśli w ramach procesu w konsoli pojawi się odpowiedni komunikat, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zarejestrować aplikację i połączyć ją z Firebase.
Aby dodać pakiet SDK do aplikacji, przejdź do następnego kroku w tym przewodniku.
Krok 2. Dodaj pakiet SDK
Po skonfigurowaniu projektu Firebase i połączeniu aplikacji z Firebase (patrz poprzedni krok) możesz dodać do aplikacji pakiet SDK Firebase AI Logic.
Swift
Do instalacji zależności Firebase i zarządzania nimi możesz używać menedżera pakietów Swift.
Biblioteka Firebase AI Logic udostępnia interfejsy API do interakcji z modelami Gemini i Imagen. Biblioteka jest dołączona do pakietu SDK Firebase na platformy Apple (firebase-ios-sdk
).
Jeśli używasz już Firebase, sprawdź, czy pakiet Firebase ma wersję 11.13.0 lub nowszą.
Po otwarciu projektu aplikacji w Xcode wybierz Plik > Dodaj zależności pakietu.
Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:
https://github.com/firebase/firebase-ios-sdk
Wybierz najnowszą wersję pakietu SDK.
Wybierz bibliotekę
FirebaseAI
.
Gdy to zrobisz, Xcode zacznie automatycznie wyszukiwać i pobierać zależności w tle.
Kotlin
Pakiet SDK Firebase AI Logic na Androida (firebase-ai
) zapewnia dostęp do interfejsów API umożliwiających interakcję z modelami Gemini i Imagen.
W pliku Gradle na poziomie modułu (aplikacji) (np. <project>/<app-module>/build.gradle.kts
)
dodaj zależność z biblioteką Firebase AI Logic na Androida.
Zalecamy używanie Firebase Android BoM do kontrolowania wersji biblioteki.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.14.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") }
Dzięki użyciu Firebase Android BoMaplikacja zawsze będzie używać zgodnych wersji bibliotek Firebase na Androida.
Java
Pakiet SDK Firebase AI Logic na Androida (firebase-ai
) zapewnia dostęp do interfejsów API umożliwiających interakcję z modelami Gemini i Imagen.
W pliku Gradle na poziomie modułu (aplikacji) (np. <project>/<app-module>/build.gradle.kts
)
dodaj zależność z biblioteką Firebase AI Logic na Androida.
Zalecamy używanie Firebase Android BoM do kontrolowania wersji biblioteki.
W przypadku Javy musisz dodać 2 dodatkowe biblioteki.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.14.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") }
Dzięki użyciu Firebase Android BoMaplikacja zawsze będzie używać zgodnych wersji bibliotek Firebase na Androida.
Web
Biblioteka Firebase AI Logic udostępnia interfejsy API do interakcji z modelami Gemini i Imagen. Biblioteka jest zawarta w pakiecie Firebase JavaScript SDK dla sieci Web.
Zainstaluj pakiet Firebase JS SDK na potrzeby Internetu za pomocą npm:
npm install firebase
Inicjalizacja Firebase w aplikacji:
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
Wtyczka Firebase AI Logic dla Fluttera (firebase_ai
) zapewnia dostęp do interfejsów API umożliwiających interakcję z modelami Gemini i Imagen.
W katalogu projektu Flutter uruchom to polecenie, aby zainstalować podstawowe i Firebase AI Logic:
flutter pub add firebase_core && flutter pub add firebase_ai
W pliku
lib/main.dart
zaimportuj podstawowy wtyczkę Firebase, wtyczkę Firebase AI Logic oraz wygenerowany wcześniej plik konfiguracji:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
W pliku
lib/main.dart
zainicjuj Firebase za pomocą obiektuDefaultFirebaseOptions
wyeksportowanego przez plik konfiguracji:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Zbuduj ponownie aplikację Flutter:
flutter run
Unity
Pobierz pakiet SDK Firebase Unity, a potem rozpakuj go w wygodnym miejscu.
Pakiet SDK Firebase Unity nie jest powiązany z konkretną platformą.
W otwartym projekcie Unity kliknij Zasoby > Importuj pakiet > Pakiet niestandardowy.
W wyodrębnionym pakiecie SDK wybierz pakiet
FirebaseAI
.W oknie Importowanie pakietu Unity kliknij Importuj.
Wróć do konsoli Firebase i w procesie konfiguracji kliknij Dalej.
Krok 3. Inicjuj usługę i utwórz instancję modelu.
Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod związane z tym dostawcą. |
Jeśli używasz pakietów SDK klienta Firebase AI Logic z poziomu Gemini Developer API, nie dodawaj klucza interfejsu API Gemini do kodu źródłowego aplikacji. Więcej informacji
Zanim wyślesz prompt do modelu Gemini, zainicjuj usługę wybranego dostawcy interfejsu API i utwórz instancję GenerativeModel
.
Swift
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');
Unity
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");
Pamiętaj, że w zależności od używanej funkcji możesz nie zawsze tworzyć instancję GenerativeModel
.
- Aby uzyskać dostęp do modelu Imagen, utwórz instancję
ImagenModel
.
Po przeczytaniu tego przewodnika dowiesz się też, jak wybrać model odpowiedni do Twojego przypadku użycia i aplikacji.
Krok 4. Wyślij prośbę o prompt do modelu
Możesz teraz wysłać prośbę o prompt do modelu Gemini.
Za pomocą generateContent()
możesz wygenerować tekst z promptu zawierającego:
Swift
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
W przypadku Kotlina metody w tym pakiecie SDK są funkcjami zawieszającymi i muszą być wywoływane z zakresu współbieżności.
// 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
W przypadku Javy metody w tym pakiecie SDK zwracają wartość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);
Unity
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.");
Co jeszcze możesz zrobić?
Więcej informacji o obsługiwanych modelach
Dowiedz się więcej o modelach dostępnych w różnych przypadkach użycia oraz o ich limitach i cenach.
Wypróbuj inne funkcje
- Dowiedz się więcej o generowaniu tekstu na podstawie promptów tekstowych, w tym o przesyłaniu odpowiedzi.
- generować tekst, wyświetlając prompty z różnymi typami plików, takimi jak obrazy, pliki PDF, filmy i dźwięk;
- tworzyć rozmowy wieloetapowe (czat);
- generować uporządkowane dane wyjściowe (np. w formacie JSON) zarówno na podstawie promptów tekstowych, jak i promptów multimodalnych;
- generować obrazy na podstawie promptów tekstowych;
- przesyłać dane wejściowe i wyjściowe (w tym dźwięk) za pomocą urządzenia Gemini Live API;
- Użyj funkcji wywoływania, aby połączyć modele generatywne z zewnętrznymi systemami i informacjami.
Dowiedz się, jak kontrolować generowanie treści
- Zrozumieć projektowanie promptów, w tym sprawdzone metody, strategie i przykładowe prompty.
- Skonfiguruj parametry modelu, takie jak temperatura i maksymalna liczba tokenów wyjściowych (w przypadku Gemini) lub format obrazu i generowanie osób (w przypadku Imagen).
- Używaj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymywania odpowiedzi, które mogą być uważane za szkodliwe.
Prześlij opinię o swoich wrażeniach związanych z usługą Firebase AI Logic