פיתוח סוכני AI באמצעות Vertex AI Agent Builder

מידע על Codelab זה
schedule45 דקות
subjectהעדכון האחרון: 7 במרץ 2025
account_circleנכתב על ידי Thu Ya Kyaw (Googler), Abhishek Sharma (GDE)

בשיעור ה-Codelab הזה ללימוד עצמי תלמדו איך ליצור סוכני AI באמצעות הכלי לפיתוח סוכנים מבוססי-Vertex AI של Google Cloud. בכל שלב נסביר את המטרה של תכונה ספציפית ב-Agent Builder.

מה תלמדו

  • איך יוצרים סוכן AI פשוט באמצעות Vertex AI Agent Builder
  • איך לצרף מאגר נתונים כדי לאפס את הסוכנות שנוצרה
  • איך לשלב את AI Agent באתר(אופציונלי)

מה צריך להכין

  • מוח סקרן
  • מחשב שפועל ורשת Wi-Fi אמינה
  • פרויקט ב-Google Cloud עם חיוב מצורף.

הערה: אם עדיין אין לכם פרויקט ב-Google Cloud, תוכלו ליצור פרויקט לפי ההוראות. אפשר גם לעיין בשירותים בתוכנית ללא תשלום של Google Cloud.

2. עיצוב הסוכן הראשון מבוסס-ה-AI

עכשיו אתם מוכנים ליצור סוכן AI משלכם. אבל לפני שמתחילים בפיתוח, חשוב ליצור חזון ברור לנציג. כדאי לשאול את עצמכם את השאלות הבאות:

  • איזו בעיה הפתרון יפתור? האם הוא יעזור לכם לבצע משימות באופן אוטומטי, לספק מידע, להציע בידור או לעודד חקירה יצירתית?
  • מהן הפונקציות העיקריות שלה? האם הוא יבצע משימות או יעביר אותן לגורם אחר? האם המערכת תיצור טקסט או שילוב של מדיה שונים?
  • מהן המגבלות שלה? האם היא תוכל לעשות הכול באופן אוטונומי?
  • איזו אישיות או דמות צריכה להיות לו? האם הוא יהיה רשמי, לא רשמי, מצחיק, מועיל או אינפורמטיבי?
  • מהם מדדי ההצלחה? איך תמדדו את היעילות של הסוכן?

כדי לזרז את התהליך, ריכזנו כאן את התשובות לשאלות האלה לגבי סוכנות הנסיעות שתיצרו היום:

  • איזו בעיה הפתרון יפתור?
  • תכנון נסיעה יכול להיות זמן רב ומבלבל. סוכנות הנסיעות הזו תעזור למשתמשים לגלות יעדים, לתכנן מסלולי נסיעה, להזמין טיסות ומקומות לינה.
  • מהן הפונקציות העיקריות שלה?
  • הנציג צריך להיות מסוגל
  • לענות על שאלות לגבי יעדים, כמו דרישות הוויזה
  • לתכנן מסלולי נסיעה שמתאימים ללוחות הזמנים וליעדים של המשתמשים
  • הזמנת טיסות ומקומות אירוח
  • מהן המגבלות שלה?
  • יכול להיות שהסוכן לא יוכל לענות על שאילתות מורכבות כברירת מחדל
  • הסוכן לא יוכל ליצור תמונות חזותיות
  • הידע של הנציג יהיה מוגבל על ידי המודל הבסיסי
  • איזו אישיות או דמות צריכה להיות לו?
  • הנציג הזה צריך להיות בעל ידע, מועיל ומלא התלהבות מנסיעות. הוא צריך לאפשר העברת מידע בצורה ברורה ותמציתית.
  • מהם מדדי ההצלחה?
  • אפשר למדוד את ההצלחה של הסוכן הזה לפי מידת שביעות הרצון של המשתמשים מההמלצות שלו (סיור, תכנון, הזמנת מקום)

3. פיתוח סוכן AI באמצעות Vertex AI Agent Builder

בעזרת Vertex AI Agent Builder אפשר ליצור סוכני AI בכמה שלבים פשוטים.

