Развертывание потоков на любой платформе Node.js

Firebase Genkit имеет встроенные возможности интеграции, которые помогут вам развернуть ваши потоки в Firebase Cloud Functions и Google Cloud Run, но вы также можете развернуть свои потоки на любой платформе, которая может обслуживать приложение Express.js, будь то облачная служба или локальное размещение. .

На этой странице в качестве примера описывается процесс развертывания примера потока по умолчанию.

  1. Установите необходимые инструменты:

    • Убедитесь, что вы используете версию узла 20 или выше (для проверки запустите node --version ).
  2. Создайте каталог для примера проекта Genkit:

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

    Если вы собираетесь использовать IDE, откройте ее в этом каталоге.

  3. Инициализируйте проект nodejs:

    npm init -y
    
  4. Инициализируйте проект Genkit:

    genkit init
    
    1. Выберите Node.js в качестве варианта платформы развертывания (также доступны шаблоны для облачных функций Firebase и Google Cloud Run).

    2. Выберите свою модель:

      Близнецы (ИИ Google)

      Самый простой способ начать — использовать Google AI Gemini API. Убедитесь, что оно доступно в вашем регионе .

      Создайте ключ API для Gemini API с помощью Google AI Studio. Затем установите для переменной среды GOOGLE_API_KEY свой ключ:

      export GOOGLE_API_KEY=<your API key>
      

      Близнецы (Vertex AI)

      Если API Google AI Gemini недоступен в вашем регионе, рассмотрите возможность использования API Vertex AI, который также предлагает модели Gemini и другие модели. Вам потребуется иметь проект Google Cloud с поддержкой биллинга, включить API платформы AI и установить некоторые дополнительные переменные среды:

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

      Цены на Vertex AI см. на странице https://cloud.google.com/vertex-ai/generative-ai/pricing.

    3. Выберите ответы по умолчанию на остальные вопросы, которые инициализируют папку вашего проекта с помощью примера кода.

  5. Создайте и запустите пример кода:

    npm run build
    genkit flow:run menuSuggestionFlow "\"banana\"" -s
    
  6. Необязательно : Запустите пользовательский интерфейс разработчика:

    genkit start
    

    Затем перейдите по адресу http://localhost:4000/flows и запустите поток с помощью пользовательского интерфейса разработчика.

    Когда вы закончите, нажмите Ctrl+C в консоли, чтобы выйти из пользовательского интерфейса.

  7. Попробуйте конечную точку Express:

    npm run start
    

    Затем в другом окне:

    curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow?stream=true" -H "Content-Type: application/json"  -d '{"data": "banana"}'
    
  8. Если все работает должным образом, вы можете развернуть поток выбранному вами поставщику. Детали будут зависеть от провайдера, но обычно вам необходимо настроить следующие параметры:

    Параметр Ценить
    Время выполнения Node.js 20 или новее
    Команда сборки npm run build
    Команда запуска npm run start
    Переменные среды GOOGLE_API_KEY=<your-api-key> (или любые другие необходимые секреты)