במדריך הזה מוסבר איך ליצור אפליקציה ב-Google Chat כדי לקבל תשובות על סמך שיחות במרחבים משותפים ב-Chat מבוסס על Vertex AI עם Gemini. אפליקציית Chat משתמשת Google Workspace Event API וגם Pub/Sub כדי לזהות שאלות ולענות עליהן מתפרסמות במרחבי Chat בזמן אמת, גם לא מוזכר.
כל ההודעות שנשלחו במרחב המשותף ישמשו את אפליקציית Chat מקור נתונים ומאגר ידע: כשמישהו שואל שאלה, אפליקציית Chat מחפשת תשובות ששותפו בעבר ואז משתף אחת. אם לא נמצאה תשובה, כתוב שהיא לא יכולה לענות. בכל תשובה, המשתמשים יכולים ללחוץ על לחצן הפעולה של האביזר כדי לאזכר את המנהל/ת של המרחב המשותף באמצעות @ולשאול אותו לקבלת תשובה. בעזרת Gemini AI, אפליקציית Google Chat מבצעת התאמות ושינויים הוא מרחיב את מאגר הידע ככל שהוא מתאמן באופן קבוע על שיחות במרחבים נוסף אליו.
הסבר על אפליקציית Chat בתהליך קליטת עובדים ומרחב תמיכה:
-
איור 1. צ'רלי מוסיף את אפליקציית Chat, העוזרת הדיגיטלית של AI, למרחב ב-Chat. -
איור 2. דנה שואלת אם החברה מציעה הכשרה לנאום ציבורי. -
איור 3. באפליקציית Chat של עוזר המידע מבוסס-AI מוצגת הנחיה של Vertex AI עם Gemini לענות על שאלה של דנה על סמך היסטוריית השיחות של המרחב המשותף ב-Chat, ואז היא משתפת את התשובה.
דרישות מוקדמות
עסק או ארגון חשבון Google Workspace עם גישה אל Google Chat.
גישה לשירותי Google Cloud כדי לבצע את הפעולות הבאות:
- יוצרים פרויקט חדש ב-Google Cloud.
- מקשרים חשבון לחיוב ב-Google Cloud לפרויקט ב-Cloud. שפת תרגום אם יש לכם גישה, ההרשאות הנדרשות להפעלת החיוב.
- להשתמש בהפעלות לא מאומתות של פונקציה של Google Cloud Functions. שאפשר לאמת באמצעות בדיקה אם חשבון Google Cloud הארגון משתמש בשיתוף מוגבל באמצעות דומיין.
אם צריך, צריך לבקש גישה מהאדמין ב-Google Cloud או הרשאה.
אם אתם משתמשים ב-Google Cloud CLI, Node.js לסביבת הפיתוח המוגדרת לעבוד עם ה-CLI של gcloud. צפייה הגדרת פיתוח ב-Node.js הסביבה.
מטרות
- איך מפתחים אפליקציה ל-Chat שמבוססת על בינה מלאכותית גנרטיבית מענה על שאלות על סמך הידע ששותף במרחב ב-Chat שיחות.
- בעזרת AI גנרטיבי:
- לזהות שאלות של עובדים ולענות עליהן.
- למידה רציפה משיחות מתמשכות ב-Chat המרחב המשותף.
- מאזינים להודעות במרחבים ב-Chat ועונים עליהן בזמן אמת גם כשאפליקציית Chat לא מחוברת ישירות הודעה.
- כותבים הודעות למסד נתונים של Firestore וקוראים ממנו הודעות.
- אפשר להוסיף אזכור של מרחבים כדי לשתף פעולה במרחבים משותפים ב-Chat מנהלים כשלא נמצאה תשובה לשאלה.
ארכיטקטורה
בתרשים הבא מוצגת הארכיטקטורה של Google Workspace המשאבים ב-Google Cloud שמשמשים את העוזר הדיגיטלי מבוסס ה-AI אפליקציית Chat.
כך פועלת אפליקציית Chat של העוזר הדיגיטלי מבוסס ה-AI:
משתמש מוסיף את אפליקציית הצ'אט של העוזר הדיגיטלי ל-AI ב-Chat למרחב משותף ב-Chat:
אפליקציית Chat מציגה את ההודעה משתמש שהוסיף אותו למרחב ב-Chat כדי להגדיר אימות והרשאה.
אפליקציית Chat תאחזר את ההודעות של המרחב המשותף קריאה ל-method
spaces.messages.list
ב-Chat API ואז מאחסן את ההודעות שנשלפו במסד הנתונים של Firestore.אפליקציית Chat מפעילה את שיטה אחת (
subscriptions.create
) ב-Google Workspace Event API כדי להתחיל להאזין לאירועים כמו הודעות במרחב. נקודת הקצה להתראות של מינוי היא נושא Pub/Sub שמשתמש Eventarc להעברת האירוע לאפליקציית Chat.אפליקציית Chat מפרסמת הודעת היכרות את המרחב.
משתמש במרחב ב-Chat מפרסם הודעה:
אפליקציית Chat מקבלת את ההודעה בזמן אמת מהנושא Pub/Sub.
אפליקציית Chat מוסיפה את ההודעה ל-Firestore מסד נתונים.
אם משתמש יערוך או ימחק את ההודעה לאחר מכן, אפליקציית Chat מקבלת את האירוע המעודכן או שנמחק בזמן אמת ואז מעדכן או מוחק את ההודעה ב-Firestore מסד נתונים.
אפליקציית Chat שולחת את ההודעה ל-Vertex AI עם Gemini:
ההנחיה מנחה את Vertex AI עם Gemini לבדוק אם ההודעה שכולל שאלה. אם כן, Gemini עונה על השאלה בהיסטוריית ההודעות של המרחב ב-Chat שנשמרה ב-Firestore ואפליקציית Google Chat שולחת את ההודעה מרחב ב-Chat. אם לא, אין להשיב.
אם Vertex AI עם Gemini עונה על השאלה, אפליקציית Chat מפרסמת את תשובה באמצעות קריאה ל-method
spaces.messages.create
Chat API באמצעות אימות של אפליקציות.אם Vertex AI עם Gemini לא יכול לענות על השאלה, אפליקציית Chat מפרסמת פוסט שאומר שהוא לא יכול למצוא תשובה לשאלה הזו את ההיסטוריה של המרחב ב-Chat.
ההודעות תמיד כוללות לחצן פעולה אביזרי שהמשתמשים יכולים לקליק, ובעקבות זאת אפליקציית Chat אפשר לאזכר את המנהל של המרחב המשותף באמצעות @ ולבקש ממנו לענות.
אפליקציית Chat מקבלת התראות על מחזור החיים Google Workspace Event API שבו המינוי למרחב ב-Chat עומד לפוג:
- אפליקציית Chat תשלח בקשה לחדש את
על ידי קריאה לשיטה
subscriptions.patch
Google Workspace Event API.
- אפליקציית Chat תשלח בקשה לחדש את
על ידי קריאה לשיטה
אפליקציית Chat הוסרה מ-Chat רווח:
המינוי ל-Chat יימחק על ידי קריאה ל-method
subscriptions.delete
Google Workspace Event API.אפליקציית Chat תמחק את הצ'אט של נתוני המרחב ב-Firestore.
בדיקת המוצרים שבהם משתמשת אפליקציית העוזר הדיגיטלי ל-AI ב-Chat
אפליקציית Chat, העוזר הדיגיטלי מבוסס ה-AI משתמשת המוצרים הבאים של Google Workspace ו-Google Cloud:
- Vertex AI API בשילוב עם Gemini: פלטפורמת AI גנרטיבי שמבוססת על Gemini. העוזר הדיגיטלי מבוסס ה-AI אפליקציית Chat משתמשת ב-Vertex AI API עם Gemini כדי לזהות, להבין ולענות על שאלות של עובדים.
-
Chat API:
ממשק API לפיתוח אפליקציות ב-Google Chat שמקבלות בקשות ומגיבות להן
אירועי אינטראקציה בצ'אט, כמו הודעות. AI
אפליקציית צ'אט לעזרה ב-Chat משתמשת ב-Chat API כדי:
- לקבל אירועי אינטראקציה שנשלחו ב-Chat ולהגיב עליהם.
- הצגת רשימה של ההודעות שנשלחו במרחב המשותף.
- פרסום תשובות לשאלות של משתמשים במרחבים משותפים.
- הגדרת מאפיינים שקובעים איך הוא יופיע צ'אט, למשל שם ותמונת דמות.
- Google Workspace Event API: ה-API הזה מאפשר לך להירשם לאירועים ולנהל אותם לשנות את ההתראות באפליקציות של Google Workspace. צ'אטבוט התמיכה מבוסס ה-AI, צ'אט, משתמש Google Workspace Event API כדי להאזין להודעות שפורסמו מרחב ב-Chat כדי שיוכל לזהות ולענות על שאלות גם לא מוזכר.
- Firestore: מסד נתונים ללא שרת (serverless) למסמכים. העוזר הדיגיטלי מבוסס ה-AI אפליקציית Chat משתמשת ב-Firestore כדי לאחסן נתונים על הודעות שנשלחו במרחב ב-Chat.
- Pub/Sub Pub/Sub הוא שירות העברת הודעות אסינכרוני וניתן להתאמה, שמפריד שירותים שמפיקים הודעות משירותים שמעבדים את ההודעות האלה. אפליקציית Chat בכלי לניהול ידע מבוססת-AI משתמשת ב-Pub/Sub כדי לקבל אירועי הרשמות ממרחבים ב-Chat.
- Eventarc: באמצעות Eventarc אפשר ליצור ארכיטקטורות מבוססות-אירועים בלי שתצטרכו להטמיע, להתאים אישית או לתחזק את התשתית הקיימת. AI אפליקציית צ'אט עוזרת הידע משתמשת ב-Eventarc לנתב אירועים מ-Pub/Sub למרחב משותף ב-Chat, הפונקציה של Cloud Functions שמקבלת ומעבדת את אירועי המינוי.
-
Cloud Functions:
שירות מחשוב ללא שרת (serverless computing) שמאפשר ליצור
פונקציות עצמאיות למטרה יחידה, שיכולות להגיב ל-Chat
אירועי אינטראקציה ומינויים ללא צורך בניהול שרת או זמן ריצה
הסביבה. אפליקציית Chat, עוזר דיגיטלי מבוסס-AI
משתמשת בשתי פונקציות של Cloud Functions בשם:
-
app
: אירוח נקודת הקצה (endpoint) של HTTP ש-Chat שולח ובתור פלטפורמת מחשוב להריץ לוגיקה מעבדים את האירועים האלה ומגיבים להם. -
eventsApp
: מקבל ומעבד מרחב ב-Chat אירועים כמו הודעות ממינוי Pub/Sub.
- Cloud Build: פלטפורמה מנוהלת לניהול רציף (continuous delivery), מסירה ופריסה שמפעילה גרסאות build אוטומטיות.
- Cloud Run: סביבה מנוהלת להרצת אפליקציות בקונטיינרים.
-
מכינים את הסביבה
בקטע הזה נסביר איך ליצור ולהגדיר פרויקט ב-Google Cloud עבור אפליקציית Chat.
יצירת פרויקט של Google Cloud
מסוף Google Cloud
- במסוף Google Cloud, נכנסים לתפריט > IAM & אדמין > יצירת פרויקט.
-
בשדה Project Name (שם הפרויקט), מזינים שם תיאורי לפרויקט.
אופציונלי: כדי לערוך את Project ID, לוחצים על Edit (עריכה). לא ניתן לשנות את מזהה הפרויקט אחרי שהפרויקט נוצר, לכן בחר מזהה שעונה על הצרכים שלך לכל משך החיים של הפרויקט פרויקט.
- בשדה מיקום לוחצים על עיון כדי להציג את המיקומים האפשריים של פרויקט. לאחר מכן לוחצים על בחירה.
- לוחצים על יצירה. במסוף Google Cloud עוברים לדף Dashboard ונוצר הפרויקט תוך כמה דקות.
CLI של gcloud
נכנסים ל-Google Cloud באחת מסביבות הפיתוח הבאות CLI (`gcloud`):
-
Cloud Shell: כדי להשתמש בטרמינל אונליין באמצעות ה-CLI של gcloud
כבר הוגדר, צריך להפעיל את Cloud Shell.
הפעלת Cloud Shell -
Local Shell: כדי להשתמש בסביבת פיתוח מקומית,
התקנה ו
אתחול
ב-CLI של gcloud.
כדי ליצור פרויקט ב-Cloud, משתמשים בפקודה 'gcloud projects create': מחליפים את PROJECT_ID על ידי הגדרת המזהה של הפרויקט שרוצים ליצור.gcloud projects create PROJECT_ID
הפעלת החיוב בפרויקט ב-Cloud
מסוף Google Cloud
- נכנסים לקטע Billing במסוף Google Cloud. לוחצים על תפריט > חיוב > הפרויקטים שלי.
- בקטע בחירת ארגון, בוחרים את הארגון שמשויך אליו. את הפרויקט ב-Google Cloud.
- בשורת הפרויקט, פותחים את התפריט Actions (פעולות) ( ), לוחצים על שינוי החיוב ובוחרים לחשבון לחיוב ב-Cloud.
- לוחצים על Set account.
CLI של gcloud
- כדי להציג רשימה של החשבונות הזמינים לחיוב, מריצים את הפקודה:
gcloud billing accounts list
- מקשרים חשבון לחיוב לפרויקט ב-Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID
הוא מזהה הפרויקט של הפרויקט ב-Cloud שבו רוצים להפעיל את החיוב.BILLING_ACCOUNT_ID
הוא מזהה החשבון לחיוב שאליו יש לקשר בפרויקט ב-Google Cloud.
הפעלת ממשקי ה-API
מסוף Google Cloud
במסוף Google Cloud, מפעילים את Google Chat API, את Vertex AI API, ל-Cloud Functions API, ל-Firestore API, ל-Cloud Build API, Pub/Sub API, Google Workspace Event API ו-Eventarc API ו-Cloud Run Admin API.
עליכם לוודא שאתם מפעילים את ממשקי ה-API פרויקט ב-Cloud ולוחצים על Next.
מוודאים שאתם מפעילים את ממשקי ה-API הנכונים ולוחצים על הפעלה.
CLI של gcloud
אם צריך, מגדירים את הפרויקט הנוכחי ב-Cloud לפרויקט נוצר:
gcloud config set project PROJECT_ID
מחליפים את PROJECT_ID במזהה הפרויקט של הפרויקט ב-Cloud שיצרתם.
להפעיל את Google Chat API, את Vertex AI API, את Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, Google Workspace Event API, Eventarc API ו-Cloud Run Admin API:
gcloud services enable chat.googleapis.com \ aiplatform.googleapis.com \ cloudfunctions.googleapis.com \ firestore.googleapis.com \ cloudbuild.googleapis.com \ pubsub.googleapis.com \ workspaceevents.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com
הגדרת אימות והרשאה
האימות וההרשאה מאפשרים משאבי גישה לאפליקציות Chat ב-Google Workspace Google Cloud.
במדריך הזה נפרסם את אפליקציית Google Chat באופן פנימי, אפשר להשתמש במידע placeholder. לפני הפרסום של אפליקציית Google Chat חיצונית, צריך להחליף placeholder של פרטים מידע אמיתי למסך ההסכמה.
הגדרת מסך ההסכמה ל-OAuth, ציון היקפים ורישום האפליקציה
במסוף Google Cloud, נכנסים אל תפריט > ממשקי API ו- שירותים > מסך ההסכמה של OAuth
בקטע סוג משתמש, בוחרים באפשרות פנימי ולוחצים על יצירה.
בשדה App name, מקלידים
AI knowledge assistant
.בקטע User support email (אימייל לתמיכת משתמשים), בוחרים את כתובת האימייל שלכם או כתובת אחרת קבוצה ב-Google.
בקטע פרטים ליצירת קשר עם המפתח, מזינים את כתובת האימייל.
לוחצים על שמירה והמשך.
לוחצים על הוספה או הסרה של היקפי הרשאות. תופיע חלונית עם רשימה של היקפים לכל API שהפעלתם בפרויקט ב-Cloud.
בקטע הוספה ידנית של היקפים, מדביקים את ההיקף הבא:
https://www.googleapis.com/auth/chat.messages
לוחצים על הוספה לטבלה.
לוחצים על עדכון.
לוחצים על שמירה והמשך.
מעיינים בסיכום הרישום של האפליקציה ולוחצים על חזרה למרכז השליטה.
יצירת פרטי כניסה למזהה הלקוח ב-OAuth
במסוף Google Cloud, נכנסים אל תפריט > ממשקי API ו- שירותים > פרטי כניסה
לוחצים על Create Credentials. > מזהה לקוח OAuth.
לוחצים על Application type (סוג אפליקציה). > אפליקציית אינטרנט.
בשדה Name, מקלידים שם לפרטי הכניסה. השם הזה הוא רק שמוצגת במסוף Google Cloud.
בקטע מזהי URI מורשים להפניה אוטומטית, לוחצים על הוספת URI.
ב-URIs 1, מקלידים את השאילתה הבאה:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
מחליפים את מה שכתוב בשדות הבאים:
- REGION: האזור של הפונקציה של Cloud Functions, כמו
us-central1
. לאחר מכן, כשיוצרים את שתי הפונקציות של Cloud Functions, צריך להגדיר לערך הזה. - PROJECT_ID: מזהה הפרויקט של הפרויקט ב-Cloud שאתם יצרתם.
- REGION: האזור של הפונקציה של Cloud Functions, כמו
לוחצים על יצירה.
בחלון לקוח OAuth שנוצר, לוחצים על הורדת JSON.
שומרים את הקובץ שהורד בשם
client_secrets.json
. מאוחר יותר, כשתיצרו בשני הפונקציות של Cloud Functions, כוללים את הקובץclient_secrets.json
בכל אחד מהם. בפריסה גמישה.לוחצים על אישור.
יצירת הנושא Pub/Sub
הנושא Pub/Sub פועל עם Google Workspace Event API להרשמה לאירועים ב-Chat מרחב כמו הודעות, ושליחת התראות לאפליקציית Chat בזמן האימון.
כך יוצרים נושא Pub/Sub:
מסוף Google Cloud
במסוף Google Cloud, נכנסים אל תפריט > Pub/Sub.
לוחצים על יצירת נושא.
במזהה הנושא, מקלידים
events-api
.מבטלים את הבחירה באפשרות הוספת מינוי ברירת מחדל.
בקטע Encryption, בוחרים באפשרות Google-managed encryption key.
לוחצים על יצירה. הנושא Pub/Sub יופיע.
כדי שנושא ה-Pub/Sub הזה ו-Google Workspace Event API יפעלו יחד, תנו למשתמש ה-IAM ב-Chat הרשאה לפרסם בנושא Pub/Sub:
בחלונית events-api, בקטע permissionS, לוחצים על הוספת חשבון משתמש.
בקטע Add principals, מקלידים New principals.
chat-api-push@system.gserviceaccount.com
.בקטע הקצאת תפקידים, בקטע בחירת תפקיד, בוחרים באפשרות Pub/Sub > פרסום הודעות ב-Pub/Sub.
לוחצים על שמירה.
CLI של gcloud
יוצרים נושא Pub/Sub עם מזהה הנושא
events-api
:gcloud pubsub topics create events-api
הענקת הרשאה למשתמש ב-IAM לפרסם ב-Chat בנושא Pub/Sub:
gcloud pubsub topics add-iam-policy-binding events-api \ --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \ --role='roles/pubsub.publisher'
יצירת מסד הנתונים של Firestore
מסד הנתונים של Firestore צריך להמשיך ולאחזר
נתונים ממרחבים ב-Chat, כמו הודעות. הנתונים לא מוגדרים
שמוגדר במרומז בקוד לדוגמה על ידי model/message.js
services/firestore-service.js
קבצים.
במסד הנתונים של אפליקציית צ'אט, של העוזר הדיגיטלי מבוסס ה-AI, נעשה שימוש מודל הנתונים של NoSQL מבוסס על מודל הנתונים של Firestore.
מסמכים מאורגן לפי אוספים. מידע נוסף זמין במאמר הבא:בתרשים הבא מוצגת סקירה כללית של העוזר הדיגיטלי ל-AI. מודל הנתונים של אפליקציית Chat:
הרמה הבסיסית (root) מכילה שני אוספים:
spaces
, כשכל מסמך מייצג מרחב ב-Chat שאפליקציית Chat תתווסף אליה. כל הודעה מיוצגת שמיוצגים על ידי מסמך באוסף המשנהmessages
.users
, כאשר כל מסמך מייצג משתמש שהוסיף את אפליקציית Chat למרחב משותף ב-Chat.
הצגת הגדרות של אוספים, מסמכים ושדות
spaces
מרחב משותף ב-Chat עם אפליקציית צ'אטבוט התמיכה מבוססת-AI ב-Chat.
שדות | |
---|---|
Document ID | String מזהה ייחודי של מרחב ספציפי. חלק משם המשאב של המרחב המשותף ב-Chat API. |
messages | Subcollection of Documents ( הודעות שנשלחו במרחב ב-Chat. תואם ל- Document ID של message ב-Firebase. |
spaceName | String השם הייחודי של המרחב ב-Chat API. זהה לשם המשאב של המרחב המשותף ב-Chat API. |
messages
הודעות שנשלחו במרחב ב-Chat.
שדות | |
---|---|
Document ID | String מזהה ייחודי של הודעה ספציפית. |
name | String השם הייחודי של הודעה ב-Chat API. תואם לשם המשאב של ההודעה ב-Chat API. |
text | String גוף הטקסט של ההודעה. |
time | String (Timestamp format) השעה שבה ההודעה נוצרה. |
users
משתמשים שהוסיפו את אפליקציית צ'אטבוט התמיכה מבוססת-AI ל-Chat.
שדות | |
---|---|
Document ID | String מזהה ייחודי של משתמש ספציפי. |
accessToken | String אסימון הגישה שהוענק במהלך הרשאת משתמש ב-OAuth 2.0 המשמש לקריאה לממשקי ה-API של Google Workspace. |
refreshToken | String אסימון הרענון הוענק במהלך הרשאת משתמש ב-OAuth 2.0. |
כך יוצרים את מסד הנתונים של Firestore:
מסוף Google Cloud
במסוף Google Cloud, נכנסים אל תפריט > Firestore.
לוחצים על Create dataset.
בקטע Select your Firestore mode, לוחצים על Native mode.
לוחצים על המשך.
מגדירים את מסד הנתונים:
בקטע Name your מסד נתונים, משאירים את Database ID (מזהה מסד הנתונים) בתור
(default)
.בקטע סוג מיקום, בוחרים באפשרות אזור.
בקטע Region, מציינים אזור למסד הנתונים, כמו
us-central1
. לקבלת הביצועים הטובים ביותר, יש לבחור את אותו הדבר או את הסמל בקרבת מקום המיקום בתור Cloud Functions של אפליקציית Chat.
לוחצים על Create dataset.
CLI של gcloud
יוצרים מסד נתונים של Firestore במצב Native:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
מחליפים את LOCATION בשם של Firestore אזור, כמו בתור
us-central1
. לקבלת הביצועים הטובים ביותר, יש לבחור את אותו הדבר או את הסמל בקרבת מקום המיקום בתור Cloud Functions של אפליקציית Chat.
יצירה ופריסה של אפליקציית Chat
עכשיו, אחרי שיצרתם והגדרתם את הפרויקט ב-Google Cloud, אתם מוכנים ליצור ולפרוס את אפליקציית Chat. בקטע הזה מבצעים את הפעולות הבאות: הבאים:
- ליצור ולפרוס שתי פונקציות של Cloud Functions. אחד שיכול לענות לצ'אט אירועי אינטראקציה ואחד להגיב לאירועי Pub/Sub.
- יצירה ופריסה של אפליקציית Chat דרך Google Chat API דף ההגדרות האישיות.
יצירה ופריסה של Cloud Functions
בקטע הזה, יוצרים ופורסים שתי פונקציות של Cloud Functions בשם:
app
: מארח ומריץ את אפליקציית Chat קוד שמגיב לאירועים שהתקבלו מ-Chat בתור HTTP בקשות.eventsApp
: מקבל ומעבד מרחב ב-Chat אירועים כמו הודעות מ-Pub/Sub.
ה-Cloud Functions האלה ביחד מהווים את העוזר הדיגיטלי מבוסס ה-AI הלוגיקה של אפליקציית Chat.
לפני שיוצרים את Cloud Functions, מומלץ להקדיש כמה רגעים כדי לבדוק להכיר את הקוד לדוגמה שמתארח ב-GitHub.
יצירה ופריסה של app
מסוף Google Cloud
מורידים את הקוד מ-GitHub כקובץ ZIP.
מחלצים את קובץ ה-ZIP שהורדתם.
התיקייה שחולצה מכילה את כל הדוגמאות של Google Workspace של מאגר הנתונים.
בתיקייה שחולצה, עוברים אל ספריית
google-chat-samples-main/node/ai-knowledge-assistant
.בספרייה
google-chat-samples/node/ai-knowledge-assistant
, הוסיפו את הקובץclient_secrets.json
שהורדתם כש פרטי הכניסה של מזהה הלקוח ב-OAuth נוצרו לצורך אימות והרשאה.לדחוס את התוכן של התיקייה
ai-knowledge-assistant
ל-ZIP חדש.תיקיית השורש של קובץ ה-ZIP חייבת להכיל את הרכיבים הבאים: קבצים ותיקיות:
.gcloudignore
.gitignore
README.md
deploy.sh
env.js
events_index.js
http_index.js
index.js
client_secrets.json
package-lock.json
package.json
controllers/
model/
services/
test/
במסוף Google Cloud, נכנסים אל תפריט > Cloud Functions.
צריך לוודא שהפרויקט ב-Google Cloud עבור אפליקציית Chat נבחרה.
לוחצים על
Create Function.בדף Create function, מגדירים את הפונקציה:
- בסביבה, בוחרים באפשרות דור שני.
- בשדה Function name, מקלידים
app
. - בקטע Region, בוחרים אזור, כמו
us-central1
. באזור הזה חייב להתאים לאזור שהגדרת ב-URI המורשה להפניה אוטומטית כאשר עבורך פרטי הכניסה למזהה הלקוח ב-OAuth שנוצרו לצורך אימות והרשאה. - בקטע Trigger type, בוחרים באפשרות HTTPS.
- בקטע Authentication, בוחרים לאפשר הפעלות לא מאומתות.
- לוחצים על הבא.
ב-Runtime, בוחרים באפשרות Node.js 20.
בקטע נקודת כניסה, מוחקים את טקסט ברירת המחדל ומזינים
app
.בקטע קוד מקור, בוחרים באפשרות העלאת מיקוד.
בקטגוריית יעד, יצירה או בוחרים קטגוריה:
- לוחצים על מה מעניין אותך היום?
- בוחרים קטגוריה.
- לוחצים על בחירה.
מערכת Google Cloud מעלה את קובץ ה-ZIP ומחלצת את קובצי הרכיבים בקטגוריה הזו. לאחר מכן, שירות Cloud Functions מעתיק את קובצי הרכיבים אל בפונקציה של Cloud Functions.
בקובץ ZIP, מעלים את קובץ ה-ZIP שהורדתם מ-GitHub, שחולץ ודחוס:
- לוחצים על מה מעניין אותך היום?
- מנווטים לקובץ ה-ZIP ובוחרים בו.
- לוחצים על פתיחה.
לוחצים על Deploy (פריסה).
הדף Cloud Functions ייפתח והפונקציה תופיע עם שני מדדי התקדמות: אחד ל-build והשני לשירות. כששני מדדי ההתקדמות נעלמים ומוחלפים בסימן ביקורת הפונקציה נפרסה ומוכנה.
עורכים את הקוד לדוגמה כדי להגדיר קבועים:
- בדף Cloud Functions details, לוחצים על Edit.
- לוחצים על הבא.
- בקטע קוד מקור, בוחרים באפשרות עורך מוטבע.
- בעורך המוטבע, פותחים ועורכים את הקובץ
env.js
:- הגדרת הערך של project כ מזהה הפרויקט ב-Cloud.
- הגדרת הערך של location לערך של הפונקציה של Cloud Functions
region,
כמו
us-central1
.
לוחצים על Deploy (פריסה).
CLI של gcloud
משכפלים את הקוד מ-GitHub:
git clone https://github.com/googleworkspace/google-chat-samples.git
מעבר לספרייה שמכילה את הקוד של הידע הזה בנושא AI אפליקציית Assistant ב-Chat:
cd google-chat-samples/node/ai-knowledge-assistant
בספרייה
google-chat-samples/node/ai-knowledge-assistant
, הוסיפו את הקובץclient_secrets.json
שהורדתם כש פרטי הכניסה של מזהה הלקוח ב-OAuth נוצרו לצורך אימות והרשאה.עורכים את הקובץ
env.js
כדי להגדיר את משתני הסביבה:- הגדרת הערך של project לפרויקט שלך ב-Cloud ID.
- הגדרת הערך של location לערך של הפונקציה של Cloud Functions
region, למשל
us-central1
פורסים את הפונקציה של Cloud Functions ב-Google Cloud:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticated
מחליפים את REGION בערך של הפונקציה של Cloud Functions region (אזור) תואם לערך שהוגדר בקובץ
env.js
, למשלus-central1
.
יצירה ופריסה של eventsApp
מסוף Google Cloud
במסוף Google Cloud, נכנסים אל תפריט > Cloud Functions.
צריך לוודא שהפרויקט ב-Google Cloud עבור אפליקציית Chat נבחרה.
לוחצים על
Create Function.בדף Create function, מגדירים את הפונקציה:
- בסביבה, בוחרים באפשרות דור שני.
- בשדה Function name, מקלידים
eventsApp
. - בקטע Region, בוחרים אזור, כמו
us-central1
. באזור הזה חייב להתאים לאזור שהגדרת ב-URI המורשה להפניה אוטומטית כאשר עבורך פרטי הכניסה למזהה הלקוח ב-OAuth שנוצרו לצורך אימות והרשאה. - בקטע Trigger type, בוחרים באפשרות Cloud Pub/Sub.
- בנושא של Cloud Pub/Sub, בוחרים את שם הנושא ב-Pub/Sub
שנוצר, עם הפורמט
projects/PROJECT/topics/events-api
כאשר PROJECT הוא מזהה הפרויקט ב-Cloud. - אם מופיעה הודעה שמתחילה ב-
Service account(s) might not have enough permissions to deploy the function with the selected trigger.
, לוחצים על הענקת הכול. - לוחצים על הבא.
ב-Runtime, בוחרים באפשרות Node.js 20.
בקטע נקודת כניסה, מוחקים את טקסט ברירת המחדל ומזינים
eventsApp
.בקטע Source code (קוד מקור), בוחרים באפשרות Zip from Cloud Storage (מיקוד מ-Cloud Storage).
בקטע המיקום של Cloud Storage, לוחצים על עיון.
בוחרים את הקטגוריה שאליה העליתם את קובץ ה-ZIP כשיצרתם את הפונקציה של Cloud Functions
app
.לוחצים על קובץ ה-ZIP שהעלית.
לוחצים על בחירה.
לוחצים על Deploy (פריסה).
הדף Cloud Functions ייפתח והפונקציה תופיע עם שלושה מדדי התקדמות: אחד ל-build, אחד לשירות, ואחת לטריגר. כשכל שלושת מדדי ההתקדמות נעלמים ומוחלפות בסימן וי, הפונקציה נפרסת ומוכנה.
עורכים את הקוד לדוגמה כדי להגדיר קבועים:
- בדף Cloud Functions details, לוחצים על Edit.
- לוחצים על הבא.
- בקטע קוד מקור, בוחרים באפשרות עורך מוטבע.
- בעורך המוטבע, פותחים ועורכים את הקובץ
env.js
:- הגדרת הערך של project כ מזהה הפרויקט ב-Cloud.
- הגדרת הערך של location לערך של הפונקציה של Cloud Functions
region,
כמו
us-central1
.
לוחצים על Deploy (פריסה).
CLI של gcloud
אם אתם עדיין לא נמצאים ב-CLI של gcloud, עוברים לספרייה שכולל את הקוד של הידע הזה בתחום ה-AI את אפליקציית Chat של Assistant שוכפל מ-GitHub:
cd google-chat-samples/node/ai-knowledge-assistant
בספרייה
google-chat-samples/node/ai-knowledge-assistant
, הוסיפו את הקובץclient_secrets.json
שהורדתם כש פרטי הכניסה של מזהה הלקוח ב-OAuth נוצרו לצורך אימות והרשאה.עורכים את הקובץ
env.js
כדי להגדיר את משתני הסביבה:- הגדרת הערך של project לפרויקט שלך ב-Cloud ID.
- הגדרת הערך של location לערך של הפונקציה של Cloud Functions
region, למשל
us-central1
פורסים את הפונקציה של Cloud Functions ב-Google Cloud:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-api
מחליפים את REGION בערך של הפונקציה של Cloud Functions region (אזור) תואם לערך שהוגדר בקובץ
env.js
, למשלus-central1
.
העתקת כתובת ה-URL לטריגר של הפונקציה של Cloud Functions app
בקטע הבא מדביקים את כתובת ה-URL שמשמשת כטריגר של הפונקציה של Cloud Functions app
אחרי ש
מגדירים את אפליקציית Chat במסוף Google Cloud.
מסוף Google Cloud
במסוף Google Cloud, נכנסים אל תפריט > Cloud Functions.
בעמודה Name ברשימת הפונקציות של Cloud Functions, לוחצים על
app
לוחצים על Trigger (טריגר).
מעתיקים את כתובת ה-URL.
CLI של gcloud
תיאור הפונקציה של Cloud Functions
app
:gcloud functions describe app
מעתיקים את המאפיין
url
.
איך מגדירים את אפליקציית Chat במסוף Google Cloud
בקטע הזה מוסבר איך להגדיר את Chat API במסוף Google Cloud עם מידע על אפליקציית Chat. כולל השם של אפליקציית Chat וכתובת ה-URL שמשמשת כטריגר של הענן של אפליקציית Chat הפונקציה שאליה היא שולחת אירועי אינטראקציה ב-Chat.
במסוף Google Cloud, לוחצים על תפריט. > עוד מוצרים > Google Workspace > ספריית המוצרים > Google Chat API > ניהול > הגדרה.
בשדה App name, מקלידים
AI knowledge assistant
.בשדה כתובת URL של הדמות, מקלידים
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.בשדה Description, מקלידים
Answers questions with AI
.מעבירים את המתג הפעלת תכונות אינטראקטיביות למצב פעיל.
בקטע פונקציונליות, בוחרים באפשרות הצטרפות למרחבים משותפים ולשיחות קבוצתיות.
בקטע הגדרות חיבור, בוחרים באפשרות כתובת ה-URL של האפליקציה.
בקטע App URL, מדביקים את כתובת ה-URL של הטריגר מהפונקציה
app
של Cloud Functions. בפורמט הבא:https://
REGION-
PROJECT_ID.cloudfunctions.net/app
כאשר REGION הוא האזור של הפונקציה של Cloud Functions, למשלus-central1
ו-PROJECT_ID הוא Project ID של הפרויקט ב-Cloud שיצרתם.בקטע חשיפה, בוחרים אפשר להגדיר שאפליקציית Chat הזו תהיה זמינה לאנשים ולקבוצות ספציפיים הדומיין ב-Workspace ומזינים את כתובת האימייל שלכם.
(אופציונלי) בקטע Logs (יומנים), בוחרים באפשרות Log errors to Logging (רישום שגיאות ביומן).
לוחצים על שמירה. תופיע הודעה שנשמרה לגבי ההגדרות האישיות, כלומר אפליקציית Chat מוכן לבדיקה.
בדיקת האפליקציה של Chat
בודקים את אפליקציית הצ'אט של העוזר הדיגיטלי מבוסס ה-AI ב-Chat במרחב ב-Chat עם הודעות שאפשר לשאול את ה-AI עוזר דיגיטלי ל-Chat יכול לענות לשיחה.
הנה כמה דרכים לבדוק את העוזר הדיגיטלי מבוסס ה-AI אפליקציית Chat:
- איך מוסיפים את אפליקציית צ'אטבוט התמיכה מבוססת-AI ל-Chat מרחב קיים ב-Chat ולשאול שאלות רלוונטיות המרחב הזה.
- יצירת מרחב ב-Chat ופרסום כמה הודעות שישמשו
מקור נתונים. מקור ההודעות הוא
Gemini עם הנחיה כמו
Answer 20 common onboarding questions employees ask their teams.
או, אפשר להדביק כמה פסקאות מדריך פיתוח עם סקירה כללית של Chat ולאחר מכן לשאול שאלות בנושא.
למדריך הזה, אפשר ליצור מרחב ב-Chat ולהדביק כמה פסקאות המדריך לפיתוח עם סקירה כללית של Chat.
פותחים את Google Chat.
יצירת מרחב משותף ב-Chat:
לוחצים על > יצירת מרחב משותף.
צ'אט חדשבשם המרחב המשותף, כותבים
Testing AI knowledge assistant app
.בקטע למה מיועד המרחב הזה?, לוחצים על שיתוף פעולה.
בקטע הגדרות הגישה, בוחרים מי יוכל לגשת למרחב המשותף.
לוחצים על יצירה.
הוספת הודעות לשימוש כמקור נתונים:
בדפדפן אינטרנט, נכנסים אל פיתוח עם סקירה כללית של Chat מותאמת אישית.
להעתיק את תוכן המדריך ולהדביק אותו במרחב ב-Chat. שאתם יצרתם.
כדאי להוסיף את אפליקציית צ'אטבוט התמיכה מבוססת-AI ב-Chat:
בשורת הכתיבה של ההודעה, מקלידים
@AI knowledge assistant
וב תפריט ההצעות שמופיע, צריך לבחור את העוזר הדיגיטלי לידע ב-AI אפליקציית Chat ומקישים עלenter
.תופיע הודעה השואלת אם אתם רוצים להוסיף את העוזר הדיגיטלי בנושא AI להשתמש באפליקציית Chat במרחב המשותף. לוחצים על צירוף למרחב המשותף.
אם זו הפעם הראשונה שאתם מוסיפים את אפליקציית Chat, במרחב משותף, צריך להגדיר אימות והרשאה עבור אפליקציית Chat:
- לוחצים על הגדרה.
- חלון דפדפן חדש או כרטיסייה חדשה ייפתחו שבה תתבקשו לבחור חשבון Google. בוחרים את החשבון שאיתו רוצים לבדוק.
- בדיקת ההרשאות שעוזר דיגיטלי הידע ב-AI הזמנות מאפליקציות ל-Chat. כדי להעניק אותן, צריך ללחוץ על אישור.
- מופיעה ההודעה
You may close this page now.
. סוגרים את חלון הדפדפן או את הכרטיסייה וחוזרים אל מרחב ב-Chat.
שאל שאלה:
בשורת הכתיבה של ההודעה, מקלידים שאלה כמו
What are Google Chat apps?
אפליקציית Chat יכולה לענות על שאלות מעוזר הידע ב-AI.
(אופציונלי) אם התשובה לא מדויקת או לא מספקת, כדי לעזור ל-AI שיפור היסטוריית השיחות, לוחצים
לקבלת עזרה באפליקציית Chat אנחנו מציינים את העוזר הדיגיטלי לידע ב-AI מנהל של המרחב המשותף ושואל אותו לענות על השאלה. בפעם הבאה, עוזר דיגיטלי מבוסס-AI, אפליקציית Chat התשובה!
שיקולים, אפשרויות לארכיטקטורה חלופית והשלבים הבאים
בקטע הזה מפורטות דרכים נוספות שבהן עוזר דיגיטלי המידע על AI אפשר ליצור אפליקציה של Chat.
Firestore, Cloud Storage או הודעות ברשימת השיחות ב-Chat API
במדריך הזה מומלץ לשמור נתוני מרחב ב-Chat, כמו
במסד הנתונים של Firestore כי הוא משפר את הביצועים
באמצעות הפעלה של השיטה list
במכשיר Message
משאב עם Chat API בכל פעם
אפליקציית Chat עונה על שאלה. בהמשך, להתקשר
list messages
שוב ושוב עלולות לגרום
אפליקציית Chat יכולה להגיע למגבלת המכסה של ממשק ה-API.
אבל אם היסטוריית השיחות של מרחב משותף ב-Chat הופכת ולכן השימוש ב-Firestore עלול להיות יקר.
אחסון בענן היא חלופה ל-Firestore. בכל מרחב משותף, העוזר הדיגיטלי מבוסס ה-AI אפליקציית Chat פעילה באובייקט משלה, וכל אובייקט הוא קובץ טקסט שמכיל את כל ההודעות במרחב המשותף. היתרון של בגישה הזאת אפשר להזין ל-Vertex את כל התוכן של קובץ הטקסט ב-AI ב-Gemini בבת אחת, אבל החיסרון הוא שצריך יותר עבודה לעדכן את היסטוריית השיחות כי אי אפשר לצרף לאובייקט ב-Cloud נפח אחסון, רק צריך להחליף אותו. הגישה הזו לא הגיונית אם אתם נוהגים או לעדכן את היסטוריית ההודעות, אבל כדאי לבצע עדכון בכמות גדולה את היסטוריית ההודעות מדי פעם, למשל פעם בשבוע.
פתרון בעיות
כשאפליקציית Google Chat או אפליקציית Google Chat הפונקציה card מחזירה שגיאה, בממשק של Chat מוצגת ההודעה "משהו השתבש". או "לא ניתן לעבד את הבקשה שלך". לפעמים בממשק המשתמש של Chat לא מציגה הודעות שגיאה, אבל אפליקציית Chat או והכרטיס מפיק תוצאה לא צפויה: לדוגמה, הודעה בכרטיס יופיעו.
יכול להיות שלא תופיע הודעת שגיאה בממשק המשתמש של Chat, אבל יש הודעות שגיאה תיאוריות ונתוני יומן זמינים כדי לעזור לכם לתקן שגיאות כשמופעלת רישום שגיאות ביומן של אפליקציות ל-Chat. לקבלת עזרה בצפייה, לניפוי באגים ולתיקון שגיאות: פתרון בעיות ותיקון שגיאות ב-Google Chat
הסרת המשאבים
כדי להימנע מצבירת חיובים בחשבון Google Cloud עבור במשאבים שנעשה בהם שימוש במדריך הזה, מומלץ למחוק את פרויקט בענן.
- במסוף Google Cloud, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin (אדמין) > לניהול משאבים
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על הסמל. מחיקה של .
- כדי למחוק, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down. את הפרויקט.
נושאים קשורים
- ניהול פרויקטים באמצעות Google Chat, Vertex AI ו-Firestore
- מענה לאירועים באמצעות Google Chat, Vertex AI ו-Apps Script