שלב 1:

  • אפשר להיכנס אל Vertex AI Agent Builder.
  • אמור להופיע דף הפתיחה. 833886ce0d2645ba.png
  • לוחצים על הלחצן המשך והפעלת ה-API.

שלב 2:

  • המערכת תפנה אתכם לדף 'יצירת אפליקציה'. f2d45cc76d62edeb.png
  • לוחצים על הלחצן CREATE A NEW APP (יצירת אפליקציה חדשה).

שלב 3:

  • בוחרים באפשרות נציג תמיכה שיוצר אינטראקציה ולוחצים על יצירה.

732d2cd9e10c9a79.png

הערה:

  1. אחרי שלוחצים על יצירה, נפתחת כרטיסייה חדשה של סוכנים שיחה של Dialogflow.
  2. אם תופיע בקשה לבחור פרויקט ב-Google Cloud, עליך לבחור את הפרויקט ב-Google Cloud שמשויך לחשבון הנכון ב-Gmail.
  3. אם אתם מבצעים את הסדנה הזו בחשבון חדש, תתבקשו להפעיל את Dialogflow API. לוחצים על Enable API כדי להפעיל אותו.

238281df06301db0.png

  • אם לחיצה על הלחצן לא פועלת, אפשר להפעיל אותו באופן ידני על ידי מעבר ישירות אל דף ה-API .
  • בדף Dialogflow שנפתח, לוחצים על Create Agent (יצירת סוכן).

42515e46bc63506d.png

  • יוצגו לכם כמה אפשרויות ליצירת סוכן. בוחרים באפשרות יצירת סוכן משלכם.

8af6bf0853f20768.png

שלב 4:

  • בוחרים שם לתצוגה (למשל, 'חברים בנסיעות')
  • בקטע Location (מיקום), בוחרים באפשרות global (Global serving, data-at-rest in US) כRegion (אזור).
  • שמירה של הגדרות אחרות, ברירת מחדל
  • לוחצים על הלחצן CREATE.

4e0dea29e5d8acde.png

שלב 5:

  • בוחרים שם לפלייבוק (למשל Info Agent)
  • מוסיפים יעד (למשל, עזרה ללקוחות לענות על שאילתות שקשורות לנסיעות)
  • מגדירים הוראה (למשל: 'שלום', ואז 'איך אוכל לעזור לך?')
  • לוחצים על שמירה כשהכול מוכן.

f8bfd605ddd97cf8.png

שלב 6:

  • לוחצים על הסמל החלפת מצב הסימולטור 72588cbe8734f54e.png.
  • בוחרים את הסוכן שיצרתם (למשל סוכן מידע)
  • בוחרים את מודל ה-AI הגנרטיבי הבסיסי של הסוכן (למשל, gemini-1.5-flash)
  • בודקים את הנציג באמצעות שיחה איתו (כלומר, מקלידים משהו בתיבת הטקסט 'הזנת קלט משתמש')

3ac3cf54a1e2098.png

מעולה! סיימתם ליצור סוכן AI באמצעות Vertex AI Agent Builder.

4. צירוף מאגרי נתונים ל-Agent

אפשר לנסות לשאול את הנציג איך מגיעים לוונקאנדה (למשל, "מהי הדרך הטובה ביותר להגיע לוונקאנדה?"). תקבלו תשובה כמו זו:

5baa2dbabe2941a2.png

זה נכון מבחינה עובדתית, אבל במקום פשוט לומר "אין לי אפשרות לספק מידע" ולסיים את השיחה, יהיה שימושי יותר למשתמש אם הנציג יציע מקומות דומים. הגישה הזו עשויה לגרום למשתמשים להזמין נסיעה בפועל דרך הסוכנות.

כדי שהסוכן יוכל להמליץ על מקומות דומים, אתם יכולים לספק לו מידע נוסף באמצעות מאגרי נתונים. הוא משמש כבסיס ידע נוסף שאליו הנציג יכול להפנות אם הוא לא יכול לענות על שאלות של משתמשים על סמך הידע המובנה שלו.

