Questa guida illustra come iniziare a effettuare chiamate a Vertex AI Gemini API direttamente dalla tua app utilizzando l'SDK Vertex AI in Firebase per la piattaforma scelta.
Prerequisiti
Questa guida presuppone che tu abbia familiarità con l'utilizzo di Android Studio per sviluppare app per Android.
Assicurati che l'ambiente di sviluppo e l'app per Android soddisfino i seguenti requisiti:
- Android Studio (versione più recente)
- La tua app per Android deve avere il livello API target 21 o versioni successive.
(Facoltativo) Dai un'occhiata all'app di esempio.
Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app per Android. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.
Passaggio 1: configura un progetto Firebase e collega la tua app a Firebase
Se disponi già di un progetto Firebase e di un'app collegata a Firebase
Nella console Firebase, vai alla pagina Esegui il build con Gemini.
Fai clic sulla scheda Vertex AI in Firebase per avviare un flusso di lavoro che ti aiuta a completare le seguenti attività:
Esegui l'upgrade del progetto per utilizzare il piano tariffario Blaze a pagamento a consumo.
Abilita le API richieste nel tuo progetto (API Vertex AI e API Vertex AI in Firebase).
Vai al passaggio successivo di questa guida per aggiungere l'SDK alla tua app.
Se non hai già un progetto Firebase e un'app collegata a Firebase
Passaggio 2: aggiungi l'SDK
Dopo aver configurato il progetto Firebase e aver collegato l'app a Firebase (vedi il passaggio precedente), ora puoi aggiungere l'SDK Vertex AI in Firebase alla tua app.
L'SDK Vertex AI in Firebase per Android (firebase-vertexai
) fornisce accesso a Vertex AI Gemini API.
Nel file Gradle del modulo (a livello di app)
(ad esempio <project>/<app-module>/build.gradle.kts
),
aggiungi la dipendenza per la libreria Vertex AI in Firebase per Android.
Ti consigliamo di utilizzare Firebase Android BoM per controllare la versione della libreria.
Kotlin+KTX
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") }
Java
Per Java, devi aggiungere altre due librerie.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") // 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") }
Con Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase per Android.
Passaggio 3: inizializza il servizio Vertex AI e il modello generativo
Prima di poter effettuare chiamate API, devi inizializzare il servizio Vertex AI e il modello generativo.
Kotlin+KTX
Per Kotlin, i metodi in questo SDK sono funzioni di sospensione e devono essere chiamati da un ambito Coroutine.// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
Java
Per Java, i metodi di flusso in questo SDK restituiscono un tipoPublisher
dalla libreria Reactive Streams.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
Una volta completata la guida introduttiva, scopri come scegliere un modello Gemini e, facoltativamente, una località appropriata per il tuo caso d'uso e la tua app.
Passaggio 4: chiama il numero Vertex AI Gemini API
Ora che hai collegato la tua app a Firebase, aggiunto l'SDK e inizializzato il servizio Vertex AI e il modello generativo, puoi chiamare Vertex AI Gemini API.
Puoi utilizzare generateContent()
per generare testo da una richiesta di prompt di solo testo:
Kotlin+KTX
Per Kotlin, i metodi in questo SDK sono funzioni sospese e devono essere chiamati da un ambito coroutine.// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.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
Per Java, i metodi in questo SDK restituiscono unListenableFuture
.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// 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);
Cos'altro puoi fare?
Scopri di più sui modelli Gemini
Scopri i modelli disponibili per vari casi d'uso e le relative quote e prezzi.
Provare altre funzionalità di Gemini API
- Scopri di più sulla generazione di testo da prompt di solo testo, incluso come riprodurre in streaming la risposta.
- Genera testo da prompt multimodali (inclusi testo, immagini, PDF, video e audio).
- Crea conversazioni a più turni (chat).
- Genera output strutturato (come JSON) da prompt di testo e multimodali.
- Utilizza le chiamate di funzione per collegare i modelli generativi a sistemi e informazioni esterni.
Scopri come controllare la generazione di contenuti
- Comprendi la progettazione dei prompt, tra cui best practice, strategie e prompt di esempio.
- Configura i parametri del modello, come la temperatura e i token di output massimi.
- Utilizza le impostazioni di sicurezza per regolare la probabilità di ricevere risposte che potrebbero essere considerate dannose.
Inviare un feedback sulla tua esperienza con Vertex AI in Firebase