Implantar fluxos em qualquer plataforma Node.js

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

Nesta página, você verá um exemplo de como implantar o fluxo de amostra padrão.

  1. Instale as ferramentas necessárias:

    • Verifique se você está usando o nó 20 ou versão mais recente (execute node --version para verificar).
  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 Node.js como a opção da plataforma de implantação. Modelos para o Firebase Cloud Functions e o Google Cloud Run também estão disponíveis.

    2. Selecione o modelo:

      Gemini (IA do Google)

      A maneira mais simples de começar é com a API Google AI Gemini. Verifique se ele está disponível na sua região.

      Gere uma chave de API para a API Genmini usando o Google AI Studio. Em seguida, defina a variável de ambiente GOOGLE_API_KEY como sua chave:

      export GOOGLE_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      Se a API Gemini do Google não estiver disponível na sua região, use a API Vertex AI, que também oferece o Gemini e outros modelos. Você precisará ter um projeto do Google Cloud com faturamento ativado, habilitar a API AI Platform e definir algumas variáveis de ambiente adicionais:

      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.

    3. Escolha respostas padrão para o restante das perguntas. Isso inicializa a pasta do projeto com um 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, navegue até http://localhost:4000/flows e execute o fluxo usando a interface do desenvolvedor.

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

  7. Teste o endpoint Express:

    npm run start
    

    Depois, 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 dependem do provedor, mas geralmente é necessário definir as seguintes configurações:

    Configuração Valor
    Ambiente de execução Node.js 20 ou versão mais recente
    Comando de build npm run build
    Iniciar comando npm run start
    Variáveis de ambiente GOOGLE_API_KEY=<your-api-key> (ou qualquer secret necessário)