1. לפני שמתחילים
בסדנת התכנות הזו נלמד איך להשתמש ב-Conversational Analytics API (CA API) עם Looker כדי לבנות אפליקציית צ'אט משלכם לשליחת שאילתות לגבי נתונים. כדי להפיק את הערך המרבי, מומלץ להכיר את BigQuery, Looker, LLM וסוכנים, ו-Python.
מה תלמדו
אחרי שתסיימו את ה-Codelab הזה, תדעו:
- איך משתמשים בניתוח נתוני השיחות עם Looker
- איך מגדירים את אפליקציית ההפעלה המהירה של Conversational Analytics Python ומשתמשים בה (והסבר על אופן הפעולה של האפליקציה)
- היתרונות של שימוש ב-Looker ליצירת מודלים סמנטיים באמצעות ניתוח שיחות
מה תצטרכו
כדי להשלים את שיעור ה-Codelab הזה, תצטרכו:
- מכונת Looker עם בלוק Looker של נתונים דמוגרפיים של ASC מותקן
- גישה לממשקי API ולמפתחים במופע Looker
- סביבה מקומית עם Python בגרסה 3.11 ומעלה, Git ו-gcloud מותקנים.
- פרויקט ב-Cloud עם התפקידים הבאים ב-IAM שהוגדרו לחשבון המשתמש שלכם:
roles/bigquery.dataViewerצפייה בנתוני BigQueryroles/bigquery.userמשתמש BigQueryroles/looker.instanceUserמשתמש במופע Looker
2. פיתוח אפליקציית צ'אט והתנסות בה באמצעות BigQuery
קודם נגדיר את אפליקציית ההפעלה המהירה של Conversational Analytics וננסה אותה עם BigQuery כמקור נתונים.
אימות והפעלה של Cloud APIs
- אימות מקומי באמצעות חשבון המשתמש:
gcloud auth login
- מפעילים ממשקי API של פרויקט בענן. צריך להחליף את
YOUR_PROJECT_IDבמזהה הפרויקט ב-Google Cloud:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- מגדירים Application Default Credentials (ADC) וחיוב:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
הגדרת אפליקציית המדריך למתחילים
- משכפלים את מאגר GitHub למתחילים לסביבה המקומית. דוגמה לפקודה:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- מנווטים לספרייה
ca-api-quickstartsששיבטתם:
cd ca-api-quickstarts
- יוצרים קובץ
secrets.tomlבספרייה.streamlit. YOUR_LOOKER_CLIENT_IDו-YOUR_LOOKER_CLIENT_SECRETצריכים להיות מזהה הלקוח וסוד הלקוח של Looker ממופע Looker שלכם. תוכן הקובץ צריך להיות כזה:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
כדי ליצור את הקובץ, אפשר להשתמש בפקודה לדוגמה הבאה. חשוב להחליף את הערכים במזהה הפרויקט, במזהה הלקוח ובסוד הלקוח:
cat > .streamlit/secrets.toml <<'EOF'
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
EOF
- מתקינים את דרישות Python של אפליקציית המדריך למתחילים:
pip install -r requirements.txt
- מריצים את האפליקציה מהמדריך למתחילים:
streamlit run app.py
- פותחים את https://localhost:8501 בדפדפן הרצוי.
התנסות באפליקציה למתחילים
עכשיו אתם נמצאים בדף הסוכנים של אפליקציית ההפעלה המהירה. אין לכם סוכני נתונים זמינים.
- עכשיו ניצור סוכן נתונים שמדבר כמו פיראט בטופס Create Agent (יצירת סוכן):
- מגדירים את השדה שם מוצג:
Pirate BQ Agent
- מגדירים את השדה הוראות למערכת:
You are a pirate. Answer questions like a pirate
- בוחרים באפשרות BigQuery.
- מגדירים את השדה Project (פרויקט):
bigquery-public-data
- מגדירים את השדה Dataset (מערך נתונים):
google_trends
- מגדירים את השדה Table (טבלה):
top_rising_terms
- בוחרים באפשרות יצירת סוכן.
- עכשיו נעבור לדף הצ'אט דרך תפריט הניווט הראשי שמימין. נציג התמיכה החדש שלנו זמין לצ'אט. נתחיל שיחה על ידי הוספת הנחיה או הודעה: "שלום, מה שלומך?"
- עכשיו נלמד קצת על מערך הנתונים הזה: "What's this dataset about?"
- אפשר לשאול שאלה אחרת, למשל:
- "What [Enter State] locations are in the dataset?" (אילו מיקומים ב[מדינה] נמצאים במערך הנתונים?)
- "אפשר לקבל את הנתונים מ-2 השבועות האחרונים לגבי [עיר, מדינה?]"
- "תצור תרשים?"
הרגע ניהלתם שיחה מרובת תפניות עם סוכן הנתונים ועם נתוני BigQuery באפליקציית הצ'אט שלכם.
3. מודלים וסקירה של הנתונים ב-Looker
עכשיו נבנה מודל של אותם נתונים מ-BigQuery ונבדוק אותם ב-Looker.
הרצת שאילתות על נתוני מפקד האוכלוסין ב-BigQuery
מה קורה כשמתחברים למערך נתונים רלציוני גדול יותר? קודם ניצור סוכן חדש.
- חוזרים לטופס יצירת סוכן בדף הסוכנים.
- מגדירים את השדה שם מוצג:
BQ Census Agent
- מגדירים את השדה הוראות למערכת:
You are really excited about census data, you love learning about the demographics in your area because you want to come up with marketing campaigns for your company
- בוחרים באפשרות BigQuery.
- מגדירים את השדה Project (פרויקט):
bigquery-public-data
- מגדירים את השדה Dataset (מערך נתונים):
census_bureau_acs
- מגדירים את השדה Table (טבלה):
blockgroup_2018_5yr
- בוחרים באפשרות יצירת סוכן.
- שואלים את הסוכן החדש את שתי השאלות הבאות:
- "What data do you have?"
- "Can you show me a preview of my data"?
שימוש ב-Looker כדי ליצור מודל של נתוני המפקד
עכשיו נשתמש במודל LookML כדי להגדיר את נתוני מפקד האוכלוסין ב-BigQuery. נפתור את הבעיות שראינו קודם.
- כניסה לחשבון במכונה
- כדי לעבור לקבצים של בלוק הנתונים הדמוגרפיים של ACS, עוברים לתפריט הניווט הראשי בצד ימין, בוחרים באפשרות פיתוח ואז בוחרים באפשרות marketplace_acs_census-v2.
- בואו נסתכל על תצוגה ב-Looker. פותחים את הספרייה
imported_project, את הספרייהacs_census-v2ואת הספרייהgeography. - לבסוף, פותחים את הקובץ
cbsa.view. - בשורה 17 אפשר לראות שקוד ה-LookML יוצר טבלה נגזרת. במילים אחרות, הקוד הזה יוצר טבלה חדשה משולבת על ידי צירוף של שני מערכי נתונים ציבוריים ב-BigQuery, אחד עם נתוני מפקד אוכלוסין ואחד עם נתוני גבולות גיאוגרפיים. LookML מאפשרת לנו לבצע הצטרפות למספר מערכי נתונים על ידי יצירת טבלה נגזרת מתמשכת לביצוע שאילתות.
בנוסף, ההצטרפות מוגדרת בקוד שאפשר ליצור לו גרסאות (LookML) במקום בהוראות מערכת, כך שפיתוח הסוכן ניתן להרחבה. באמצעות LookML, אתם יכולים להגדיר הנחות ומגבלות ספציפיות לגבי הנתונים שלכם כדי לתמוך במשתמשים בזמן שהם מנהלים שיחה עם הנתונים באמצעות סוכן נתונים.
עיון בנתוני מפקד האוכלוסין לפי מודל ב-Looker
כדי להמחיש שיש לנו מקור נתונים מרכזי אחד שאפשר להריץ עליו שאילתות, נריץ שאילתה מהירה בניתוח.
- בתפריט הניווט הראשי שמימין, בוחרים באפשרות ניתוח נתונים, ואז באפשרות בלוק נתוני מפקד האוכלוסין,ואז באפשרות מדינה ומחוז.
- בוחרים במדד Education (השכלה) > Associates Degree (תואר חבר).
- בוחרים את המאפיינים הבאים:
- מיקום גיאוגרפי > קבוצת בלוקים
- מיקום גיאוגרפי > מחוז > שם המחוז
- מיקום גיאוגרפי > מדינה > מדינה.
- מריצים את השאילתה (בפינה השמאלית העליונה) ועכשיו אפשר לראות שמזהי המיקום הגיאוגרפי האלה (שנקראים 'קבוצת בלוקים') משויכים למחרוזות שקל לקרוא.
- פותחים את כרטיסיית התצוגה החזותית ורואים את הנתונים במפה.
4. איך משתמשים באפליקציית הצ'אט עם Looker
עכשיו ניצור סוכן נתונים ל-Looker.
- עוברים לטופס יצירת סוכן בדף הסוכן של האפליקציה להפעלה מהירה:
- מגדירים את השדה שם מוצג:
Cartoon character data analyst
- מגדירים את השדה הוראות למערכת:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- בוחרים באפשרות Looker.
- מגדירים את השדה Url לכתובת ה-URL של מופע Looker: "https://..."
- מגדירים את השדה Model (מודל):
data_block_acs_bigquery
- מגדירים את השדה ניתוח:
cbsa
- בוחרים באפשרות יצירת סוכן.
- עוברים לדף הצ'אט ובוחרים את הסוכן החדש שנוצר.
- נתחיל שיחה על ידי הוספת הנחיה או הודעה: "שלום, מה שלומך?"
- נבקש מהסוכן לתאר את מערך הנתונים: "What data do you have available?"
- אשאל אותך עוד כמה שאלות:
- "באיזה מחוז בניו יורק יש את האוכלוסייה הכי גדולה?"
- "What about the most graduates from high school per capita?"
- "Can you give me the population by gender and state?"
- "אני רוצה לראות תרשים עמודות של 10 המדינות עם האוכלוסייה הכי גדולה".
5. מה עוד אפשר לעשות באפליקציה למתחילים?
עכשיו יש לכם:
- הגדרת אפליקציית הצ'אט באופן מקומי
- יצירת סוכן נתונים של BigQuery וסוכן נתונים של Looker
- לנהל שיחות עם סוכני הנתונים
- הסבר על היתרונות של מודלים סמנטיים ב-Looker כהקשר לשיחות
ננסה את היכולות האחרות של האפליקציה למתחילים:
- טוענים מחדש את דף האינטרנט של אפליקציית ההפעלה המהירה ועוברים לדף הצ'אט.
- אתם יכולים לראות את השיחות הקודמות עם כל ההודעות הרלוונטיות מהסוכנים של BigQuery ו-Looker. החלק הקדמי של האפליקציה לא שומר את השיחות או ההודעות הקודמות, אלא מאחזר אותן מ-CA API.
- עכשיו עוברים לדף הסוכנים ובוחרים את סוכן Looker מהרשימה.
- אם רוצים, אפשר לעדכן את ההגדרות של הנציג או למחוק אותו. אף נציג לא מאוחסן בחלק הקדמי של האפליקציה.
6. אתגרים אופציונליים וחקירה נוספת
אם רוצים, אפשר לנצל את ההזדמנות הזו כדי להכיר את ניתוח השיחות ואת אפליקציית ההפעלה המהירה. אפשר גם לנסות לשנות את אפליקציית ההפעלה המהירה. אפשר לנסות את ההצעות והאתגרים הבאים או לדלג לקטע האחרון.
מידע נוסף על CA API ואפליקציית ההפעלה המהירה
- הוראות מפורטות למערכת לשליטה בהתנהגות של הסוכן
- מגדירים סוכן נתונים נוסף שמפנה למערך נתונים חדש ב-BigQuery.
- מתקינים בלוק חדש של Looker במופע Looker, יוצרים סוכן ומפנים אותו לקבוצת נתונים חדשה של Looker.
אתגרים בשינוי אפליקציות למתחילים
- האם יש לך ניסיון בהטמעה של Looker? אם כן, נסו להטמיע לוח בקרה של Looker באפליקציית ההפעלה המהירה. אפשר להשתמש ברכיב ה-iframe של Streamlit.
- מוצאים מערך נתונים ציבורי שכולל כתובות URL של סרטונים, ומעדכנים את הלוגיקה של עיבוד הצ'אט באפליקציה כדי להציג סרטון בצ'אט.
7. מסקנות ונקודות חשובות
הגעת לסוף! יצרתם אפליקציית צ'אט, יצרתם סוכני נתונים וניהלתם צ'אט עם הנתונים שלכם – והכול באמצעות Conversational Analytics API. נתחיל בסקירת כמה יכולות ומושגים חשובים.
היכולות של ניתוח נתוני השיחות
הסברנו על הרבה מהיכולות של ניתוח שיחות, כמו היכולת:
- יצירה, עדכון, הצגה ברשימה, קבלת ומחיקת סוכני נתונים.
- הפניית סוכני הנתונים אל BigQuery או אל Looker כמקור נתונים.
- יצירה, הצגה וקבלת שיחות וההודעות שמשויכות להן.
- יצירת מפרטים של תרשימי Vega להמחשה סוחפת בשיחות.
- השימוש בהודעות קודמות בשיחה מספק הקשר שימושי להודעות עתידיות.
היתרונות של שימוש ב-Looker עם CA API
Looker מספקת מודלים סמנטיים מרכזיים, ניתנים לבדיקה וניתנים לניהול של הנתונים שלכם. בשילוב עם ניתוח שיחות, Looker מספק דרך ניתנת להרחבה כדי לספק הקשר לסוכני הנתונים שלכם.
השלבים הבאים
- במאמרי העזרה בנושא ניתוח נתונים בשיחה אפשר למצוא מדריכים נוספים, תכונות ותרחישי שימוש.
- כדאי להתעדכן במאגר האפליקציות למתחילים ולתרום לו.