Esegui il deployment dei flussi su qualsiasi piattaforma di hosting di app

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.

  1. 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.

  2. Inizializza un modulo Go nella directory del progetto:

    go mod init example/cloudrun
    
  3. 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.

  4. Modifica il file di esempio (main.go o genkit.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.

  5. 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.

  6. 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)

    1. Assicurati che l'AI di Google sia disponibile nella tua regione.

    2. Genera una chiave API per l'API Gemini utilizzando Google AI Studio.

    3. 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 variabileGOOGLE_GENAI_API_KEY, Genkit la utilizzerà automaticamente. In caso contrario, devi modificare la chiamata googleai.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)

    1. Nella console Cloud, abilita l'API Vertex AI per il tuo progetto.

    2. 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.

    3. Configura le credenziali predefinite dell'applicazione nel tuo ambiente di hosting.

    4. 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 e GCLOUD_LOCATION nell'ambiente di hosting o nella chiamata vertexai.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.

  7. (Facoltativo) Prova il flusso nell'interfaccia utente per gli sviluppatori:

    1. 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
      
    2. Avvia l'interfaccia utente:

      genkit start
      
    3. Nell'interfaccia utente per sviluppatori (http://localhost:4000/), esegui il flusso:

      1. Fai clic su menuSuggestionFlow.

      2. Nella scheda Input JSON, fornisci un soggetto per il modello:

        "banana"
        
      3. Fai clic su Esegui.

  8. Se finora tutto funziona come previsto, puoi creare ed eseguire il deployment del flusso utilizzando gli strumenti del tuo provider.