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 הבא ל-AuthorizedRedirect URIs
יש להוסיף מתחת ל-URI כצילום המסך שבהמשך.
https://developers.google.com/oauthplayground
העתקת Client-ID וסוד לקוח
אפשר לקבל מזהה לקוח וסוד לקוח.
3. יצירת אסימון רענון
גישה ל-OAuth Playground
אתם יכולים להנפיק בקלות אסימון רענון זמני ב-OAuth Playground.
צריך לעבור להגדרות ולבדוק את האפשרות 'שימוש בפרטי הכניסה שלך ל-OAuth'. אחרי שצוברים מזהה לקוח ב-OAuth וסוד לקוח מהפרק הקודם, אפשר להזין אותם בתיבות הטקסט המתאימות.
הוספת ההיקף
ניתן להוסיף את ההיקף https://www.googleapis.com/auth/adwords לאזור שלמטה.
לוחצים על Authorize APIs (אישור ממשקי API). לאחר מכן יוצג המסך הבא.
יצירת אסימון רענון
לוחצים על 'החלפת קוד הרשאה לאסימונים'. אסימון הרענון יופיע.
4. הכנת Colab להרצת הקוד
Colab הוא ה-notebook השימושי לקוד שמגיע עם Python. אפשרות ברירת המחדל מספקת נפח מחשוב גדול למדי. אפשר גם להשתמש בכל פלטפורמה כדי לשלוח קריאה ל-API ל-REST של 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]
לאחר האישור, תהיה לך אפשרות לקרוא ל-Google Cloud APIs.
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. אפשר להגיש בקשה לאסימון dev בסיסי או רגיל, אבל למטרת הבדיקה, אסימון הבדיקה זמין גם. עוברים לחשבון הניהול (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 Frontend. הנה צילום מסך לדוגמה.
9. מזל טוב
מעולה! יצרתם בהצלחה נכסי תמונות יפהפיים מהתמונה הקיימת.
למדתם
- איך ליצור נכסי תמונות באמצעות AI גנרטיבי (Vertex AI)
- איך מעלים תמונות ל-Google Ads ומשתמשים בהן כנכסי תמונות