Implantar fluxos em qualquer plataforma Node.js

O Firebase Genkit tem integrações integradas que ajudam você a implantar seus fluxos em o Firebase Cloud Functions e o Google Cloud Run, mas também é possível implantar para qualquer plataforma que disponibilize um app Express.js, seja uma plataforma ou auto-hospedado.

Esta página, como exemplo, orienta você no processo de implantação do padrão fluxo de amostra.

  1. Instale as ferramentas necessárias:

    • Verifique se você está usando a versão 20 ou mais recente do nó (execute node --version para ).
  2. Crie um diretório para o projeto de amostra do Genkit:

    export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
    mkdir -p $GENKIT_PROJECT_HOME
    cd $GENKIT_PROJECT_HOME
    

    Se você for usar um ambiente de desenvolvimento integrado, abra-o nesse diretório.

  3. Inicialize um projeto nodejs:

    npm init -y
    
  4. Inicialize um projeto Genkit:

    genkit init
    
    1. Selecione o modelo.

      Gemini (IA do Google)

      A maneira mais simples de começar é com a API Gemini da IA do Google. Confirme se ela está disponível na sua região.

      Gere uma chave de API para à API Gemini usando o Google AI Studio. Depois, defina a variável de ambiente GOOGLE_API_KEY para sua chave:

      export GOOGLE_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      Se a API Gemini da IA do Google não estiver disponível na sua região, considere usar a API Vertex AI, que também oferece o Gemini e outros modelos. Você precisa ter um projeto do Google Cloud com faturamento, ativar a API AI Platform e definir mais algumas variáveis de ambiente:

      gcloud services enable aiplatform.googleapis.com
      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      

      Consulte os preços da Vertex AI em https://cloud.google.com/vertex-ai/generative-ai/pricing.

    2. Escolha respostas padrão para o restante das perguntas, o que inicializará a pasta do seu projeto com algum exemplo de código.

  5. Crie e execute o exemplo de código:

    npm run build
    genkit flow:run menuSuggestionFlow "\"banana\"" -s
    
  6. Opcional: inicie a interface do desenvolvedor:

    genkit start
    

    Em seguida, acesse http://localhost:4000/flows e execute o fluxo usando a interface do desenvolvedor.

    Ao terminar, pressione Ctrl+C no console para sair da interface.

  7. Teste o endpoint do Express:

    npm run start
    

    Em seguida, em outra janela:

    curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow?stream=true" -H "Content-Type: application/json"  -d '{"data": "banana"}'
    
  8. Se tudo estiver funcionando como esperado, implante o fluxo no provedor de sua escolha. Os detalhes dependerão do fornecedor, mas geralmente é necessário para definir as seguintes configurações:

    Configuração Valor
    Ambiente de execução Node.js 20 ou mais recente
    Comando de build npm run build
    Comando de início npm run start
    Variáveis de ambiente GOOGLE_API_KEY=<your-api-key> (ou os secrets necessários)