הערה: כדי לסגור את הסימולטור, לוחצים שוב על סמל המתג של הסימולטור.

יצירת מאגר נתונים היא פשוטה. לוחצים על הלחצן + מאגר נתונים בתחתית הדף Agent Basics.

6c3ef19fefc46af7.png

ממלאים את הפרטים הבאים:

  • שם הכלי: מיקום חלופי
  • סוג: מאגר נתונים
  • תיאור: משתמשים בכלי הזה אם הבקשה של המשתמש מכילה מיקום שלא קיים

בסיום, לוחצים על שמירה.

הפעולה הזו יוצרת כלי של מאגר נתונים כדי שהסוכן יוכל לתקשר עם מאגר הנתונים, אבל עדיין צריך ליצור מאגר נתונים בפועל שמכיל את המידע. כדי לעשות זאת, לוחצים על הוספת מאגרי נתונים וליצור מאגר נתונים.

65c790a87de8fba8.png

7648d478a6f35cf0.png

אחרי שלוחצים על Create new data store, המערכת מפנה לדף ה-builder של הסוכן של Vertex AI, כפי שמוצג בהמשך.

בחירה באפשרות של Cloud Storage

bff5455fac531509.png

בסיום השלב,

  • לוחצים על קובץ (הפעולה הזו חשובה מאוד, אחרת הייבוא נכשל)
  • מקלידים ai-workshops/agents/data/wakanda.txt
  • לוחצים על המשך.

d1983baa579eb78c.png

לידיעתך, זהו התוכן של קובץ הטקסט שסיפקת:

Places that are similar to Wakanda

- Oribi Gorge in South Africa: The rock formations here are reminiscent of the Warrior Falls in Wakanda.

- Iguazu Falls: Located on the border of Argentina and Brazil, these massive waterfalls were a major inspiration for the Warrior Falls.

- Immerse yourself in Wakandan culture: Read the Black Panther comics, watch the movies, and explore online resources to learn more about Wakandan culture, language, and technology.

- Visit a Disney theme park: While there isn't a dedicated Wakanda land yet, you might be able to meet Black Panther at Disneyland or on a Marvel Day at Sea Disney cruise.

בדף הבא, נותנים שם למאגר הנתונים (למשל Wakanda Alternative) ולוחצים על CREATE.

93eb71e8d019ae24.png

בשלב האחרון, בוחרים את מקור הנתונים שיצרתם ולוחצים על יצירה. אפשר לראות את ההתקדמות של ייבוא מאגר הנתונים בלחיצה על מאגר הנתונים**.**

de1ac9256cc96f29.png

הערה: פעילות הייבוא תימשך זמן מה עד שהיא תושלם. בינתיים, בזמן שהפעילות הזו מתבצעת, תוכלו לבדוק אפשרויות נוספות של מאגרי נתונים שזמינים לסוכני Vertex AI כאן.

9b5c4a2831728a6b.png

אם הכל התנהל בצורה חלקה, חוזרים אל הכרטיסייה של Dialogflow ולוחצים על רענון. מאגר הנתונים שנוצר אמור להופיע בדף מאגרי נתונים זמינים.

a44373b78bd95ff0.png

כדי למנוע מה-Agent לדמיין דברים, צריך להגדיר את ההגדרה Very Low (רמה נמוכה מאוד) בהגדרות הארקה של מאגר הנתונים. ההגדרה הזו מחילה הגבלות מחמירות יותר על ה-Agent כדי למנוע ממנו להמציא דברים. בשלב הזה, כדאי להשאיר את ההגדרה שמוגדרת כברירת מחדל, אבל אפשר לבדוק אותה עם הגדרות שונות בכל שלב.

c1605bd076258050.png

עכשיו בוחרים את מאגר הנתונים שנוסף, לוחצים על אישור ואז על שמירה.

40082aebe8b82d7c.png

עכשיו חוזרים לדף Agent Basics. בתחתית הגדרת ספר הפעולות, מאגר הנתונים החדש שיצרתם(למשל, Alternative Location) יהיה זמין לשימוש. מסמנים את מאגר הנתונים (למשל, Alternative Location) ולוחצים על לחצן השמירה בחלק העליון של הדף.

