1. מבוא
מה תפַתחו
ב-Codelab הזה תלמדו איך ליצור תמונות באמצעות Vertex AI ולשלוח אותן ל-Google Ads כדי שאפשר יהיה להשתמש בנכסים האלה כנכסי תמונות בקמפיינים.
מה תלמדו
- איך יוצרים תמונות מ-GCP ומ-Vertex AI
- איך מעלים תמונות ל-Google Ads
- איך משתמשים בזה ב-Google Ads
מה תצטרכו
- חשבון Google Ads
- חשבון GCP
2. קבלת פרטי כניסה ל-Google Ads
החלק הזה נדרש כדי לקבל נכסי תמונות מ-Google Ads. כדי לגשת ל-Google Ads מ-Colab, צריך להזין את פרטי הכניסה המתאימים.
Create credentials -> Create 'OAuth client ID' -> Web Application (יצירת פרטי כניסה -> יצירת 'מזהה לקוח OAuth' -> אפליקציית אינטרנט)
כדי לקבל את פרטי הכניסה המתאימים לקישור Google Ads, צריך לגשת אל פרטי הכניסה ל-Cloud.
אם לא הגדרתם מסך הסכמה, צריך להגדיר אותו קודם.
- סוג המשתמש: חיצוני
- סטטוס פרסום: בסביבת ייצור

מוסיפים את ה-URI הבא אל 'כתובות URI מורשות להפניה אוטומטית'
מזינים את ה-URI שמופיע בצילום המסך שלמטה.
https://developers.google.com/oauthplayground

העתקת מזהה הלקוח וסוד הלקוח
אפשר לקבל מזהה לקוח וסוד לקוח.

3. יצירת טוקן רענון
גישה ל-OAuth Playground
אפשר להנפיק בקלות טוקן רענון זמני ב-OAuth Playground.
עוברים להגדרות ומסמנים את האפשרות 'שימוש בפרטי הכניסה שלכם ב-OAuth'. אחרי שמקבלים מזהה לקוח וסוד לקוח של לקוח OAuth מהפרק הקודם, אפשר להזין אותם בתיבות הטקסט המתאימות. 

הוספת ההיקף
אפשר להוסיף את ההיקף https://www.googleapis.com/auth/adwords לאזור שבהמשך.

לוחצים על Authorize APIs (אישור ממשקי API) ומוצג המסך הבא.
יצירת טוקן רענון
לוחצים על 'Exchange authorization code for tokens' (החלפת קוד הרשאה באסימונים) ואסימון הרענון יופיע.

4. הכנת Colab להרצת הקוד
Colab הוא מחברת קוד שימושית שמגיעה עם Python. אפשרות ברירת המחדל מספקת כמות נדיבה של כוח מחשוב. אפשר גם להשתמש בכל פלטפורמה כדי לקרוא ל-API בארכיטקטורת REST של Google Cloud Vertex AI.
כדי להשתמש ב-Colab, צריך להיכנס לכתובת 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]
אחרי שתאשרו את עצמכם, תוכלו להפעיל ממשקי Google Cloud API.
6. יצירת תמונה מ-Vertex AI
הכנת ההנחיה ובקשת POST
קודם כל, צריך לדעת מה מזהה הפרויקט בענן ב-Google Cloud. אפשר לקבל אותו מ-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])
אחרי כמה שניות, תוכלו לבדוק את הנכס שהועלה דרך ממשק הקצה של Google Ads. הנה צילום מסך לדוגמה.

9. מזל טוב
מזל טוב, יצרת בהצלחה נכסי תמונות יפים מהתמונה הקיימת!
מה למדתם
- איך יוצרים נכסי תמונות באמצעות AI גנרטיבי (Vertex AI)
- איך מעלים תמונות ל-Google Ads ומשתמשים בהן כנכסי תמונות