בדף הזה מוסבר על דפוסי שילוב להטמעת חוויות של סוכני נתונים באפליקציות. הדפוסים האלה משתנים ברמת המורכבות שלהם, החל מרכיב צ'אט מוטמע ועד למערכת מרובת סוכנים (MAS).
המדריך הזה מיועד לאדריכתי ענן ולמהנדסי נתונים שמתכננים אפליקציות מבוססות-AI גנרטיבי. צריכה להיות לכם הבנה בסיסית של מושגים, של ניהול זהויות והרשאות גישה (IAM) ושל ממשקי REST API. Google Cloud כדאי גם להכיר את הארכיטקטורה של מקור הנתונים שבו האפליקציה משתמשת.
סקירה כללית של דפוסי שילוב
המדריך הזה מחולק למסלולים העיקריים הבאים, שכל אחד מהם מבוסס על נקודת ההתחלה שלכם:
- Looker track: בוחרים באפשרות הזו אם רוצים לספק פונקציונליות של צ'אט באמצעות הטמעה של Looker, Looker API או Conversational Analytics API.
- BigQuery ומסד נתונים: בוחרים באפשרות הזו אם יוצרים אפליקציה בהתאמה אישית שמשתמשת ב-BigQuery, ב-Data Studio או במסד נתונים תפעולי נתמך.
בטבלה הבאה מפורטים דפוסי השילוב הזמינים:
| תבנית שילוב | תיאור | מקור הנתונים |
|---|---|---|
| הטמעה של iframe ב-Looker | הוספת ממשק צ'אט רגיל לאפליקציה שנדרש בה קוד מינימלי. | Looker |
| Looker API וערכות SDK | תבנית ליצירת ממשק צ'אט בהתאמה אישית שמשתמש בממשק Looker API לאימות. | Looker |
| Conversational Analytics API (מקור Looker) | ניהול סוכני נתונים של Looker כ Google Cloud משאבים שפועלים בכמה פלטפורמות ובמערכות מרובות סוכנים. | Looker |
| Direct API (single-agent) | משתמשת בשילוב ישיר של API לזרימות של טקסט לתשובה. | BigQuery, מסדי נתונים, Looker |
| Direct API (orchestrator) | מנתב שאילתות בין ה-API לבין כלים אחרים באמצעות בקשות להפעלת פונקציות. | BigQuery, מסדי נתונים, Looker |
ADK (מבוסס סכימה) עם BigQueryToolset |
הפקת תובנות מהירות מהפניות בטבלה באמצעות הכלי ask_data_insights. |
BigQuery |
ADK (מנוהל) עם DataAgentToolset |
השאילתות מוגדרות מראש לסוכני נתונים שמשתמשים בכלי ask_data_agent כדי להבטיח התנהגות עקבית. |
BigQuery, מסדי נתונים, Looker |
| ADK (סטרימינג בהתאמה אישית) | תומך בסטרימינג בזמן אמת של תרשימים ו-SQL באמצעות מחלקה מותאמת אישית של סוכן. | BigQuery, מסדי נתונים, Looker |
MCP עם McpToolset או ToolboxToolset |
חיבור אפליקציות לכלים לנתונים שמשתמשים ב-Model Context Protocol (MCP). | BigQuery Looker |
| פרוטוקול A2A | מאפשר שיתוף פעולה מאובטח בין סוכנים מומחים שפועלים במערכות שונות. | תלות ב-Framework |
אפשרויות שילוב של Looker
אם אתם משתמשים ב-Looker, אתם יכולים לספק למשתמשים שלכם את ניתוח נתונים שימושי ב-Looker באמצעות הדפוסים הבאים:
- הטמעה באמצעות iframes: תבנית low-code שמוסיפה את ממשק הצ'אט הרגיל לאפליקציה קיימת.
- פיתוח באמצעות Looker API ו-SDK: גישה גמישה שמאפשרת לכם ליצור קצה קדמי בהתאמה אישית באמצעות אימות של Looker וניהול סוכנים.
- שימוש ב-Conversational Analytics API: שילוב ישיר עם ה-API שמאפשר שימוש בסוכני נתונים במספר Google Cloud פלטפורמות.
סיכום של דפוסי שילוב עם Looker
בטבלה הבאה מפורטים דפוסי השילוב העיקריים של Looker:
| דוגמת קוד | מתאים במיוחד ל | יתרונות | לתשומת ליבכם |
|---|---|---|---|
| הטמעה באמצעות iframes: שיטה עם תכנות מינימלי להוספה מהירה של חוויית הצ'אט הסטנדרטית של Looker לאפליקציה. | צוותים שזקוקים לחוויית ניתוח נתוני שיחות שמוכנה לייצור עם מינימום פיתוח בהתאמה אישית. |
|
|
| פיתוח באמצעות Looker API וערכות SDK: גישה גמישה לפיתוח ממשק צ'אט בהתאמה אישית, תוך שמירה על אימות וניהול נציגים בתוך Looker. | צוותים שנדרשת להם חוויית משתמש מותאמת אישית בצ'אט, אבל הם רוצים לשמור על אימות משתמשים וניהול סוכנים בסביבת Looker. התבנית הזו מתאימה במיוחד לאפליקציות שכבר משתמשות בהטמעה של Looker או ב-API. |
|
|
| שימוש ב-Conversational Analytics API: שילוב ישיר עם ה-API לניהול סוכנים כמשאבים ברמת הענן. | לקוחות Looker שנדרשת להם ניידות בין פלטפורמות שונות עבור סוכני הנתונים שלהם. |
|
|
הטמעה באמצעות iframes
אתם יכולים להטמיע את ניתוח הנתונים בשיחה כ-iframe כדי לספק את חוויית הצ'אט מחוץ לממשק המשתמש של Looker. הדפוס הזה הוא דרך ישירה לספק ניתוח שיחות שלא דורש פיתוח ממשק משתמש בהתאמה אישית, תזמור של קצה העורפי או ניהול מצב של API. כדי להשתמש בתבנית הזו, מוסיפים כתובת URL מעוצבת מראש לאפליקציה.
Embed SDK של Looker מספק כלים לניהול משימות כמו יצירה מאובטחת של כתובות URL, ניהול מחזור החיים של iframe והעברת אירועי JavaScript בין אפליקציית המארח לבין ה-iframe. אתם יכולים להטמיע את הדף סוכנים, את הדף שיחות או שיחה ספציפית על ידי הוספת כתובת URL מעוצבת מראש לאפליקציה.
אפשר להשתמש בשיטות האימות הבאות לתוכן מוטמע:
- הטמעה פרטית: אימות המשתמשים מתבצע באמצעות פרטי הכניסה הקיימים שלהם ל-Looker. כשמגדירים את כתובת ה-URL להטמעה כמקור של ה-iframe, המשתמשים נכנסים באמצעות חשבונות Looker שלהם. בשיטה הזו, המערכת אוכפת באופן אוטומטי תפקידים קיימים, גישה לתוכן והרשאות ברמת הנתונים, כמו מסנני גישה או מענקי גישה, בלי שנדרשת הגדרת IAM נוספת או מיפוי טוקנים.
- הטמעה עם חתימה: אימות משתמשים דרך האפליקציה באמצעות כניסה יחידה (SSO). אתם יוצרים כתובת URL חתומה שכוללת את נתיב התוכן של Conversational Analytics, וכך יכולים לציין באופן דינמי בדיוק אילו הרשאות להעניק.
פיתוח באמצעות Looker API וערכות SDK
כדי להוסיף גמישות לחוויית הצ'אט, אפשר להשתמש בשיטות ConversationalAnalytics ב-Looker API או ב-Looker SDK כדי ליצור אפליקציה בהתאמה אישית. בגישה הזו אפשר ליצור חזית קצה קדמי בהתאמה אישית שתתקשר ישירות עם נקודות הקצה של Looker.
השילוב עם Looker API מספק את היתרונות הבאים:
- אתם מנהלים רק את האימות באמצעות Looker. אין צורך לבצע אימות בנפרד באמצעות Conversational Analytics API.
- באפליקציות שכבר משתמשות בהטמעה של Looker או ב-API, התבנית הזו מפשטת את ארכיטקטורת הפרויקט בכך שהיא מאפשרת להימנע ממנגנוני אימות משניים ומבטלת את הצורך בניהול סוכני נתונים חיצוניים.
- יש לכם שליטה מלאה בממשק הצ'אט, ברצף השיחה ובאופן שבו האפליקציה מציגה את התוצאות (למשל תרשימים וטבלאות).
למידע על הטמעה לדוגמה, אפשר לעיין במדריך ל-Conversational Analytics Looker API ב-GitHub.
שימוש ב-Conversational Analytics API עם נתונים מ-Looker
אם אתם צריכים לבצע אחת מהמשימות הבאות, תוכלו לבצע שילוב ישיר עם Conversational Analytics API בכתובת geminidataanalytics.googleapis.com:
- לשתף את אותו סוכן נתונים בכמה Google Cloud פלטפורמות, כמו אפליקציות אינטרנט בהתאמה אישית, Google Chat ו-Gemini Enterprise.
- לשלב מקורות נתונים של Looker עם מקורות של BigQuery או של מסדי נתונים תפעוליים במערכת רב-סוכנים אחת.
- ניהול סוכן הנתונים כמשאב ברמת הענן שכפוף ל-IAM ולא למודל ההרשאות של Looker.
מידע נוסף על דפוסי ארכיטקטורה נפוצים ל-Conversational Analytics API זמין במאמר אפשרויות שילוב ל-BigQuery ולמסדי נתונים.
אפשרויות שילוב ל-BigQuery, ל-Data Studio ולמסדי נתונים
בקטע הזה מתוארים דפוסי ארכיטקטורה של אפליקציות שמשתמשות ב-BigQuery, ב-Data Studio או במסדי נתונים תפעוליים נתמכים Google Cloud כדי ליצור חוויות בהתאמה אישית באמצעות Conversational Analytics API.
אם אתם משתמשים ב-Conversational Analytics API עם מקור נתונים של Looker, הדפוסים שמתוארים בקטע הזה חלים גם על השילוב שלכם.
השיטות העיקריות לאינטראקציה עם נתונים ב-Conversational Analytics API הן:
-
chatmethod: תומך ב-BigQuery, ב-Looker, ב-Data Studio ובמסדי נתונים תפעוליים. - שיטת
queryData: תומכת במסדי נתונים תפעוליים כמו AlloyDB, GoogleSQL ל-Spanner, Cloud SQL ל-MySQL ו-Cloud SQL ל-PostgreSQL.
כשמפתחים אפליקציה בהתאמה אישית, אפשר להשתמש באחד או יותר מדפוסי השילוב הבאים:
- שילוב ישיר של API: גישה מותאמת אישית שמאפשרת הכי הרבה גמישות, אבל מחייבת אתכם לבנות את התשתית לאימות, לניהול שיחות ולניתוח תשובות.
- תיאום מבוסס-מסגרת (ADK): גישה שמשתמשת בערכה לפיתוח סוכנים (ADK) לניתוב בין סוכנים, להפעלת כלים ולניהול מצב.
- שילוב אנכי (MCP): גישה שמשתמשת ב-Model Context Protocol (MCP) כדי לספק דרך אחידה לחבר אפליקציות AI לכלים ולמקורות נתונים בסביבות שונות.
- תזמור אופקי (A2A): גישה שמשתמשת בפרוטוקול Agent-to-Agent (A2A) כדי לאפשר לסוכנים מיוחדים במערכות שונות לשתף פעולה בצורה מאובטחת בלי לדרוש קוד שילוב בהתאמה אישית.
סיכום של דפוסי שילוב של BigQuery ומסדי נתונים
בטבלה הבאה מפורטים דפוסי ההטמעה הספציפיים ל-BigQuery ולמסדי נתונים תפעוליים:
| דוגמת קוד | מתאים במיוחד ל | יתרונות | לתשומת ליבכם |
|---|---|---|---|
| שילוב של סוכן יחיד (API ישיר): תבנית שבה האפליקציה שלכם קוראת ל-API ישירות כדי להחזיר תובנות ממקורות הנתונים שלכם. | אפליקציות, אבות-טיפוס או מיקרו-שירותים של סוכן יחיד שדורשים שליטה ישירה בכל קריאה ל-API. |
|
|
| אורקסטרטור בהתאמה אישית (API ישיר): תבנית שמשתמשת בסוכן ראשי ובקריאת פונקציות כדי לנתב שאילתות בין Conversational Analytics API לבין כלים או שירותים אחרים. | אפליקציות שמשלבות שאילתות נתונים עם משימות אחרות, כמו אימייל או מסמכים, בתהליך שיחה יחיד. |
|
|
שילוב מבוסס סכימה עם BigQueryToolset (ADK): תבנית שמשתמשת בהפניות לטבלאות כדי להחזיר תובנות לגבי הנתונים במהירות. |
אב טיפוס מהיר, כלים פנימיים שבהם משילות מידע (data governance) פחות קריטית או תרחישים שבהם תובנות לגבי נתונים הן אחת מכמה יכולות בסוכן ADK. |
|
|
שילוב מבוקר עם DataAgentToolset (ADK): תבנית ששולחת שאילתה לסוכן נתונים שהוגדר מראש באמצעות הפניה למזהה של הסוכן. |
אפליקציות לייצור שדורשות גישה עקבית לנתונים או מערכות מרובות סוכנים שבהן סוכן הנתונים הוא רכיב מהימן לשימוש חוזר. |
|
|
| סוכני משנה מותאמים אישית (ADK): תבנית שמשתמשת במחלקת סוכנים מותאמת אישית כדי להתחבר ישירות ל-API ולהזרים נתחים של נתונים בחזרה למשתמש. | אפליקציות שפונות למשתמשים שבהן זמן האחזור של התגובה הוא בעדיפות גבוהה, או צינורות (pipelines) של כמה סוכנים שבהם אחזור נתונים מזין סוכנים במורד הזרם. |
|
|
| Model Context Protocol (MCP): תבנית שמשתמשת בתקן פתוח כדי לחבר אפליקציות AI למקורות נתונים ולכלים בסביבות שונות. | ארגונים שנדרשת בהם יכולת פעולה הדדית של כלים בכמה לקוחות AI וסביבות IDE, או צוותים שצריכים גישה לאותם כלי נתונים ממסגרת ADK, מסביבות IDE ומאפליקציות בהתאמה אישית. |
|
|
| Agent-to-Agent (A2A): תבנית שמשתמשת בפרוטוקול A2A, תקן פתוח שמאפשר לסוכנים מיוחדים במערכות שונות לשתף פעולה בצורה מאובטחת בלי לדרוש קוד שילוב בהתאמה אישית. | סביבות ארגוניות מבוזרות מאוד שבהן סוכן ניתוב מרכזי צריך להקצות משימות לסוכני נתונים שפועלים במערכות או ברשתות שונות. |
|
|
שילוב ישיר של API
שילוב ישיר של API מאפשר שליטה מפורטת בלוגיקה ובארכיטקטורה של האפליקציה, אבל מחייב אתכם לבנות את התשתית התומכת. בגישה הזו, אתם אחראים למשימות כמו אימות, ניהול שיחות, ניתוח תגובות ופריסה.
הנושאים בקטע הזה:
- שילוב של סוכן יחיד: תבנית שבה האפליקציה שלכם קוראת ישירות ל-Conversational Analytics API כדי להחזיר תובנות ממקורות הנתונים שלכם.
- שילוב של כלי תזמור בהתאמה אישית: תבנית מתקדמת שמשתמשת בסוכן ראשי ובבקשות להפעלת פונקציות כדי להפנות שאילתות בין ממשקי Conversational Analytics API.
שילוב של סוכן יחיד
בשילוב עם סוכן יחיד, ה-Backend שלכם קורא ישירות ל-Conversational Analytics API באמצעות REST או ספריית לקוח ומעביר את השאילתה וההקשר של המשתמש. הדפוס הזה מתאים לאפליקציות עם מורכבות נמוכה, כמו אפליקציות אינטרנט, כלי צ'אט פנימיים או מיקרו-שירותים, שמשתמשים בתהליך פשוט של המרת טקסט לתשובה. אפשר להשתמש בגישה הזו גם ליצירת אב טיפוס ולעבודות הוכחת היתכנות.
התבנית הזו תומכת בצ'אט עם שמירת מצב, שבו Google מנהלת את היסטוריית השיחות, ובצ'אט בלי שמירת מצב, שבו האפליקציה שלכם מנהלת את ההיסטוריה.
לעיון בהטמעות לדוגמה, אפשר לעבור אל המדריך לתחילת העבודה עם Conversational Analytics API או אל הדמו המצוין של Conversational Analytics API ב-GitHub.
שילוב של כלי תזמור בהתאמה אישית
בגישה הזו, אתם יוצרים סוכן שורש שמשמש כנקודת הכניסה העיקרית וכמתאם של האפליקציה. סוכן הבסיס משתמש במודל Gemini רגיל שמצויד בכלים באמצעות בקשה להפעלת פונקציה. כשמשתמש שואל שאלה שקשורה לנתונים, סוכן הבסיס שולח קריאה לכלי אל Conversational Analytics API, מקבל את התוצאה ויכול להמשיך בניתוח או להפעיל כלים אחרים בהמשך.
קריאה לפונקציה כוללת את השלבים הבאים:
- הצהרה: הגדרת סכימות של כלים כאובייקטים מסוג
FunctionDeclarationשכוללים הגדרות של פרמטרים. - Invoke: המודל מחזיר הודעת
functionCallמובנית שמכילה את שם הפונקציה והארגומנטים. - ביצוע: האפליקציה מבצעת את הקריאה ל-API ומחזירה את התוצאה בהודעה
FunctionResponse. - סינתזה: מודל Gemini משתמש בתוצאה כדי ליצור תשובה סופית או כדי לקבוע את הפעולה הבאה.
הגישה הזו מתאימה לאפליקציות שבהן המשתמשים עשויים לבקש תובנות לגבי נתונים לצד משימות אחרות. לדוגמה, משתמש יכול לבקש מהסוכן: "תציג לי נתוני מכירות, ואז תנסח אימייל לצוות המכירות". הסוכן הראשי יכול להפנות את השאלה לגבי הנתונים אל Conversational Analytics API ולהשתמש בכלים אחרים למשימות שלא קשורות לנתונים.
למידע על הטמעה לדוגמה, אפשר לעיין בדפים orchestrate או multimodal בהדגמה המושלמת של Conversational Analytics API ב-GitHub.
תזמור מבוסס-מסגרת (ADK)
הערכה לפיתוח סוכנים (ADK) היא מסגרת מבוססת-קוד ליצירת סוכני AI שמנהלת את המורכבות של ניתוב מרובה סוכנים, הפעלת כלים וניהול מצב. מסגרת ה-ADK היא אותה מסגרת שמפעילה את Gemini Enterprise.
באמצעות ה-ADK, אפשר לשרשר את Conversational Analytics API עם כלים וסוכנים אחרים כדי לבצע פעולות מורכבות.
הנושאים בקטע הזה:
- שילוב מבוסס-סכימה: תבנית שמשתמשת בכלי
ask_data_insightsמתוך ערכת הכלים שלBigQueryToolsetכדי להחזיר תובנות לגבי נתונים מהפניות לטבלאות ב-BigQuery. - שילוב מנוהל: תבנית שמשתמשת בכלי
ask_data_agentמתוך ערכת הכלים שלDataAgentToolsetכדי לשלוח שאילתה לסוכן נתונים שהוגדר מראש על ידי הפניה למזהה של הסוכן. - שילוב מתקדם של חוויית משתמש עם סוכני משנה בהתאמה אישית: תבנית שמשתמשת ברכיב של סוכן משנה בהתאמה אישית כדי להתחבר ישירות ל-Conversational Analytics API ולהזרים נתונים בחזרה למשתמש באופן אסינכרוני.
שילוב מבוסס סכימה עם BigQueryToolset
ערכת הכלים BigQueryToolset במסגרת ADK כוללת את הכלי ask_data_insights שנבנה מראש. כדי להשתמש בכלי הזה, מעבירים לו את שמות הטבלאות ואת השאלה של המשתמש. הכלי קורא ל-Conversational Analytics API באמצעות הקשר מוטבע.
כשמפעילים את הכלי, הוא שולח בקשה חסרת מצב שכוללת את ההפניות לטבלה שצוינה ב-BigQuery אל Conversational Analytics API. ה-API מסיק את סכימת מסד הנתונים, יוצר ומריץ את שאילתת ה-SQL ומחזיר תשובה טקסטואלית. התוצאה מועברת בחזרה לסוכן ADK כתשובה של כלי.
התבנית הזו היא דרך יעילה להוסיף במהירות ניתוח שיחות לסוכן. עם זאת, מכיוון שהקריאה ל-API היא חסרת מצב (stateless) וחסרה ניהול, ה-API יוצר SQL שמבוסס כולו על סכימת הטבלה ללא אמצעי הגנה סמנטיים. התבנית הזו מהירה יותר להטמעה, אבל היא מסוכנת יותר ללוגיקה עסקית של ייצור שבה חלים מוסכמות שמות, לוגיקה עסקית או אמצעי בקרת גישה.
שילוב מנוהל עם DataAgentToolset
ערכת הכלים DataAgentToolset במסגרת ADK מספקת שילוב מוכן מראש שמפנה לסוכן נתונים שהוגדר מראש באמצעות המזהה שלו. סוכן ה-ADK מעביר את השאלה של המשתמש לכלי ask_data_agent, שקורא ל-Conversational Analytics API עם ההקשר שצוין של סוכן הנתונים.
אפשר ליצור סוכן נתונים באופן פרוגרמטי באמצעות Conversational Analytics API או דרך קטלוג הסוכנים במסוף Google Cloud . סוכן נתונים מגיע עם הרכיבים הבאים:
- מקורות מידע: טבלאות, תצוגות או פונקציות בהגדרת משתמש (UDF) שהסוכן יכול לשלוח להן שאילתות
- הקשר מובנה: תיאורים של טבלאות ועמודות שעוזרים לסוכן להבין את נתוני הבסיס
- הוראות: הנחיות נוספות לסוכן לפרש את מקורות הנתונים ולשאול אותם שאלות
- שאילתות מאומתות: שאילתות SQL שאומתו מראש ומשמשות כדוגמאות לשאלות נפוצות
- מילון מונחים: הגדרות של מונחים עסקיים שעוזרות לסוכן להבין את השפה הספציפית לתחום
מדריך מפורט ליצירת סוכנים דרך קטלוג הסוכנים זמין בשיעור ה-Codelab בנושא ניתוח שיחות ב-BigQuery.
מכיוון שהסוכן מוגדר כיחידה מנוהלת, הוא משתמש באותה לוגיקה, באותו הקשר ובאותם אמצעי הגנה מהימנים, ללא קשר לאפליקציה או לסוכן המשנה שקוראים לו.
שילוב מתקדם של UX עם סוכנים משניים בהתאמה אישית
ערכות הכלים BigQueryToolset ו-DataAgentToolset לא מחזירות תוצאות למשתמש עד שעיבוד בקשת ה-API מסתיים. מכיוון שמסגרת ה-ADK מתייחסת ל-API כאל כלי שחוסם תשובות עד לסיום, יכול להיות שמשתמשים לא יקבלו משוב על שאילתות שפועלות זמן רב יותר.
כחלופה לאפליקציות שבהן זמן האחזור של התגובה הוא בעדיפות גבוהה או שבהן אחזור הנתונים מועבר לסוכנים במורד הזרם, אפשר ליצור מחלקה מותאמת אישית של סוכן ADK שמתחברת ישירות ל-API של ניתוח שיחות ומזרימה נתונים באופן אסינכרוני בחלקים בחזרה למשתמש. התבנית הזו תומכת בסוגי התגובות הבאים כשהן נוצרות:
- הודעות מחשבה: תהליך החשיבה הרציונלית של סוכן הנתונים בזמן שהוא מפרש את השאלה.
- הודעות התקדמות: עדכוני סטטוס במהלך אחזור הנתונים ממקורות נתונים.
- יצירת שאילתה: שאילתת ה-SQL או Looker שנוצרה, שמוזרמת בזמן שהיא נוצרת.
- נתונים: תוצאות הנתונים בפורמט JSON.
- Visualization: מפרטים של תרשימים ב-Vega-Lite.
- סיכום: התשובה הסופית שמבוססת על טקסט.
רשימה מלאה של סוגי הנתונים שמוחזרים מופיעה בסוג SystemMessage במאמרי העזרה של ה-API.
הגישה האסינכרונית הזו מבטיחה שהמשתמשים לא יצטרכו לחכות עד שתהליך מורכב של אחזור נתונים יסתיים. במהלך תהליך השאילתה, סוכן הנתונים משתף באופן רציף עדכונים מצטברים – כמו סיכומי טקסט, נתונים גולמיים או הגדרות של תרשימים – במרחב עבודה זמני ומשותף. לאחר מכן, המערכת יכולה להציג את הנתונים למשתמש בזמן אמת ולשתף אותם עם סוכני משנה מיוחדים כדי לבצע משימות נוספות.
דוגמה להטמעה שכוללת סוכן ראשי, סוכן משנה לנתונים וסוכן להמחשה מופיעה בהדגמה של ADK לסטרימינג ב-GitHub.
שילוב אנכי (MCP)
Model Context Protocol (MCP) הוא תקן פתוח שמאפשר לאפליקציות מבוססות-AI להתחבר לכלים ולמקורות נתונים חיצוניים בצורה אחידה. פרוטוקול MCP מציג ממשק סטנדרטי בין מודלים של AI לבין הכלים שבהם הם משתמשים.
הנושאים בקטע הזה:
- MCP Toolbox for Databases: תיאור של כלים מוכנים מראש לחיבור ל-BigQuery ול-Looker.
- דפוסי הטמעה של MCP בארכיטקטורות עצמאיות ובארכיטקטורות ADK: מאמר שמתאר דפוסים לשימוש ב-MCP כשרת עצמאי או בתהליך עבודה של ערכה לפיתוח סוכנים (ADK).
MCP Toolbox for Databases
אין שרת MCP ייעודי ל-Conversational Analytics API, אבל אפשר לגשת ל-API דרך השרת MCP Toolbox for Databases. השרת הזה הוא קוד פתוח ומספק כלים מוכנים מראש שתואמים ל-MCP, שחושפים את השיטה chat ב-Conversational Analytics API:
-
bigquery-conversational-analytics: עוטף את השיטהchatלמקורות נתונים של BigQuery. -
looker-conversational-analytics: עוטף את השיטהchatלמקורות נתונים של Looker.
MCP היא שכבת יכולת פעולה הדדית שחושפת יכולות ניתוח ככלים ללקוחות שתואמים ל-MCP, ולא כמודל ביצוע נפרד של Conversational Analytics API.
דפוסי הטמעה של MCP לארכיטקטורות עצמאיות ולארכיטקטורות ADK
אפשר להטמיע את MCP באמצעות הדפוסים הבאים:
| דוגמת קוד | פרטים |
|---|---|
| Standalone MCP (without ADK) |
אפשר להשתמש בשרת MCP Toolbox for Databases כשרת עצמאי כדי להתחבר לכל לקוח שתואם ל-MCP. הדפוס הזה משמש בדרך כלל למשימות הבאות:
|
| MCP בתוך ADK |
מסגרת ה-ADK מספקת את המנגנונים הבאים לשילוב שרתי MCP בתהליכי עבודה של סוכנים:
|
אפשר גם ליצור שרתי MCP באמצעות מסגרת FastMCP כדי לחשוף כלים שנבנו באמצעות מסגרת ADK לכל לקוח שתואם ל-MCP. הגישה הזו מאפשרת להשתמש בסוכני ADK ככלים במערכות אקולוגיות אחרות.
בוחרים דפוס שילוב שעונה על דרישות הארכיטקטורה הספציפיות של האפליקציה:
- שימוש בערכות כלים מובנות של ערכת פיתוח סוכנים (ADK), כמו
BigQueryToolsetאוDataAgentToolset, מאפשר שילוב הדוק יותר ללא תלות בשרת חיצוני. הגישה הזו מתאימה למערכות שקיימות באופן מלא במסגרת ADK. - השימוש בכלים ב-MCP Toolbox מאפשר פעולה הדדית בין לקוחות שתואמים ל-MCP. הגישה הזו מתאימה במיוחד לכלי נתונים שצריכים לשרת כמה אפליקציות צרכניות או סביבות פיתוח משולבות (IDE) של צד שלישי.
תזמור אופקי (A2A)
Agent-to-Agent (A2A) protocol הוא תקן פתוח שמאפשר לסוכנים ייעודיים במערכות שונות לתקשר ולשתף פעולה בצורה מאובטחת בלי שיידרש קוד שילוב בהתאמה אישית.
ככל שהמערכות גדלות, ארגונים רבים פורסים סוכנים מיוחדים שנבנו על בסיס מסגרות או תשתיות ענן שונות. A2A יוצרת רמת הודעות אוניברסלית לסוכנים האוטונומיים האלה. במקום להשתמש בממשקי API בהתאמה אישית, כל סוכן מפרסם כרטיס סוכן, שהוא פרופיל שאפשר למצוא בו פרטים על היכולות של הסוכן, פורמטי הנתונים שהוא תומך בהם ודרישות האבטחה שלו.
כשסוכן מרכזי לניהול תזמור או סוכן עמית דורש נתונים אנליטיים, הוא מעביר את המשימה באופן מאובטח לסוכן נתונים באמצעות העברת הודעות מובְנות בין סוכנים (A2A). סוכן הנתונים מעבד את הבקשה באופן אוטונומי ומחזיר את הממצאים, כך שלוגיקת הביצוע מופרדת ממגיש הבקשה.
בחירת תבנית שילוב
בטבלה הבאה אפשר להשוות בין הדפוסים השונים של שילובים מבחינת מורכבות, ניהול ויכולות.
רמות המורכבות מוגדרות כך:
- נמוך: דפוסים שלא דורשים קוד מותאם אישית רב ומסתמכים על ממשקי משתמש או כלים מוכנים מראש.
- בינוני: דפוסים שדורשים פיתוח מותאם אישית של חזית האתר ושילוב של API או SDK, אבל לא דורשים תשתית מורכבת של תזמור עורפי.
- גבוהה: דפוסים שדורשים פיתוח אפליקציות full-stack, ניהול מצב שיחה, שכבות אימות מרובות או תשתית ביניים של כלי תזמור.
- משתנה: תבניות שבהן המורכבות תלויה בשיטת השילוב הבסיסית שבוחרים.
| תבנית שילוב | מורכבות | התאמה אישית | פיקוח על סוכני AI | בקרת גישה | ריבוי סוכנים | סטרימינג | ניידות מידע |
|---|---|---|---|---|---|---|---|
| הטמעה של iframe ב-Looker | נמוכה | נמוכה | מנוהל דרך Looker | Looker | לא | מובנה | Looker בלבד |
| Looker API וערכות SDK | בינוני | גבוהה | מנוהל דרך Looker | Looker | לא | מובנה | Looker בלבד |
| Conversational Analytics API עם מקור Looker | משתנה | גבוהה | מנוהלות באמצעות API | Looker ו-IAM | כן | כן | כל Google Cloud פלטפורמה |
| סוכן יחיד (API ישיר) | בינוני | גבוהה | מנוהלות באמצעות API | IAM | לא | כן (יש תמיכה) | כל Google Cloud פלטפורמה |
| כלי לתזמור מותאם אישית | גבוהה | גבוהה מאוד | מנוהלות באמצעות API | IAM | גלילה ידנית | גלילה ידנית | כל Google Cloud פלטפורמה |
מבוסס סכימה עם BigQueryToolset (ADK) |
נמוכה | בינוני | ללא (הסקת סכימה) | IAM | כן (ADK) | לא (חסימה) | הסביבה העסקית של ADK |
מנוהל באמצעות DataAgentToolset (ADK) |
נמוכה | בינוני | מנוהלות באמצעות API | IAM | כן (ADK) | לא (חסימה) | הסביבה העסקית של ADK |
| סוכן משנה בהתאמה אישית להזרמת נתונים (ADK) | גבוהה | גבוהה מאוד | מנוהלות באמצעות API | IAM | כן (ADK) | כן (בהתאמה אישית) | הסביבה העסקית של ADK |
| Standalone MCP | בינוני | בינוני | ללא (הסקת סכימה) | IAM | לא | לא | כל לקוח MCP |
| MCP בתוך ADK | בינוני | גבוהה | ללא (הסקת סכימה) | IAM | כן (ADK) | לא | לקוחות ADK ו-MCP |
| פרוטוקול A2A | גבוהה | גבוהה | תלות ב-Framework | IAM | כן | כן | פלטפורמות שונות |
המאמרים הבאים
- מידע על הארכיטקטורה של Conversational Analytics API ועל מושגים מרכזיים
- להבין את ניהול המצבים של סוכני נתונים ואת האופן שבו ה-API מנהל את הקשר השיחה.
- איך מאמתים ומתחברים למקור נתונים
- איך יוצרים סוכן ומגדירים אותו באמצעות HTTP
- איך יוצרים וקובעים הגדרות לסוכן באמצעות Python
- מידע נוסף על הנחיית התנהגות של נציג באמצעות הקשר שנוצר
- הסבר על בקרת גישה באמצעות IAM ל-Conversational Analytics API
- איך מגינים על סוכני הנתונים והשיחות באמצעות CMEK
- איך מעבדים תשובות של סוכנים למקורות נתונים של Looker