Déployez des flux sur n'importe quelle plate-forme d'hébergement d'applications

Vous pouvez déployer des flux Firebase Genkit en tant que services Web à l'aide de n'importe quel service pouvant héberger un binaire Go. À titre d'exemple, cette page vous guide tout au long du processus général de déploiement de l'exemple de flux par défaut et indique où vous devez effectuer des actions spécifiques au fournisseur.

  1. Créez un répertoire pour l'exemple de projet Genkit:

    mkdir -p ~/tmp/genkit-cloud-project
    cd ~/tmp/genkit-cloud-project
    

    Si vous utilisez un IDE, ouvrez-le dans ce répertoire.

  2. Initialisez un module Go dans le répertoire de votre projet :

    go mod init example/cloudrun
    
  3. Initialisez Genkit dans votre projet :

    genkit init
    

    Sélectionnez le fournisseur de modèles que vous souhaitez utiliser.

    Acceptez les valeurs par défaut pour les autres invites. L'outil genkit crée un exemple de fichier source pour vous aider à développer vos propres flux d'IA. Toutefois, pour le reste de ce tutoriel, vous ne déploierez que l'exemple de flux.

  4. Modifiez l'exemple de fichier (main.go ou genkit.go) pour spécifier explicitement le port sur lequel le serveur de flux doit écouter:

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    

    Si votre fournisseur vous demande d'écouter sur un port spécifique, veillez à configurer Genkit en conséquence.

  5. Implémentez une forme d'authentification et d'autorisation pour contrôler l'accès aux flux que vous prévoyez de déployer.

    Étant donné que la plupart des services d'IA générative sont facturés, vous ne souhaitez probablement pas autoriser un accès ouvert à tous les points de terminaison qui les appellent. Certains services d'hébergement fournissent une couche d'authentification en tant qu'interface aux applications déployées sur ceux-ci, que vous pouvez utiliser à cette fin.

  6. Mettez les identifiants de l'API à la disposition de votre fonction déployée. Effectuez l'une des opérations suivantes, en fonction du fournisseur de modèles que vous avez choisi :

    Gemini (IA de Google)

    1. Assurez-vous que l'IA de Google est disponible dans votre région.

    2. Générez une clé API pour l'API Gemini à l'aide de Google AI Studio.

    3. Mettez la clé API à disposition dans l'environnement déployé.

      La plupart des hébergeurs d'applications fournissent un système permettant de gérer de manière sécurisée des secrets tels que des clés API. Souvent, ces secrets sont disponibles pour votre application sous la forme de variables d'environnement. Si vous pouvez attribuer votre clé API à la variable GOOGLE_GENAI_API_KEY, Genkit l'utilisera automatiquement. Sinon, vous devez modifier l'appel googleai.Init() pour définir explicitement la clé. (mais n'intégrez pas la clé directement dans le code ! Utilisez les fonctionnalités de gestion des secrets fournies par votre fournisseur d'hébergement.)

    Gemini (Vertex AI)

    1. Dans la console Cloud, activez l'API Vertex AI pour votre projet.

    2. Sur la page IAM, créez un compte de service pour accéder à l'API Vertex AI si vous n'en avez pas déjà un.

      Attribuez au compte le rôle Utilisateur Vertex AI.

    3. Configurez les identifiants par défaut de l'application dans votre environnement d'hébergement.

    4. Configurez le plug-in avec l'ID de votre projet Google Cloud et l'emplacement de l'API Vertex AI que vous souhaitez utiliser. Pour ce faire, définissez les variables d'environnement GCLOUD_PROJECT et GCLOUD_LOCATION dans votre environnement d'hébergement ou dans votre appel vertexai.Init().

    Le seul secret que vous devez configurer pour ce tutoriel concerne le fournisseur de modèle, mais en général, vous devez effectuer une opération similaire pour chaque service utilisé par votre flux.

  7. Facultatif : Essayez votre flux dans l'UI du développeur :

    1. Configurez votre environnement local pour le fournisseur de modèles que vous avez choisi :

      Gemini (IA de 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. Démarrez l'UI :

      genkit start
      
    3. Dans l'UI du développeur (http://localhost:4000/), exécutez le flux :

      1. Cliquez sur menuSuggestionFlow.

      2. Dans l'onglet Input JSON (Entrée JSON), indiquez un objet pour le modèle:

        "banana"
        
      3. Cliquez sur Exécuter.

  8. Si tout fonctionne comme prévu jusqu'à présent, vous pouvez créer et déployer le flux à l'aide des outils de votre fournisseur.