Agent Assist מציע עכשיו מודולים של קצה העורף, אפשרות מוכנה מראש לשילוב של Agent Assist במערכת שלכם. מודולים של Backend כוללים שירות יירוט של Cloud Pub/Sub ושירות מחבר של ממשק משתמש. ה-interceptor מעבד התראות על אירועים שקשורים לתכונות מ-Dialogflow באמצעות נושאים ב-Cloud Pub/Sub, ואז מחבר ממשק המשתמש דוחף אותן לממשק המשתמש של סוכן שולחן העבודה. מחברים של ממשקי משתמש תומכים גם באותות משוב משולחן העבודה של הנציג, ושולחים אותם ל-Dialogflow.
מבנה של מודולים בקצה העורפי

רכיבים של מודול קצה עורפי
כדי לשלב את Agent Assist במערכת שלכם, מודולים של קצה עורפי צריכים את מוצרי Google הבאים:
- Cloud Pub/Sub
- Cloud Pub/Sub interceptor
- Memorystore for Redis
- מחבר לממשק משתמש
Cloud Pub/Sub
נושאי Cloud Pub/Sub מוגדרים בפרופילים של שיחות.
לאחר מכן, Agent Assist יפרסם בנושא הצעות, הודעות חדשות, התראות על תוצאות זיהוי חדשות ואירועים שקשורים למחזור החיים של השיחה. ההצעות הן בפורמט
HumanAgentAssistantEvent,
וההודעות החדשות ואירועי מחזור החיים של השיחה הן בפורמט
ConversationEvent.
לכל פרופיל שיחה, ארבעת סוגי הודעות האירועים האלה מתפרסמים בנושאים שונים. לדוגמה, הודעה על אירוע במחזור החיים של שיחה יכולה להיות {"conversation":"projects/your-project-id/locations/global/conversations/your-conversation-id","type":"CONVERSATION_STARTED"}, שמציינת את תחילת השיחה.
Cloud Pub/Sub interceptor
ה-interceptor של Cloud Pub/Sub נפרס ב-Cloud Run. הפונקציונליות של כל מופע קונטיינר (שרת) של שירות Cloud Run זה זהה לכל מופע אחר, כולל:
- עיבוד הודעות אירועים שפורסמו בנושאים של Cloud Pub/Sub באמצעות בקשות HTTP.
- פרסום הודעות שהתקבלו בערוצי Redis Pub/Sub, ספציפיים לשם השיחה ולמזהה השרת של מחבר ממשק המשתמש. הפורמט של הערוץ הוא
{connector_id}:{conversation_name}.
Redis
Redis משתמש ב-Memorystore for Redis כדי לבצע את הפעולות הבאות:
- רושמים את פרטי מזהה השרת של מחבר ממשק המשתמש לכל שיחה במיפוי
<conversation_name, connector_id>. - העברת התראות על אירועים שפורסמו על ידי Cloud Pub/Sub interceptor לשרת מחבר ממשק המשתמש המתאים באמצעות מנגנון Redis Pub/Sub.
מחבר לממשק משתמש
מחבר ממשק המשתמש הוא אפליקציה שחושפת שרת proxy של Dialogflow API ל-REST ונקודת קצה (endpoint) של SocketIO WebSocket כדי להזרים הודעות של Dialogflow שמקורן ב-Agent Assist.
מחבר ממשק המשתמש נפרס ב-Cloud Run.
חיבורי WebSocket הם חיבורים עם מצב, ולכן שולחן העבודה של הסוכן יישאר מחובר לאותו מאגר ב-Cloud Run לאורך כל משך החיים של החיבור. לכן, כל שרת של מחבר ממשק משתמש מטפל בשיחות שונות ומנוי לערוצי Pub/Sub שונים של Redis ({connector_id}:*) עבור השיחות שהוא מטפל בהן. משימות לכל שרת של מחבר ממשק משתמש:
- תמיכה בשיטת אימות מותאמת לשולחנות עבודה של סוכנים.
- יצירת JWT זמני אחרי אימות של טוקנים מותאמים אישית של סוכני שולחן עבודה. כשמחברי ממשק המשתמש שולחים בקשות ל-Dialogflow API או לחיבור WebSocket, הם מאמתים את ה-JWT המצורף במקום לבדוק את האסימון המקורי של הסוכן.
- יוצר חיבור SocketIO WebSocket עם סוכן מאומת במחשב על סמך שם שיחה נתון.
- הוא נרשם להודעות אירועים בערוצי Redis Pub/Sub לשיחות שהוא מנהל.
- שולח אירועים של Agent Assist לממשק המשתמש של שולחן העבודה כשהם מתקבלים.
Secret Manager
מחבר ממשק המשתמש צריך מפתח סודי של JWT כדי ליצור אסימוני JWT זמניים לשולחנות עבודה של סוכנים מאומתים. המפתח הסודי הזה מאוחסן ב-Secret Manager.
ספרייה
בקטע הבא מפורט מבנה הספריות במאגר המקורות של הקוד. אם אין לכם גישה למאגר, פנו לנציג Google כדי לקבל הרשאות.
.
├── cloud-pubsub-interceptor
│ ├── Dockerfile: Docker-image creation for Cloud Pub/Sub Interceptor deployment on Cloud Run
│ ├── main.py: A starter for flask app
│ ├── requirements.txt: Python packages for running Cloud Pub/Sub Interceptor service
│ └── unit_test.py: Unit test code for Cloud Pub/Sub Interceptor
├── cloudbuild.yaml: An example configuration file for Cloud Build
├── deploy.sh: An automated deployment script
├── images
├── readme.md
└── ui-connector
├── Dockerfile: Builds Docker image for UI Connector deployment on Cloud Run
├── auth.py: JWT validation and registration handling
├── auth_options.py: Support for authentication through different identity providers
├── config.py: Configuration for variables about authentication, logging, and CORS origins
├── dialogflow.py: With Dialogflow utilities for runtime-conversation handling
├── main.py: A starter for flask app
├── requirements.txt: Python packages for running UI Connector
├── templates
│ └── index.html: A simple interactive demo
└── unit_test.py: Unit test code for UI Connector
תמחור ומכסות
השילובים של Agent Assist כוללים את השירותים הבאים, שלכל אחד מהם יש תמחור משלו ומגבלות מכסה משלו.
- מחירים ומיכסות של Agent Assist
- מחירים ומכסות של Pub/Sub
- מחירים ומכסות של Memorystore
- מחירים ומכסות ב-Cloud Run
המאמרים הבאים
מידע נוסף על תחילת העבודה עם שיטת השילוב הזו זמין במדריך להתקנת מודולים של ה-Backend.