1. Введение
Что ты построишь
В этой лаборатории вы узнаете, как создавать изображения с помощью Vertex AI и отправлять их в Google Ads, чтобы их можно было использовать в качестве ресурсов изображений в кампаниях.
Что вы узнаете
- Как генерировать изображения из GCP, Vertex AI
- Как загрузить изображения в Google Ads
- Как использовать его в Google Рекламе
Что вам понадобится
- Аккаунт Google Рекламы
- Аккаунт GCP
2. Получите учетные данные Google Рекламы.
Эта часть необходима для получения графических ресурсов из Google Ads. Чтобы получить доступ к Google Рекламе из Colab, вам необходимы соответствующие учетные данные.
Создать учетные данные -> Создать «Идентификатор клиента OAuth» -> Веб-приложение.
Чтобы получить правильные учетные данные для подключения Google Рекламы, вам необходимо получить доступ к учетным данным Cloud .
Если вы не настроили экран согласия, сначала настройте экран согласия.
- Тип пользователя: Внешний
- Статус публикации: В производстве
Добавьте следующий URI в «Авторизованные URI перенаправления»
Поместите ниже URI, как показано на снимке экрана ниже.
https://developers.google.com/oauthplayground
Скопируйте идентификатор клиента и секрет клиента
Вы можете получить идентификатор клиента и секрет клиента.
3. Создать токен обновления
Доступ к игровой площадке OAuth
Вы можете легко выдать временный токен обновления на OAuth Playground .
Зайдите в настройки и установите флажок «Использовать свои собственные учетные данные OAuth». После того, как вы получили идентификатор клиента OAuth и секрет клиента из предыдущей главы, вы можете поместить их в соответствующие текстовые поля.
Добавить область действия
Вы можете добавить область https://www.googleapis.com/auth/adwords в область ниже.
Нажмите «Авторизовать API», и вы увидите следующий экран.
Создать токен обновления
Нажмите «Обменять код авторизации на токены», и вы увидите токен обновления.
4. Подготовьте Colab к выполнению кода.
Colab — это удобный блокнот для кода, входящий в состав Python. Опция по умолчанию обеспечивает довольно большую вычислительную мощность. Вы также можете использовать любую платформу для вызова REST API Google Cloud Vertex AI.
Чтобы использовать его, перейдите на https://colab.research.google.com/ .
Перейдите в [Файл → Новая заметка] и начните писать новые коды.
Если вы нажмете «Новый блокнот», вы увидите новый лист, готовый для вас.
5. Создайте изображение с помощью Google Cloud Vertex AI.
Импортировать библиотеки
!pip install requests google-ads
Сначала установите библиотеки для Google Ads и запросов API. После установки библиотек необходимо перезапустить среду выполнения.
Вы также можете загрузить необходимые библиотеки.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Получить аутентификацию
Вам будет предложено авторизовать свою учетную запись Google.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
После авторизации вы готовы вызывать API Google Cloud.
6. Создайте изображение из Vertex AI.
Подготовьте приглашение и POST-запрос.
Во-первых, у вас должен быть идентификатор облачного проекта Google. Вы можете получить его из Google Cloud. Вам понадобится текстовая подсказка, и вы также можете указать, сколько изображений вам нужно. Дополнительные параметры можно найти в официальной документации .
PROJECT_ID = 'abcdefg' # Your GCP project ID
TEXT_PROMPT = 'cat computer' # Your prompt goes here.
IMAGE_COUNT = 4 # You will get 4 images as a result.
Внутри текстового приглашения можно написать что угодно. Здесь мы хотим сгенерировать изображения, на которых кошка и компьютер объединены в одно изображение.
url = f"https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/imagegeneration:predict"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json; charset=utf-8"
}
data = {
"instances": [
{
"prompt": TEXT_PROMPT
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
Запросить создание изображения
Когда вы будете готовы к работе с json, вы можете запросить генерацию изображения. Ниже приведен типичный http-запрос.
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:
response_data = response.json()
for prediction in response_data.get('predictions', []):
image_data = base64.b64decode(prediction['bytesBase64Encoded'])
display(Image(data=image_data))
else:
print("Request failed:", response.status_code, response.text)
Если вы подождите несколько секунд, вы получите результат. Очень просто!
7. Подключитесь к Google Рекламе
Подключитесь к своему аккаунту Google Рекламы
Вам понадобится токен разработчика от Google Ads. Вы можете подать заявку на получение базового или стандартного токена разработки, но для целей тестирования также доступен тестовый токен. Перейдите в свою учетную запись MCC. На вкладке инструментов и настроек вы увидите API-центр. В разделе API вы найдете свой токен.
Идентификатор клиента, секрет клиента и токены обновления должны быть готовы в предыдущей главе.
credentials = {
"developer_token": "ABCDEFG",
"client_id": "123456789012-abcd1234.apps.googleusercontent.com",
"client_secret": "GOCSPX-abcd1234-abcd1234-abcd1234",
"refresh_token": "1//abcdefghijklmnopqrstuvwxyz",
"use_proto_plus": True
}
После установки учетных данных вы можете загрузить API GoogleAdsService. Идентификатор клиента обычно имеет формат xxx-xxxx-xxx, но вам следует удалить «-».
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
Запрос аккаунта Google Рекламы
Теперь вы можете протестировать с помощью googleads_service. Давайте спросим, какие активы у нас есть в рекламном аккаунте.
query = (
'''
SELECT
ad_group_ad.ad.id,
ad_group_ad.ad.app_ad.headlines,
ad_group_ad.ad.app_ad.descriptions,
ad_group_ad.ad.app_ad.images
FROM ad_group_ad
''')
response = googleads_service.search(customer_id=customer_id, query=query)
for googleads_row in response:
print(googleads_row)
Вы увидите список объектов в аккаунте Google Рекламы в формате json. Если вы видите что-то вроде
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Загрузите изображение в Google Рекламу.
Загрузить
На последнем этапе мы собираемся загрузить сгенерированные ресурсы в Google Ads.
for prediction in response_data.get('predictions', []):
image_base64 = prediction['bytesBase64Encoded']
image_bytes = base64.b64decode(image_base64)
asset_service = client.get_service('AssetService')
asset_operation = client.get_type('AssetOperation')
asset = asset_operation.create
asset.type_ = client.enums.AssetTypeEnum.IMAGE
asset.image_asset.data = image_bytes
asset.name = "cats"
asset_service.mutate_assets(customer_id=customer_id, operations=[asset_operation])
Через несколько секунд вы сможете проверить загруженный ресурс через интерфейс Google Ads. Вот пример скриншота.
9. Поздравления
Поздравляем, вы успешно создали красивые графические ресурсы из существующего изображения!
Вы узнали
- Как создавать графические ресурсы с помощью генеративного искусственного интеллекта (Vertex AI)
- Как загрузить изображения в Google Рекламу и использовать их в качестве графических ресурсов