1. Giới thiệu
Sản phẩm bạn sẽ tạo ra
Trong lớp học lập trình này, bạn sẽ tìm hiểu cách tạo hình ảnh bằng Vertex AI và gửi hình ảnh đó đến Google Ads để có thể sử dụng các thành phần này làm thành phần hình ảnh trong chiến dịch.
Kiến thức bạn sẽ học được
- Cách tạo hình ảnh bằng GCP, Vertex AI
- Cách tải hình ảnh lên Google Ads
- Cách sử dụng đối tượng này trong Google Ads
Bạn cần có
- Tài khoản Google Ads
- Tài khoản GCP
2. Lấy thông tin đăng nhập Google Ads
Đây là phần cần thiết để tải thành phần hình ảnh từ Google Ads. Để truy cập vào Google Ads từ Colab, bạn cần có thông tin đăng nhập phù hợp.
Tạo thông tin xác thực -> Tạo "Mã ứng dụng OAuth" -> Ứng dụng web
Để có thông tin đăng nhập phù hợp để kết nối với Google Ads, bạn cần truy cập vào Thông tin đăng nhập Cloud.
Nếu bạn chưa thiết lập màn hình đồng ý, trước tiên, hãy thiết lập màn hình đồng ý.
- Loại người dùng: Bên ngoài
- Trạng thái xuất bản: Đang phát hành công khai
Thêm URI sau vào "URI chuyển hướng được phép"
Đặt URI bên dưới như ảnh chụp màn hình bên dưới.
https://developers.google.com/oauthplayground
Sao chép mã ứng dụng khách và mật khẩu ứng dụng khách
Bạn có thể lấy mã ứng dụng khách và mật khẩu ứng dụng khách.
3. Tạo mã làm mới
Truy cập vào OAuth Playground
Bạn có thể dễ dàng đưa ra mã làm mới tạm thời tại OAuth Playground.
Chuyển đến phần cài đặt rồi kiểm tra mục "Sử dụng thông tin đăng nhập OAuth của riêng bạn". Sau khi nhận được mã ứng dụng khách OAuth và mật khẩu ứng dụng khách từ chương trước, bạn có thể đặt chúng vào các hộp văn bản tương ứng.
Thêm phạm vi
Bạn có thể thêm phạm vi https://www.googleapis.com/auth/adwords vào khu vực bên dưới.
Nhấp vào uỷ quyền API và bạn sẽ thấy màn hình tiếp theo.
Tạo mã làm mới
Nhấp vào "Mã ủy quyền trao đổi cho mã thông báo" và bạn sẽ thấy mã làm mới.
4. Chuẩn bị Colab để thực thi mã
Colab là một sổ tay viết mã tiện dụng đi kèm với Python. Tuỳ chọn mặc định cung cấp sức mạnh tính toán khá phong phú. Bạn cũng có thể sử dụng bất kỳ nền tảng nào để gọi API REST của Vertex AI của Google Cloud.
Vui lòng truy cập vào https://colab.research.google.com/ để sử dụng công cụ này.
Chuyển đến [Tệp → Ghi chú mới] rồi bắt đầu viết mã mới.
Nếu nhấp vào Sổ tay mới, bạn sẽ thấy trang tính mới sẵn sàng cho bạn.
5. Tạo hình ảnh thông qua Vertex AI của Google Cloud
Nhập thư viện
!pip install requests google-ads
Trước tiên, hãy Cài đặt thư viện cho Google Ads và các yêu cầu API. Bạn cần khởi động lại thời gian chạy sau khi cài đặt thư viện.
Bạn cũng có thể tải các thư viện thiết yếu.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Nhận phần xác thực
Bạn sẽ được yêu cầu cấp quyền cho Tài khoản Google của mình.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
Sau khi tự cấp phép, bạn đã sẵn sàng gọi Google Cloud API.
6. Tạo hình ảnh từ Vertex AI
Chuẩn bị câu lệnh và yêu cầu POST
Trước tiên, bạn cần có mã dự án trên Google Cloud. Bạn có thể lấy địa chỉ đó từ Google Cloud. Bạn cần một câu lệnh dạng văn bản cũng như có thể đặt số lượng hình ảnh mình cần. Để biết thêm các lựa chọn, vui lòng tham khảo tài liệu chính thức.
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.
Bạn có thể viết bất cứ nội dung gì vào lời nhắc bằng văn bản. Ở đây, chúng ta muốn tạo các hình ảnh có mèo và máy tính kết hợp với nhau trong một bức ảnh duy nhất.
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
}
}
Yêu cầu tạo hình ảnh
Khi đã sẵn sàng tạo tệp json, bạn có thể yêu cầu tạo hình ảnh. Bên dưới là yêu cầu http thông thường.
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)
Nếu bạn đợi vài giây, bạn sẽ nhận được kết quả. Rất đơn giản!
7. Kết nối với Google Ads
Kết nối với tài khoản Google Ads
Bạn cần có mã của nhà phát triển từ Google Ads. Bạn có thể đăng ký mã thông báo dev cơ bản hoặc tiêu chuẩn, nhưng mã thông báo thử nghiệm cũng được cung cấp cho mục đích thử nghiệm. Chuyển đến tài khoản MCC của bạn. Trong thẻ công cụ và cài đặt, bạn sẽ thấy Trung tâm API. Trong phần API, bạn sẽ thấy mã thông báo của mình ở đó.
Mã ứng dụng khách, mật khẩu ứng dụng khách và mã làm mới phải sẵn sàng ở chương trước.
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
}
Sau khi thiết lập thông tin đăng nhập, bạn có thể tải API GoogleAdsService. Mã khách hàng thường ở định dạng xxx-xxxx-xxx, nhưng bạn nên xoá '-'.
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
Truy vấn Tài khoản Google Ads
Giờ đây, bạn có thể thử nghiệm bằng googleads_service. Hãy truy vấn những loại thành phần mà chúng ta có trong tài khoản Google Ads.
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)
Bạn sẽ thấy danh sách các thành phần trong tài khoản Google Ads ở định dạng json. Nếu bạn thấy thông tin như
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Tải thành phần hình ảnh lên Google Ads
Tải
Ở bước cuối cùng, chúng ta sẽ tải các thành phần đã tạo lên 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])
Sau vài giây, bạn sẽ có thể kiểm tra thành phần đã tải lên thông qua Giao diện người dùng Google Ads. Dưới đây là ảnh chụp màn hình mẫu.
9. Xin chúc mừng
Xin chúc mừng! Bạn đã tạo thành công thành phần hình ảnh đẹp mắt từ hình ảnh hiện tại!
Bạn đã tìm hiểu về
- Cách tạo thành phần hình ảnh thông qua AI tạo sinh (Vertex AI)
- Cách tải hình ảnh lên Google Ads và sử dụng hình ảnh đó làm thành phần hình ảnh