Imagen 3 to model do generowania obrazów. Można go używać do generowania niestandardowych awatarów na potrzeby profili użytkowników lub do integrowania spersonalizowanych zasobów wizualnych z dotychczasowymi przepływami ekranów w celu zwiększenia zaangażowania użytkowników.
Modele Imagen możesz uzyskać w aplikacji na Androida, korzystając z pakietu SDK Vertex AI w Firebase.
Eksperymentowanie z promptami
Utworzenie idealnych promptów często wymaga kilku prób. Możesz eksperymentować z promptami obrazów w Vertex AI Studio, czyli środowisku IDE do projektowania i prototypowania promptów. Wskazówki dotyczące ulepszania promptów znajdziesz w przewodniku promptów i atrybutów obrazów.

Konfigurowanie projektu Firebase i łączenie z nim aplikacji
Wykonaj czynności opisane w dokumentacji Firebase, aby dodać Firebase do projektu na Androida.
Dodawanie zależności Gradle
Dodaj do pliku aplikacji build.gradle
te zależności:
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.9.0"))
implementation("com.google.firebase:firebase-vertexai")
}
Imagen 3 w Vertex AI w Firebase wymaga wersji Firebase BOM 33.10.0 lub nowszej.
Generowanie obrazu
Aby wygenerować obraz w aplikacji na Androida, zacznij od utworzenia instancji interfejsuImagenModel
z opcjonalną konfiguracją.
Parametru generationConfig
możesz użyć do zdefiniowania promptu negatywnego, liczby obrazów, formatu obrazu wyjściowego i dodania znaku wodnego. Parametr safetySettings
służy do konfigurowania filtrów bezpieczeństwa i osoby.
Kotlin
val imagenModel = Firebase.vertexAI.imagenModel(
modelName = "imagen-3.0-generate-001",
generationConfig = ImagenGenerationConfig(
negativePrompt = "frogs",
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
),
safetySettings = ImagenSafetySettings(
safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
)
)
Java
GenerativeModel imagenModel = FirebaseVertexAI.getInstance().imagenModel(
"imagen-3.0-generate-001",
ImagenGenerationConfig.builder()
.setNegativePrompt("frogs")
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(true)
.build(),
ImagenSafetySettings.builder()
.setSafetyFilterLevel(ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE)
.setPersonFilterLevel(ImagenPersonFilterLevel.BLOCK_ALL)
.build()
);
Po uruchomieniu obiektu ImagenModel
możesz generować obrazy, wywołując funkcję generateImages
:
Kotlin
val imageResponse = imagenModel.generateImages(
prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()
Java
CompletableFuture<GenerateContentResponse> futureResponse =
imagenModel.generateContent(
Content.newBuilder()
.addParts(
Part.newBuilder()
.setText("An astronaut riding a horse")
.build())
.build());
try {
GenerateContentResponse imageResponse = futureResponse.get();
List<GeneratedImage> images =
imageResponse
.getCandidates(0)
.getContent()
.getParts(0)
.getInlineData()
.getImagesList();
if (!images.isEmpty()) {
GeneratedImage image = images.get(0);
Bitmap bitmapImage = image.asBitmap();
// Use bitmapImage
}
} catch (ExecutionException | InterruptedException e) {
e.printStackTrace();
}
Dalsze kroki
- Zapoznaj się z omówieniem Vertex AI w Firebase.
- Dowiedz się więcej o tym, jak uzyskać dostęp do Imagen za pomocą pakietu Vertex AI w pakietach SDK Firebase.
- Zapoznaj się z dokumentacją Imagen API w Google Cloud.
- Dowiedz się więcej o zasadach odpowiedzialnej AI Google