Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_vertexai_endpoint — создание ресурса GCP VertexAI.Endpoint

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.13.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в сценарии, укажите: google.cloud.gcp_vertexai_endpoint.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • В неё развёртываются модели, после чего у конечной точки запрашиваются прогнозы и объяснения.

Требования

На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • python >= 3.8
  • requests >= 2.18.4
  • google-auth >= 2.25.1

Параметры

Параметр

Комментарии

access_token

string

Токен доступа для аутентификации.

auth_kind

string / обязательный

Тип используемых учётных данных.

Варианты:

  • "accesstoken"
  • "application"
  • "machineaccount"
  • "serviceaccount"

dedicated_endpoint_enabled

boolean

Если значение равно true, конечная точка будет доступна через выделенный DNS [Endpoint.dedicated_endpoint_dns].

Запросы к выделенному DNS будут изолированы от трафика других пользователей и обеспечат более высокую производительность и надёжность.

Примечание. После включения выделенной конечной точки отправлять запросы на общий DNS {region}-aiplatform.googleapis.com будет невозможно.

Это ограничение скоро будет снято.

Варианты:

  • false
  • true

description

string

Описание конечной точки.

display_name

string / обязательный

Отображаемое имя конечной точки.

Имя может содержать до 128 символов и любые символы UTF-8.

encryption_spec

dictionary

Спецификация ключа шифрования, управляемого клиентом, для конечной точки.

Если указано это значение, конечная точка и все её подресурсы будут защищены этим ключом.

kms_key_name

string / обязательный

Идентификатор ресурса Cloud KMS для ключа шифрования, управляемого клиентом и используемого для защиты ресурса.

Имеет формат: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.

Ключ должен находиться в том же регионе, где создаётся вычислительный ресурс.

env_type

string

Указывает, в какой среде Ansible выполняется этот модуль.

Не задавайте это значение, если вы не знаете, что делаете.

Этот параметр влияет только на строку User Agent во всех запросах к API.

labels

dictionary

Метки с метаданными, определяемыми пользователем, для упорядочивания конечных точек.

Ключи и значения меток могут содержать не более 64 символов (кодовых точек Unicode) и включать только строчные буквы, цифры, символы подчёркивания и дефисы.

Допускаются символы других языков.

Дополнительные сведения и примеры меток см. на странице https://goo.gl/xmQnxf.

location

string / обязательный

Местоположение ресурса.

name

string / обязательный

Имя ресурса конечной точки.

Имя должно состоять только из цифр, не иметь ведущих нулей и содержать не более 10 цифр.

network

string

Полное имя сети Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks), с которой следует установить пиринговое соединение для конечной точки.

Для сети уже должен быть настроен приватный доступ к сервисам.

Если значение не указано, для конечной точки не устанавливается пиринговое соединение ни с одной сетью.

Можно задать только одно из полей: network или enable_private_service_connect.

[Формат](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`.

Здесь `{project}` — номер проекта, например `12345`, а `{network}` — имя сети.

Можно задать только одно из полей: `network` или `privateServiceConnectConfig`.

predict_request_response_logging_config

dictionary

Настройка журналирования запросов и ответов для прогнозирования в онлайн-режиме.

bigquery_destination

dictionary

Таблица BigQuery для журналирования.

Если указан только проект, будет создан новый набор данных с именем `logging_<endpoint-display-name>_<endpoint-id>`, приведённым к допустимому формату имени набора данных BigQuery (например,

большинство специальных символов будут заменены символами подчёркивания).

Если имя таблицы не указано, будет создана таблица с именем `request_response_logging`.

output_uri

string

URI BigQuery, указывающий на проект или таблицу; длина — не более 2000 символов.

Если указан только проект, будут созданы набор данных и таблица.

Если указана полная ссылка на таблицу, набор данных должен существовать, а таблица — отсутствовать.

Допустимые форматы: путь BigQuery.

Например: `bq://projectId`, `bq://projectId.bqDatasetId` или `bq://projectId.bqDatasetId.bqTableId`.

enabled

boolean

Включено ли журналирование.

Варианты:

  • false
  • true

sampling_rate

string

Доля запросов, которые будут занесены в журнал; задаётся дробным числом в диапазоне (0,1].

private_service_connect_config

dictionary

Конфигурация Private Service Connect.

`network` и `privateServiceConnectConfig` являются взаимоисключающими параметрами.

enable_private_service_connect

boolean / обязательный

Если значение равно true, IndexEndpoint будет доступна через Private Service Connect.

Варианты:

  • false
  • true

enable_secure_private_service_connect

boolean

Если задано значение true, включается защищённое подключение Private Service Connect с авторизацией IAM.

В противном случае подключение Private Service Connect будет осуществляться без авторизации.

Обратите внимание: при включённой авторизации задержка немного увеличится.

Варианты:

  • false
  • true

project_allowlist

list / элементы=string

Список проектов, из которых правило переадресации будет направлено к подключению сервиса.

psc_automation_configs

list / элементы=dictionary

Список проектов и сетей, в которых будут созданы конечные точки PSC.

Это поле используется только для онлайн-инференса (прогнозирования).

error_message

string

Сообщение об ошибке, если автоматическая настройка сервиса PSC завершилась с ошибкой.

forwarding_rule

string

Правило переадресации, созданное средством автоматической настройки сервиса PSC.

ip_address

string

Правило IP-адреса, созданное средством автоматической настройки сервиса PSC.

network

string / обязательный

Полное имя сети Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).

