1. บทนำ
สิ่งที่คุณจะสร้าง
ใน Codelab นี้ คุณจะได้ดูวิธีสร้างรูปภาพโดยใช้ Vertex AI และส่งไปยัง Google Ads เพื่อให้ใช้ชิ้นงานนั้นเป็นชิ้นงานรูปภาพในแคมเปญได้
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างรูปภาพจาก GCP และ Vertex AI
- วิธีอัปโหลดรูปภาพไปยัง Google Ads
- วิธีใช้งานใน Google Ads
สิ่งที่คุณต้องมี
- บัญชี Google Ads
- บัญชี GCP
2. รับข้อมูลเข้าสู่ระบบ Google Ads
ต้องมีส่วนนี้เพื่อรับชิ้นงานรูปภาพจาก Google Ads หากต้องการเข้าถึง Google Ads จาก Colab คุณต้องมีข้อมูลเข้าสู่ระบบที่เหมาะสม
สร้างข้อมูลเข้าสู่ระบบ -> สร้าง "รหัสไคลเอ็นต์ OAuth" -> เว็บแอปพลิเคชัน
หากต้องการข้อมูลเข้าสู่ระบบที่เหมาะสมเพื่อเชื่อมต่อ Google Ads คุณต้องเข้าถึงข้อมูลเข้าสู่ระบบ Cloud
หากยังไม่ได้กำหนดค่าหน้าจอคำยินยอม ให้ตั้งค่าหน้าจอคำยินยอมก่อน
- ประเภทผู้ใช้: ภายนอก
- สถานะการเผยแพร่: ใช้งานจริง
เพิ่ม URI ต่อไปนี้ลงใน "URL การเปลี่ยนเส้นทางที่ได้รับอนุญาต"
ใส่ URI ด้านล่างเป็นภาพหน้าจอด้านล่าง
https://developers.google.com/oauthplayground
คัดลอกรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
โดยคุณจะรับรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ได้
3. สร้างโทเค็นการรีเฟรช
สิทธิ์เข้าถึง OAuth Playground
คุณออกโทเค็นการรีเฟรชชั่วคราวได้ง่ายๆ ที่ OAuth Playground
ไปที่การตั้งค่าแล้วตรวจสอบที่ "ใช้ข้อมูลเข้าสู่ระบบ OAuth ของคุณเอง" หลังจากได้รับรหัสไคลเอ็นต์ OAuth และรหัสลับไคลเอ็นต์จากบทก่อนหน้าแล้ว คุณสามารถใส่ลงในกล่องข้อความที่เกี่ยวข้องได้
เพิ่มขอบเขต
คุณสามารถเพิ่มขอบเขต https://www.googleapis.com/auth/adwords ลงในพื้นที่ด้านล่าง
คลิก "ให้สิทธิ์ API" และคุณจะเห็นหน้าจอถัดไป
สร้างโทเค็นการรีเฟรช
คลิก "รหัสการให้สิทธิ์ Exchange สำหรับโทเค็น" แล้วคุณจะเห็นโทเค็นการรีเฟรช
4. เตรียม Colab ให้ดำเนินการกับโค้ด
Colab เป็นสมุดบันทึกโค้ดที่มีประโยชน์ซึ่งมาพร้อมกับ Python ตัวเลือกเริ่มต้นจะให้ประสิทธิภาพในการประมวลผลที่มากพอสมควร คุณสามารถใช้แพลตฟอร์มใดก็ได้เพื่อเรียกใช้ REST API ของ Vertex AI ของ Google Cloud
โปรดไปที่ https://colab.research.google.com/ เพื่อใช้งาน
ไปที่ [ไฟล์ → โน้ตใหม่] แล้วเริ่มเขียนโค้ดใหม่
หากคลิกสมุดบันทึกใหม่ คุณจะเห็นชีตใหม่พร้อมให้ใช้งาน
5. สร้างรูปภาพผ่าน Vertex AI ของ Google Cloud
นำเข้าไลบรารี
!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]
หลังจากให้สิทธิ์ตนเองแล้ว คุณก็พร้อมที่จะเรียกใช้ Google Cloud API
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 Ads
เชื่อมต่อกับบัญชี Google Ads
คุณต้องมีโทเค็นของนักพัฒนาจาก 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
}
หลังจากตั้งค่าข้อมูลเข้าสู่ระบบแล้ว คุณสามารถโหลด GoogleAdsService API ได้ รหัสลูกค้ามักจะอยู่ในรูปแบบ xxx-xxxx-xxx แต่คุณควรนำ "-" ออก
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
การค้นหาบัญชี Google Ads
ตอนนี้คุณทดสอบกับ googleads_service ได้แล้ว มาดูกันว่าเรามีชิ้นงานประเภทใดในบัญชี 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)
คุณจะเห็นรายการชิ้นงานในบัญชี Google Ads ในรูปแบบ JSON หากคุณเห็นบางอย่าง เช่น
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. อัปโหลดชิ้นงานรูปภาพไปยัง Google Ads
อัปโหลด
ในขั้นตอนสุดท้าย เราจะอัปโหลดชิ้นงานที่สร้างขึ้นไปยัง 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])
หลังจากผ่านไป 2-3 วินาที คุณจะสามารถตรวจสอบชิ้นงานที่อัปโหลดผ่านฟรอนท์เอนด์ของ Google Ads ได้ ภาพหน้าจอตัวอย่างมีดังนี้
9. ขอแสดงความยินดี
ยินดีด้วย คุณสร้างชิ้นงานรูปภาพที่สวยงามจากรูปภาพที่มีอยู่เรียบร้อยแล้ว
คุณได้เรียนรู้
- วิธีสร้างชิ้นงานรูปภาพผ่าน Generative AI (Vertex AI)
- วิธีอัปโหลดรูปภาพไปยัง Google Ads และใช้เป็นชิ้นงานรูปภาพ