Модуль 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 / обязательный | Тип используемых учётных данных. Варианты:
|
dedicated_endpoint_enabled boolean | Если значение равно true, конечная точка будет доступна через выделенный DNS [Endpoint.dedicated_endpoint_dns]. Запросы к выделенному DNS будут изолированы от трафика других пользователей и обеспечат более высокую производительность и надёжность. Примечание. После включения выделенной конечной точки отправлять запросы на общий DNS {region}-aiplatform.googleapis.com будет невозможно. Это ограничение скоро будет снято. Варианты:
|
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 |
Включено ли журналирование. Варианты:
|
|
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. Варианты:
|
|
enable_secure_private_service_connect boolean |
Если задано значение true, включается защищённое подключение Private Service Connect с авторизацией IAM. В противном случае подключение Private Service Connect будет осуществляться без авторизации. Обратите внимание: при включённой авторизации задержка немного увеличится. Варианты:
|
|
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. Варианты:
|
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. Варианты:
|
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` для этой учётной записи службы. Возвращается: при успешном выполнении |
|
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 | Только для вывода. Время последнего обновления этой конечной точки. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 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