[Формат](https://cloud.google.com/compute/docs/reference/rest/v1/networks/get): projects/{project}/global/networks/{network}.

project_id

string / обязательный

Идентификатор проекта, используемый для создания правила переадресации.

state

string

Состояние автоматической настройки сервиса PSC.

Варианты:

  • "PSC_AUTOMATION_STATE_FAILED"
  • "PSC_AUTOMATION_STATE_SUCCESSFUL"

project

string

Проект Google Cloud Platform, который следует использовать.

region

string

Регион ресурса.

scopes

list / элементы=string

Массив областей доступа, которые следует использовать.

service_account_contents

jsonarg

Содержимое JSON-файла сервисного аккаунта,

в виде словаря или JSON-строки, представляющей его.

service_account_email

string

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

machineaccount и пользователь не хочет использовать адрес по умолчанию.

service_account_file

path

Путь к JSON-файлу сервисного аккаунта, если в качестве типа выбран

serviceaccount.

state

string

Должен ли ресурс существовать в GCP.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

traffic_split

string

Соответствие между идентификаторами развёрнутых моделей и долей трафика этой конечной точки, которую следует направлять каждой модели.

Если идентификатор развёрнутой модели не указан в этом соответствии, она не будет получать трафик.

Сумма значений процентов трафика должна равняться 100; если конечная точка не должна принимать трафик в данный момент, соответствие должно быть пустым.

Дополнительные сведения см. в [примере](https://cloud.google.com/vertex-ai/docs/general/deployment#deploy_a_model_to_an_endpoint) и [документации](https://cloud.google.com/vertex-ai/docs/reference/rest/v1beta1/projects.locations.endpoints/deployModel) для `deployModel`.

~> **Примечание:** Чтобы задать пустое соответствие, укажите `”{}”`, примените конфигурацию, а затем удалите это поле из неё.

Примечания

Примечание

  • Справочник API: https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.endpoints
  • Официальное руководство по документации: https://cloud.google.com/vertex-ai/docs
  • Для аутентификации можно задать auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно задать service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно задать service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно задать service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно задать access_token с помощью переменной среды GCP_ACCESS_TOKEN.
  • Для аутентификации можно задать scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды используются только в том случае, если значения не заданы в сценарии.
  • Параметры service_account_email, service_account_file, service_account_file и access_token являются взаимоисключающими.

Примеры

- name: Create Endpoint
  google.cloud.gcp_vertexai_endpoint:
    name: "{{ resource_name }}"
    state: present
    display_name: "{{ resource_name }}"
    # network: "projects/{{ gcp_project_number }}/global/networks/{{ mynet }}"  # Network must be peered
    location: us-central1
    region: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
  register: _myep

- name: Print Endpoint
  ansible.builtin.debug:
    var: _myep

- name: Delete Endpoint
  google.cloud.gcp_vertexai_endpoint:
    name: "{{ resource_name }}"
    state: absent
    display_name: "{{ resource_name }}"
    # network: "projects/{{ gcp_project_number }}/global/networks/{{ mynet }}"
    location: us-central1
    region: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"

Возвращаемые значения

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

Ключ

Описание

changed

boolean

Был ли изменён ресурс.

Возвращается: всегда

createTime

string

Только для вывода.

Время создания этой конечной точки.

Возвращается: при успешном выполнении

dedicatedEndpointDns

string

Только для вывода.

DNS-имя выделенной конечной точки.

Заполняется только в том случае, если dedicatedEndpointEnabled имеет значение true.

Формат: `https://{endpointId}.{region}-{projectNumber}.prediction.vertexai.goog`.

Возвращается: при успешном выполнении

deployedModels

list / elements=dictionary

Только для вывода.

Модели, развёрнутые в этой конечной точке.

Чтобы добавить или удалить DeployedModels, используйте соответственно EndpointService.DeployModel и EndpointService.UndeployModel.

Модели также можно развернуть и удалить с помощью [Cloud Console](https://console.cloud.google.com/vertex-ai/).

Возвращается: при успешном выполнении

automaticResources

dictionary

Описание ресурсов, параметры которых в значительной степени определяет Vertex AI и для которых требуется лишь небольшая дополнительная настройка.

Возвращается: при успешном выполнении

maxReplicaCount

integer

Максимальное количество реплик, на которых может быть развёрнута эта DeployedModel при увеличении нагрузки.

Если запрошенное значение слишком велико, развёртывание завершится ошибкой. Если же оно будет выполнено успешно, возможность масштабирования модели до указанного количества реплик гарантируется (за исключением сбоев сервиса).

Если нагрузка на DeployedModel превысит возможности её максимального количества реплик, часть запросов будет отброшена.

Если это значение не указано, предполагается отсутствие верхнего ограничения на масштабирование при высокой нагрузке, однако Vertex AI может оказаться не в состоянии увеличить количество реплик выше определённого предела.

Возвращается: при успешном выполнении

minReplicaCount

integer

Минимальное количество реплик, на которых эта DeployedModel будет развёрнута постоянно.

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

Если запрошенное значение слишком велико, развёртывание завершится ошибкой.

Возвращается: при успешном выполнении

createTime

string

Только для вывода.

Время создания DeployedModel.

Возвращается: при успешном выполнении

dedicatedResources

dictionary

Описание ресурсов, выделенных для DeployedModel и требующих более тщательной настройки вручную.

Возвращается: при успешном выполнении

autoscalingMetricSpecs

list / elements=dictionary

Спецификации метрик, переопределяющие целевое значение метрики использования ресурсов (загрузка ЦП, коэффициент активности ускорителя и т. д.; по умолчанию — 60, если значение не задано).

Для каждой метрики допускается не более одной записи.

Если machine_spec.accelerator_count больше 0, автомасштабирование будет основываться как на загрузке ЦП, так и на коэффициенте активности ускорителя. Масштабирование вверх выполняется, когда целевого значения превышает любая из метрик, а масштабирование вниз — когда обе метрики ниже целевого значения.

Целевое значение по умолчанию для обеих метрик равно 60.

Если machine_spec.accelerator_count равно 0, автомасштабирование будет основываться только на метрике загрузки ЦП; её целевое значение по умолчанию равно 60, если явно не задано иное.

Например, для онлайн-прогнозирования, чтобы переопределить целевую загрузку ЦП и установить её равной 80, задайте autoscaling_metric_specs.metric_name равным `aiplatform.googleapis.com/prediction/online/cpu/utilization`, а autoscaling_metric_specs.target — равным `80`.

Возвращается: при успешном выполнении

metricName

string

Имя метрики ресурса.

Поддерживаемые метрики: * Для онлайн-прогнозирования: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization`.

Возвращается: при успешном выполнении

target

integer

Целевой уровень использования ресурса в процентах (1–100%) для указанной метрики; когда фактическое использование отклоняется от целевого на определённую величину, количество реплик машин изменяется.

Если значение не указано, по умолчанию используется 60 (то есть 60%).

Возвращается: при успешном выполнении

machineSpec

dictionary

Спецификация одной машины, используемой для прогнозирования.

Возвращается: при успешном выполнении

acceleratorCount

integer

Количество ускорителей, подключаемых к машине.

Возвращается: при успешном выполнении

acceleratorType

string

Тип ускорителя или ускорителей, которые можно подключить к машине в соответствии с параметром accelerator_count.

Список возможных значений см. [здесь](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/MachineSpec#AcceleratorType).

Возвращается: при успешном выполнении

machineType

string

Тип машины.

См. [список типов машин, поддерживаемых для прогнозирования](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) и [список типов машин, поддерживаемых для пользовательского обучения](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).

Для DeployedModel это поле необязательное; значение по умолчанию — `n1-standard-2`.

Для BatchPredictionJob или в составе WorkerPoolSpec это поле обязательно.

TODO: Попробовать лучше согласовать обязательность и необязательность поля.

Возвращается: при успешном выполнении

maxReplicaCount

integer

Максимальное количество реплик, на которых может быть развёрнута эта DeployedModel при увеличении нагрузки.

Если запрошенное значение слишком велико, развёртывание завершится ошибкой. Если же оно будет выполнено успешно, возможность масштабирования модели до указанного количества реплик гарантируется (за исключением сбоев сервиса).

Если нагрузка на DeployedModel превысит возможности её максимального количества реплик, часть запросов будет отброшена.

Если это значение не указано, по умолчанию используется min_replica_count.

Значение этого поля влияет на расход квот Vertex для ЦП и ГП.

В частности, с вас будет взиматься плата за max_replica_count * количество ядер в выбранном типе машины и за max_replica_count * количество ГП на реплику в выбранном типе машины.

Возвращается: при успешном выполнении

minReplicaCount

integer

Минимальное количество реплик машин, на которых эта DeployedModel будет развёрнута постоянно.

Это значение должно быть не меньше 1.

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

Возвращается: при успешном выполнении

displayName

string

Отображаемое имя DeployedModel.

Если при создании оно не указано, используется display_name модели.

Возвращается: при успешном выполнении

enableAccessLogging

boolean

Эти журналы похожи на стандартные журналы доступа сервера и содержат такие сведения, как временная метка и задержка для каждого запроса на прогнозирование.

Обратите внимание, что использование журналов Stackdriver может быть платным, особенно если проект получает много запросов на прогнозирование в секунду (QPS).

Перед включением этого параметра оцените возможные расходы.

Возвращается: при успешном выполнении

enableContainerLogging

boolean

Если значение равно true, контейнеры экземпляров DeployedModel будут отправлять потоки `stderr` и `stdout` в Stackdriver Logging.

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

Возвращается: при успешном выполнении

id

string

Идентификатор DeployedModel.

Если при развёртывании он не указан, Vertex AI сгенерирует значение идентификатора.

Длина значения должна составлять 1–10 символов; допустимы символы из диапазона /[0-9]/.

Возвращается: при успешном выполнении

model

string

Имя модели, экземпляром которой является это развёртывание.

Обратите внимание, что модель может находиться не в том же регионе, что и конечная точка DeployedModel.

Возвращается: при успешном выполнении

modelVersionId

string

Только для вывода.

Идентификатор версии развёрнутой модели.

Возвращается: при успешном выполнении

privateEndpoints

dictionary

Только для вывода.

Предоставляет пользователям пути для отправки запросов на прогнозирование, объяснение и проверку работоспособности непосредственно службам развёрнутой модели, работающим в Cloud через частный доступ к службам.

Это поле заполняется, если настроена сеть.

Возвращается: при успешном выполнении

explainHttpUri

string

Только для вывода.

Путь HTTP(S) для отправки запросов на объяснение.

Возвращается: при успешном выполнении

healthHttpUri

string

Только для вывода.

Путь HTTP(S) для отправки запросов проверки работоспособности.

Возвращается: при успешном выполнении

predictHttpUri

string

Только для вывода.

Путь HTTP(S) для отправки запросов на прогнозирование.

Возвращается: при успешном выполнении

serviceAttachment

string

Только для вывода.

Имя ресурса подключения службы.

Заполняется, если включён Private Service Connect.

Возвращается: при успешном выполнении

serviceAccount

string

Учётная запись службы, от имени которой работает контейнер DeployedModel.

Укажите адрес электронной почты учётной записи службы.

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

Пользователи, развёртывающие модель, должны иметь разрешение `iam.serviceAccounts.actAs` для этой учётной записи службы.

Возвращается: при успешном выполнении

sharedResources

string

Имя общего пула ресурсов развёртывания, в котором выполняется развёртывание.

Формат: projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}.

Возвращается: при успешном выполнении

etag

string

Используется для согласованного выполнения операций чтения, изменения и записи.

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

Возвращается: при успешном выполнении

modelDeploymentMonitoringJob

string

Только для вывода.

Имя ресурса задания Model Monitoring, связанного с этой конечной точкой, если мониторинг включён с помощью CreateModelDeploymentMonitoringJob.

Формат: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`.

Возвращается: при успешном выполнении

state

string

Текущее состояние ресурса.

Возвращается: всегда

updateTime

string

Только для вывода.

Время последнего обновления этой конечной точки.

Возвращается: при успешном выполнении

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_vertexai_endpoint_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API