Генкит Firebase с Cloud Run

Вы можете развернуть потоки Firebase Genkit как веб-сервисы с помощью Cloud Run. На этой странице в качестве примера описывается процесс развертывания примера потока по умолчанию.

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

    1. Убедитесь, что вы используете Node.js версии 20 или выше (для проверки запустите node --version ).

    2. Установите Google Cloud CLI .

  2. Создайте новый проект Google Cloud с помощью консоли Cloud или выберите существующий. Проект должен быть привязан к платежному аккаунту.

    После создания или выбора проекта настройте интерфейс командной строки Google Cloud для его использования:

    gcloud init
    
  3. Создайте каталог для примера проекта Genkit:

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

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

  4. Инициализируйте проект Node.js в каталоге вашего проекта:

    npm init -y
    
  5. Инициализируйте Genkit в своем проекте Node.js:

    genkit init
    
    • Выберите Google Cloud в качестве платформы развертывания.
    • Выберите поставщика модели, которого вы хотите использовать.

    Примите значения по умолчанию для остальных запросов. Инструмент genkit создаст несколько примеров исходных файлов, которые помогут вам приступить к разработке собственных потоков ИИ. Однако в оставшейся части этого руководства вы просто развернете пример потока.

  6. Сделайте учетные данные API доступными для развернутой функции. Выполните одно из следующих действий в зависимости от выбранного вами поставщика модели:

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

    1. Убедитесь, что Google AI доступен в вашем регионе .

    2. Создайте ключ API для Gemini API с помощью Google AI Studio.

    3. Сделайте ключ API доступным в среде Cloud Run:

      1. В облачной консоли включите API Secret Manager .
      2. На странице «Менеджер секретов» создайте новый секрет, содержащий ваш ключ API.
      3. После создания секрета на той же странице предоставьте своей учетной записи вычислительной службы по умолчанию доступ к секрету с помощью роли Секретного доступа диспетчера секретов . (Имя учетной записи вычислительной службы по умолчанию можно найти на странице IAM.)

      На более позднем этапе, когда вы развернете службу, вам нужно будет указать имя этого секрета.

    4. Необязательно : если вы хотите запустить поток локально, как на следующем шаге, установите для переменной среды GOOGLE_GENAI_API_KEY свой ключ:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

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

    1. В облачной консоли включите API Vertex AI для своего проекта.

    2. На странице IAM убедитесь, что учетной записи службы вычислений по умолчанию предоставлена ​​роль пользователя Vertex AI .

    3. Необязательно : если вы хотите запустить поток локально, как на следующем шаге, установите некоторые дополнительные переменные среды и используйте инструмент gcloud для настройки учетных данных приложения по умолчанию:

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      

    Единственный секрет, который вам нужно настроить для этого руководства, — это поставщик модели, но в целом вы должны сделать что-то подобное для каждой службы, которую использует ваш поток.

  7. Необязательно : попробуйте свой алгоритм в пользовательском интерфейсе разработчика:

    1. Запустите пользовательский интерфейс:

      genkit start
      
    2. В пользовательском интерфейсе разработчика (http://localhost:4000/) запустите поток:

      1. Нажмите менюПоток предложений .

      2. На вкладке «Ввод JSON» укажите тему модели:

        "banana"
        
      3. Нажмите «Выполнить» .

  8. Если пока все работает так, как ожидалось, вы можете создать и развернуть поток:

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

    npm run build
    gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

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

    npm run build
    gcloud run deploy
    

    Выберите N когда вас спросят, хотите ли вы разрешить неаутентифицированные вызовы. Ответ N приведет к тому, что ваша служба будет требовать учетные данные IAM. Информацию о предоставлении этих учетных данных см. в разделе «Аутентификация» в документации Cloud Run.

После завершения развертывания инструмент распечатает URL-адрес службы. Вы можете проверить это с помощью curl :

curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'