Развертывание потоков на любой платформе хостинга приложений

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

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

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

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

  2. Инициализируйте модуль Go в каталоге вашего проекта:

    go mod init example/cloudrun
    
  3. Инициализируйте Genkit в своем проекте:

    genkit init
    

    Выберите поставщика модели, которого вы хотите использовать.

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

  4. Отредактируйте файл примера ( main.go или genkit.go ), чтобы явно указать порт, который должен прослушивать сервер потока:

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    

    Если ваш провайдер требует, чтобы вы прослушивали определенный порт, обязательно настройте Genkit соответствующим образом.

  5. Внедрите некоторую форму аутентификации и авторизации для ограничения доступа к потокам, которые вы планируете развернуть.

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

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

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

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

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

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

      Большинство хостов приложений предоставляют некоторую систему для безопасной обработки секретов, таких как ключи API. Часто эти секреты доступны вашему приложению в виде переменных среды. Если вы можете назначить свой ключ API переменной GOOGLE_GENAI_API_KEY , Genkit будет использовать его автоматически. В противном случае вам необходимо изменить вызов googleai.Init() , чтобы явно установить ключ. (Но не встраивайте ключ непосредственно в код! Используйте средства управления секретами, предоставляемые вашим хостинг-провайдером.)

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

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

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

      Предоставьте учетной записи роль пользователя Vertex AI .

    3. Настройте учетные данные приложения по умолчанию в среде хостинга.

    4. Настройте плагин, указав идентификатор своего проекта Google Cloud и местоположение Vertex AI API, которое вы хотите использовать. Вы можете сделать это либо установив переменные среды GCLOUD_PROJECT и GCLOUD_LOCATION в среде вашего хостинга, либо с помощью вызова vertexai.Init() .

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

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

    1. Настройте локальную среду для выбранного вами поставщика модели:

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

      export GOOGLE_GENAI_API_KEY=<your API key>
      

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

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      
    2. Запустите пользовательский интерфейс:

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

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

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

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

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