Implementar flujos en cualquier plataforma de Node.js

Firebase Genkit tiene integraciones incorporadas que te ayudan a implementar tus flujos en Firebase Cloud Functions y Google Cloud Run, pero también puedes implementar fluye a cualquier plataforma que pueda entregar una app de Express.js, ya sea una o autoalojado.

En esta página, se explica el proceso de implementación de la configuración flujo de muestra.

  1. Instala las herramientas necesarias:

    • Asegúrate de usar la versión 20 del nodo o una superior (ejecuta node --version para verificar).
  2. Crea un directorio para el proyecto de muestra de Genkit:

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

    Si vas a usar un IDE, ábrelo en este directorio.

  3. Inicializa un proyecto nodejs:

    npm init -y
    
  4. Inicializa un proyecto de Genkit:

    genkit init
    
    1. Selecciona tu modelo:

      Gemini (IA de Google)

      La forma más sencilla de comenzar es con la API de Gemini de Google AI. Asegúrate de que está disponible en tu región.

      Genera una clave de API para la API de Gemini con Google AI Studio. Luego, configura la variable de entorno GOOGLE_API_KEY en tu clave:

      export GOOGLE_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      Si la API de Gemini de Google AI no está disponible en tu región, considera usar la API de Vertex AI, que también ofrece Gemini y otros modelos. Deberás tener un proyecto de Google Cloud con facturación habilitada, habilitar la API de AI Platform y establecer algunas variables de entorno adicionales:

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

      Consulta https://cloud.google.com/vertex-ai/generative-ai/pricing para conocer los precios de Vertex AI.

    2. Elige respuestas predeterminadas para el resto de las preguntas, lo que inicializará la carpeta de tu proyecto con algún código de muestra.

  5. Compila y ejecuta el código de muestra:

    npm run build
    genkit flow:run menuSuggestionFlow "\"banana\"" -s
    
  6. Opcional: Inicia la IU para desarrolladores:

    genkit start
    

    Luego, ve a http://localhost:4000/flows y ejecuta el flujo con la IU para desarrolladores.

    Cuando hayas terminado, presiona Ctrl+C en la consola para salir de la IU.

  7. Prueba el extremo Express:

    npm run start
    

    Luego, en otra ventana, haz lo siguiente:

    curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow?stream=true" -H "Content-Type: application/json"  -d '{"data": "banana"}'
    
  8. Si todo funciona como se esperaba, puedes implementar el flujo en el proveedor. que prefieras. Los detalles dependerán del proveedor, pero, por lo general, hay que para establecer la siguiente configuración:

    Configuración Valor
    Entorno de ejecución Node.js 20 o una versión más reciente
    Comando de compilación npm run build
    Comando de inicio npm run start
    Variables de entorno GOOGLE_API_KEY=<your-api-key> (o los secretos que se requieran)