1b6b82fd7f30a598.png

e09af18697b0fd7f.png

כמעט סיימת! השלב האחרון הוא לכלול את הכלי מיקום חלופי בהוראות של הנציג. מוסיפים את השורה - Use ${TOOL: Alternative Location} if the user's request contains a location that does not exist להוראות של הנציג, ואז לוחצים על save.

3134d9eadca34e21.png

הכול מוכן. נפתח שוב את הסימולטור של המתגים ונשאל את אותן השאלות (למשל, מהי הדרך הטובה ביותר להגיע לוואקנדה?).

6cdee598391fc82a.png

מעולה! עכשיו הסוכן שלך ממליץ על מקומות על סמך המידע שסיפקתם מקובץ טקסט.

זהו, סיימנו ליצור את הסוכן העצמאי שלנו מבוסס-AI. אם אתם רוצים לקבל מידע נוסף על התאמה אישית של הסוכן לקבלת חוויה טובה יותר, תוכלו לעיין בפעילויות הנוספות שבהמשך.

5. פעילויות נוספות – הפעלת נציג ה-AI

בשלבים הקודמים פיתחתם סוכן AI והוספתם לו נתוני עזר רלוונטיים. בקטע הבא נענה על השאלה החשובה: איך להטמיע את הסוכן הזה באתר כדי לאפשר אינטראקציה בזמן אמת עם המבקרים.

יש הרבה דרכים לחשוף את הסוכן. אפשר לייצא אותו או לפרסם אותו ישירות. אפשר לעיין במסמכי העזרה כדי לקבל מידע על האפשרויות האפשריות.

בפינה הימנית העליונה של הכרטיסייה Dialogflow, לוחצים על Overflow menu (תפריט האפשרויות הנוספות) ואז על Publish agent (פרסום הסוכן).

a1b109fa9d7cb51d.png

משאירים את כל ההגדרות כברירת מחדל ולוחצים על Enable unauthenticated API.

הערה: הפעלת ה-API ללא אימות מיועדת למטרות הדגמה בלבד, ולא מומלץ להשתמש בהגדרה הזו בעומס העבודה בסביבת הייצור. אם אתם רוצים לפרסם בצורה מאובטחת, כדאי לעיין במסמכי התיעוד האלה.

ef0f24db780a185e.png

אחרי הלחיצה, אמור להופיע קטע קוד CSS קטן:

c40d12f6207bf5b4.png

פשוט מעתיקים את קטע הקוד. בהמשך תצטרכו לשלב את קטע הקוד הזה באתר.

כדי ליצור אתר, תשתמשו בסביבה של Cloud Editor. כך פותחים את Cloud Editor:

  1. פותחים את מסוף Google Cloud בכרטיסייה אחרת.
  2. לוחצים על הלחצן Cloud Shell להפעלה בפינה הימנית העליונה.
  3. לוחצים על הלחצן פתיחת העורך.

אם מופיעה בקשה לאשר את Cloud Shell, לוחצים על Authorize כדי להמשיך.

d23192eca480f00c.png

בקטע הבא נעזרים ב-Gemini Code Assist כדי ליצור אפליקציית אינטרנט לדוגמה ב-Python flask, שתשמש לשילוב עם קטע הקוד של ה-Agent.

אחרי שפותחים את Cloud Shell Editor, לוחצים על Gemini Code Assist ונכנסים לפרויקט ב-Google Cloud. אם מופיעה בקשה להפעיל את ה-API, לוחצים על Enable.

93112cce3e8d963b.png

בסיום, נבקש מ-Gemini Code Assist ליצור אפליקציית flask ולשלב בה את קטע הקוד של סוכן ה-AI.

זוהי ההנחיה לדוגמה, אפשר להשתמש

Here is my Travel buddy Vertex AI agent builder agent publish code snippet,

<REPLACE IT WITH YOUR AI AGENT PUBLISH CODE SNIPPET>

can you create a sample flask app to use it

