Puoi eseguire il deployment dei flussi Firebase Genkit come servizi web utilizzando qualsiasi servizio in grado di ospitare un file binario Go. Ad esempio, questa pagina illustra la procedura generale di implementazione del flusso di esempio predefinito e indica dove devi eseguire azioni specifiche per il fornitore.
Crea una directory per il progetto di esempio Genkit:
mkdir -p ~/tmp/genkit-cloud-project
cd ~/tmp/genkit-cloud-project
Se intendi utilizzare un IDE, aprilo in questa directory.
Inizializza un modulo Go nella directory del progetto:
go mod init example/cloudrun
Inizializza Genkit nel progetto:
genkit init
Seleziona il fornitore di modelli che vuoi utilizzare.
Accetta i valori predefiniti per le richieste rimanenti. Lo strumento
genkit
creerà un file di origine di esempio per aiutarti a iniziare a sviluppare i tuoi flussi di IA. Per il resto di questo tutorial, tuttavia, eseguirai solo il deployment del flusso di esempio.Modifica il file di esempio (
main.go
ogenkit.go
) per specificare esplicitamente la porta su cui deve ascoltare il server di flusso:if err := genkit.Init(ctx, &genkit.Options{FlowAddr: ":3400"}, // Add this parameter. ); err != nil { log.Fatal(err) }
Se il tuo fornitore richiede di ascoltare su una porta specifica, assicurati di configurare Genkit di conseguenza.
Implementa una forma di autenticazione e autorizzazione per controllare l'accesso ai flussi che prevedi di implementare.
Poiché la maggior parte dei servizi di IA generativa è misurata, molto probabilmente non vorrai consentire l'accesso aperto a tutti gli endpoint che li richiamano. Alcuni servizi di hosting forniscono un livello di autenticazione come frontend alle app di cui è stato eseguito il deployment, che puoi utilizzare a questo scopo.
Rendi disponibili le credenziali API per la funzione di cui hai eseguito il deployment. Esegui una delle seguenti operazioni, a seconda del fornitore del modello scelto:
Gemini (IA di Google)
Assicurati che l'AI di Google sia disponibile nella tua regione.
Genera una chiave API per l'API Gemini utilizzando Google AI Studio.
Rendi disponibile la chiave API nell'ambiente di cui è stato eseguito il deployment.
La maggior parte degli host di app fornisce un sistema per la gestione sicura di secret, come le chiavi API. Spesso, questi secret sono disponibili per la tua app sotto forma di variabili di ambiente. Se puoi assegnare la chiave API alla variabile
GOOGLE_GENAI_API_KEY
, Genkit la utilizzerà automaticamente. In caso contrario, devi modificare la chiamatagoogleai.Init()
per impostare esplicitamente la chiave. (ma non incorporare la chiave direttamente nel codice. Utilizza le funzionalità di gestione dei secret fornite dal tuo provider di hosting.
Gemini (Vertex AI)
Nella console Cloud, abilita l'API Vertex AI per il tuo progetto.
Nella pagina IAM, crea un account di servizio per accedere all'API Vertex AI se non ne hai già uno.
Concedi all'account il ruolo Utente Vertex AI.
Configura le credenziali predefinite dell'applicazione nel tuo ambiente di hosting.
Configura il plug-in con l'ID progetto Google Cloud e la posizione dell'API Vertex AI che vuoi utilizzare. Puoi farlo impostando le variabili di ambiente
GCLOUD_PROJECT
eGCLOUD_LOCATION
nell'ambiente di hosting o nella chiamatavertexai.Init()
.
L'unico segreto che devi configurare per questo tutorial è per il fornitore del modello, ma in generale devi eseguire un'operazione simile per ogni servizio utilizzato dal flusso.
(Facoltativo) Prova il flusso nell'interfaccia utente per gli sviluppatori:
Configura l'ambiente locale per il provider di modelli che hai scelto:
Gemini (IA di Google)
export GOOGLE_GENAI_API_KEY=<your API key>
Gemini (Vertex AI)
export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
gcloud auth application-default login
Avvia l'interfaccia utente:
genkit start
Nell'interfaccia utente per sviluppatori (http://localhost:4000/), esegui il flusso:
Fai clic su menuSuggestionFlow.
Nella scheda Input JSON, fornisci un soggetto per il modello:
"banana"
Fai clic su Esegui.
Se finora tutto funziona come previsto, puoi creare ed eseguire il deployment del flusso utilizzando gli strumenti del tuo provider.