הערה: כאן ביקשנו אפליקציית Python Flask. אם אתם מעדיפים שפת תכנות או framework אחרים, אתם יכולים להשתמש בהם. ל-Gemini Code Assist יש יכולת ליצור שפות תכנות שונות. פרטים נוספים זמינים במאמר שפות, סביבות פיתוח משולבות וממשקים נתמכים.

תוכלו לראות שקטע הקוד שסיפקתם כבר משולב עם סוכן ה-AI. כדי לבדוק אם הקוד שסופק תקין ופועל כמצופה, אפשר לפעול לפי ההוראות של Gemini Code Assist להרצת קטע הקוד הזה בתשובת הפלט.

קטע קוד לדוגמה של תגובה בפלט –

from flask import Flask, render_template_string

app = Flask(__name__)

# HTML template string with the provided Dialogflow Messenger code

html_template = """

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Travel Buddy Chatbot</title>

<link rel="stylesheet" href="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/themes/df-messenger-default.css">

<script src="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/df-messenger.js"></script>

<style>

df-messenger {

z-index: 999;

position: fixed;

--df-messenger-font-color: #000;

--df-messenger-font-family: Google Sans;

--df-messenger-chat-background: #f3f6fc;

--df-messenger-message-user-background: #d3e3fd;

--df-messenger-message-bot-background: #fff;

bottom: 16px;

right: 16px;

}

body {

font-family: sans-serif;

margin: 20px;

}

</style>

</head>

<body>

<h1>Welcome to Travel Buddy!</h1>

<p>Start chatting with our AI Travel buddy, in the bottom right corner.</p>

<df-messenger

project-id="<SAMPLE>"

agent-id="<SAMPLE>"

language-code="en"

max-query-length="-1">

<df-messenger-chat-bubble

chat-title="Travel Buddy">

</df-messenger-chat-bubble>

</df-messenger>

</body>

</html>

"""

@app.route("/")

def index():

"""Renders the HTML template with the Dialogflow Messenger."""

return render_template_string(html_template)

if __name__ == "__main__":

app.run(debug=True)

3dd3246c5fceb1d4.png

בהתאם להוראות

  1. מעתיקים את קטע הקוד לדוגמה של אפליקציית flask,
  2. יוצרים קובץ חדש בשם app.py ושומרים אותו.

4e58cfcf95f65d38.png

בשלב הבא, תופיע בקשה להתקין את flask כדי להריץ את קטע הקוד הזה. בשלב הזה אין צורך בכך, כי כבר מותקנות ב-Cloud Shell כברירת מחדל כל כלי השירות הנפוצים.

b657b535710fd8f3.png

שומרים את הקובץ (Ctrl + S או Cmd + S) ואז לוחצים על Open Terminal (פתיחת מסוף), שבו מריצים את הקוד שסופק.

מריצים את הפקודה הבאה בטרמינל:

python app.py

הערה: חשוב לוודא שאתם נמצאים בתיקייה הנכונה שבה נמצא הקובץ app.py.

אפליקציית flask של Python תפעל ביציאה 5000. כדי לראות את התצוגה המקדימה של אפליקציית האינטרנט הזו, לוחצים על הסמל Web Preview (תצוגה מקדימה של האתר) ב-Cloud Shell. לאחר מכן, אפשר ללחוץ על Change Port, input 5000 (שינוי היציאה, הזנת 5000) ואז על Change and Preview (שינוי ותצוגה מקדימה) כדי לשמור את השינויים.

59ed7b08133b82bf.png

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

35a4b5abdd299efe.png

מומלץ לבדוק את התכונה עם הנחיות שונות. אפשר גם לבקש מ-Gemini Code Assist לשפר את המראה של האתר, או להוסיף עוד נתונים בסיסיים לסוכנות ה-AI כדי לשפר את המשאבים שלה.

כשתהיו מוכנים, תוכלו לנסות לארח את סוכן ה-AI הזה ב-Google Cloud כדי שכל אחד יוכל לגשת אליו מכל מקום. רצינו להזכיר לך שבסיום הקודלאב הזה, תפרסו את אפליקציית flask לדוגמה ב-Cloud Run כקונטיינר.

הערה: האפשרות הזו לא מוגבלת רק ל-Cloud Run (גם אם אתם לא יודעים מה זה Cloud Run, אתם יכולים לשאול). אפשר לבקש מ-Gemini Code Assist לעזור לכם לפרוס את הקוד הזה ב-Google Cloud או בכל מקום אחר, עם שיטות מומלצות. הוא יכול לעזור לכם גם בחלק הזה.

חוזרים אל Cloud Shell Terminal ומקישים על Ctrl + C כדי לסגור את התהליך. לוחצים שוב על Open Editor ומבקשים מ-Gemini Code Assist לעזור לנו ביצירת קונטיינר לאפליקציה ובפריסה שלה ב-cloud run.

Can you help me deploy this sample flask app to cloud run service

יש בו כמה הוראות והוראות לביצוע כדי לארח את האפליקציה שלנו בשירות Cloud Run. פועלים לפי ההוראות.

זוהי דוגמה לתשובה בפלט

שלבים לפריסה ב-Cloud Run

  1. דרישות מוקדמות:
  • חשבון Google Cloud: נדרש חשבון Google Cloud שבו החיוב מופעל.
  • CLI של gcloud: מתקינים ומפעילים את Google Cloud SDK (CLI של gcloud) במחשב המקומי. בעזרת ה-CLI תוכלו לבצע פעולות ב-Google Cloud מהטרמינל.
  • Docker: מתקינים את Docker במחשב המקומי. ב-Cloud Run נעשה שימוש ב-Docker כדי לארוז את האפליקציה בקונטיינר.
  • הגדרת הפרויקט: מוודאים שבחרתם פרויקט ב-Google Cloud ב-CLI של gcloud. אפשר לבדוק את זה באמצעות gcloud config list project ולהגדיר אותו באמצעות gcloud config set project YOUR_PROJECT_ID

הערה: מכיוון שאנחנו מבצעים את כל הפעילות הזו ב-Cloud Shell, אין צורך להגדיר פרויקטים.

  1. יצירה **requirements.txt****:**
  • בקובץ הזה מפורטות כל חבילות Python שנדרשות לאפליקציה. בתיקיית הפרויקט (שבה נמצא main.py), יוצרים קובץ בשם requirements.txt ומוסיפים את השורה הבאה:
  1. יצירה **Dockerfile****:**
  • קובץ Dockerfile מגדיר איך ליצור קובץ אימג' של Docker לאפליקציה. יוצרים קובץ בשם Dockerfile (ללא סיומת) בספריית הפרויקט ומוסיפים את התוכן הבא:

# Use an official Python runtime as a parent imageFROM python:3.9-slim-buster

# Set the working directory to /appWORKDIR /app

# Copy the current directory contents into the container at /app

COPY . /app

# Install any needed packages specified in requirements.txt

RUN pip install --no-cache-dir -r requirements.txt

# Make port 5000 available to the world outside this container

EXPOSE 5000

# Define environment variable

ENV NAME World

# Run app.py when the container launches

CMD ["python", ".py"]

  1. יצירת קובץ האימג' של Docker:
  • פותחים את הטרמינל, עוברים לספריית הפרויקט ומריצים את הפקודה:

gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy

  1. פריסת הקוד ב-Cloud Run:
  • אחרי היצירה וההעלאה של קובץ האימג', פורסים אותו ב-Cloud Run באמצעות הפקודה הבאה:

gcloud run deploy travel-buddy --image gcr.io/bgr-workshop-23rd/travel-buddy --region us-central1

אחרי שתסיימו את השלבים האלה, האפליקציה עם נציג ה-AI המובנה תהיה זמינה למשתמשי הקצה.

כל הכבוד ושיהיה לך המשך לימוד מוצלח.

6. הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם בקודלאב הזה, עליכם לפעול לפי השלבים הבאים:

  1. נכנסים לדף Manage resources במסוף Google Cloud.
  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
  4. לחלופין, אפשר לעבור אל Cloud Run במסוף, לבחור את השירות שפרסמתם ולמחוק אותו.