يوضّح هذا الدليل التعليمي كيفية إنشاء تطبيق Google Chat يجيب عن الأسئلة استنادًا إلى المحادثات في مساحات Chat باستخدام الذكاء الاصطناعي العميق (Gemini) من Vertex AI. يستخدم تطبيق Chat واجهة برمجة التطبيقات Google Workspace Events API بالإضافة إلى Pub/Sub للتعرّف على الأسئلة المُنشرة في مساحات Chat والإجابة عنها في الوقت الفعلي، حتى إذا لم يتم ذكرها.
يستخدم تطبيق Chat جميع الرسائل المُرسَلة في المساحة كمصدر بيانات وقاعدة معلومات: عندما يطرح أحد المستخدمين سؤالاً، يبحث تطبيق Chat عن الإجابات التي تمت مشاركتها سابقًا ثم يشارك أحدها. إذا لم يتم العثور على إجابة، سيُعلمك بأنّه لا يمكنه الإجابة. في كل إجابة، يمكن للمستخدمين النقر على زر إجراء إضافي للإشارة إلى مدير مساحة والسؤال عن إجابة. باستخدام تكنولوجيات الذكاء الاصطناعي في Gemini، يتكيّف تطبيق Google Chat مع قاعدة المعلومات ويطورها أثناء تدريبه المستمر على المحادثات في المساحات التي تتم إضافته إليها.
في ما يلي آلية عمل تطبيق Chat في مساحة الإعداد والدعم للموظفين:
-
الشكل 1. يضيف "شارلي" تطبيق Chat المزوّد بخدمة دعم ذكاء اصطناعي إلى مساحة Chat. -
الشكل 2. تسأل "دانا" ما إذا كانت الشركة تقدّم تدريبًا على التحدث أمام الجمهور. -
الشكل 3. يطلب تطبيق Chat من مساعِد الذكاء الاصطناعي Vertex AI مع Gemini الإجابة عن سؤال "دانا" استنادًا إلى سجلّ المحادثات في مساحة Chat، ثم يشارك الإجابة.
المتطلبات الأساسية
حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
الوصول إلى خدمات Google Cloud لتنفيذ ما يلي:
- أنشئ مشروعًا على Google Cloud.
- ربط حساب فوترة على Google Cloud بمشروع Cloud للاطّلاع على ما إذا كان لديك إذن الوصول، اطّلِع على الأذونات المطلوبة لتفعيل ميزة الفوترة.
- استخدام طلبات تشغيل غير مُعتمَدة في Google Cloud Functions، التي يمكنك التحقّق منها من خلال تحديد ما إذا كانت مؤسستك في Google Cloud تستخدِم المشاركة المحظورة على النطاق
إذا لزم الأمر، اطلب من مشرف Google Cloud إذن الوصول أو الإذن.
في حال استخدام Google Cloud CLI، يجب توفُّر بيئة تطوير Node.js تم ضبطها للعمل مع gcloud CLI. اطّلِع على إعداد بيئة تطوير Node.js.
الأهداف
- أنشئ تطبيق Chat يستخدم الذكاء الاصطناعي التوليدي لمحاولة الإجابة عن الأسئلة استنادًا إلى المعرفة التي تتم مشاركتها في محادثات "مساحات Chat".
- باستخدام الذكاء الاصطناعي التوليدي:
- رصد أسئلة الموظفين والإجابة عنها
- الاطّلاع باستمرار على المعلومات من المحادثات الجارية في "مساحة Chat"
- الاستماع إلى الرسائل في مساحة Chat والرد عليها في الوقت الفعلي حتى إذا لم يتم إرسال رسائل إلى تطبيق Chat مباشرةً
- الاحتفاظ بالرسائل من خلال الكتابة إلى قاعدة بيانات Firestore والقراءة منها
- يمكنك تسهيل التعاون في مساحة Chat من خلال الإشارة إلى مديري المساحة عند عدم العثور على إجابة عن سؤال.
الهندسة المعمارية
يوضّح الرسم البياني التالي بنية Google Workspace و موارد Google Cloud التي يستخدمها "مساعِد المعلومات" المستنِد إلى الذكاء الاصطناعي في تطبيق Chat.
يعمل تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي على النحو التالي:
يضيف مستخدم تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي (AI) لطلب المعلومات إلى مساحة Chat:
يطلب تطبيق Chat من العميل الذي أضافه إلى مساحة Chat ضبط مصادقة العميل وتفويضه.
يُجلب تطبيق Chat رسائل المساحة من خلال استدعاء طريقة
spaces.messages.list
في Chat API، ثم يخزِّن الرسائل التي تم جلبها في قاعدة بيانات Firestore.يستدعي تطبيق Chat الأسلوب
subscriptions.create
في Google Workspace Events 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 الجواب عن طريق استدعاء الأسلوب
spaces.messages.create
في Chat API باستخدام مصادقة التطبيق.إذا تعذّر على Vertex AI مع Gemini الإجابة عن السؤال، ينشر تطبيق Chat رسالة تفيد بأنّه لا يمكنه العثور على إجابة عن هذا السؤال في سجلّ مساحة Chat.
تتضمّن الرسائل دائمًا زرّ إجراء إضافيًا يمكن للمستخدمين النقر عليه، ما يؤدي إلى إرسال تطبيق Chat إشارة @ إلى مدير المساحة لطلب الإجابة.
يتلقّى تطبيق Chat إشعارًا بشأن دورة الحياة من واجهة برمجة تطبيقات Google Workspace Events API يفيد بأنّ اشتراك مساحة Chat على وشك الانتهاء:
- يُرسِل تطبيق Chat طلبًا لتجديد
الاشتراك من خلال استدعاء طريقة
subscriptions.patch
في Google Workspace Events API.
- يُرسِل تطبيق Chat طلبًا لتجديد
الاشتراك من خلال استدعاء طريقة
تتم إزالة تطبيق Chat من مساحة Chat:
يحذف تطبيق Chat الاشتراك من خلال استدعاء الأسلوب
subscriptions.delete
في Google Workspace Events API.يحذف تطبيق Chat بيانات Chat المساحة من Firestore.
مراجعة المنتجات التي يستخدمها تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي لتوفير المعلومات
يستخدم تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي لطلب المساعدة منتجات Google Workspace وGoogle Cloud التالية:
- واجهة برمجة التطبيقات Vertex AI API مع Gemini: هي منصة للذكاء الاصطناعي التوليدي تستند إلى Gemini. يستخدم تطبيق Chat واجهة برمجة التطبيقات Vertex AI API مع Gemini لتحديد أسئلة الموظفين وفهمها والإجابة عنها.
-
Chat API:
هي واجهة برمجة تطبيقات لتطوير تطبيقات Google Chat التي تتلقّى أحداث التفاعل في Chat وتستجيب لها، مثل الرسائل. يستخدم تطبيق Chat المزوّد بخدمة مساعدة ذكية
في الذكاء الاصطناعي واجهة برمجة التطبيقات Chat API لتنفيذ ما يلي:
- تلقّي أحداث التفاعل المُرسَلة من خلال Chat والردّ عليها
- عرض قائمة بالرسائل المُرسَلة في مساحة
- نشر ردود على أسئلة المستخدمين في مساحة
- ضبط السمات التي تحدّد كيفية ظهورها في Chat، مثل الاسم والصورة الرمزية
- Google Workspace Events API: تتيح لك واجهة برمجة التطبيقات هذه الاشتراك في الأحداث وإدارة إشعارات التغييرات على مستوى تطبيقات Google Workspace. يستخدم تطبيق Chat المساعد المزوّد بذكاء اصطناعي واجهة برمجة التطبيقات Google Workspace Events API للاستماع إلى الرسائل المنشورة في مساحة Chat حتى يتمكّن من رصد الأسئلة والإجابة عنها حتى إذا لم تتم الإشارة إليه.
- Firestore: قاعدة بيانات مستندات لا تستخدِم خادمًا يستخدم تطبيق Chat مساحات Chat لخدمة الذكاء الاصطناعي (AI) لحفظ بيانات الرسائل المُرسَلة في مساحة Chat.
- Pub/Sub: Pub/Sub هي خدمة رسائل غير متزامنة وقابلة للتطوير تفصل الخدمات التي تُنشئ الرسائل عن الخدمات التي تعالج هذه الرسائل. يستخدم تطبيق Chat المساعد المزوّد بذكاء اصطناعي Pub/Sub لتلقّي أحداث الاشتراك من مساحات Chat.
- Eventarc: تسمح لك Eventarc بإنشاء تصاميم مستندة إلى الأحداث بدون الحاجة إلى تنفيذ البنية الأساسية أو تخصيصها أو صيانتها. يستخدم تطبيق Chat المزوّد بذكاء اصطناعي مساعد المعلومات، Eventarc لتوجيه الأحداث من Pub/Sub إلى مساحة Chat و Cloud Function التي تتلقّى أحداث الاشتراك وتعالجها.
-
Cloud Functions:
خدمة حوسبة بدون خادم خفيفة الوزن تتيح لك إنشاء
دوال مستقلة ذات غرض واحد يمكنها الاستجابة لأحداث تفاعل Chat
والاشتراك بدون الحاجة إلى إدارة بيئة خادم أو وقت تشغيل
يستخدم تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي (AI) لطلب المساعدة
وظيفتَي Cloud Functions باسمَي:
-
app
: استضافة نقطة نهاية HTTP التي تُرسِل Chat إليها أحداث التفاعل، واستخدامها كنظام أساسي لمعالجة المنطق الذي يعالج هذه الأحداث ويستجيب لها -
eventsApp
: لتلقّي أحداث مساحة Chat ومعالجتها، مثل الرسائل الواردة من اشتراك Pub/Sub
- Cloud Build: منصّة تكامل وتسليم ونشر مستمر مُدارة بالكامل تعمل على إنشاء إصدارات مبرمَجة.
- Cloud Run: بيئة مُدارة بالكامل لتشغيل التطبيقات المُضمَّنة في حاويات
-
إعداد البيئة
يوضّح هذا القسم كيفية إنشاء مشروع على Google Cloud وإعداده لتطبيق Chat.
إنشاء مشروع على Google Cloud
Google Cloud Console
- في Google Cloud Console، انتقِل إلى القائمة > المشرف وإدارة الهوية وإمكانية الوصول > إنشاء مشروع.
-
في حقل اسم المشروع، أدخِل اسمًا وصفيًا لمشروعك.
اختياري: لتعديل رقم تعريف المشروع، انقر على تعديل. لا يمكن تغيير معرّف المشروع بعد إنشاء المشروع، لذا اختَر معرّفًا يلبي احتياجاتك طوال مدّة المشروع.
- في حقل الموقع الجغرافي، انقر على تصفّح لعرض المواقع الجغرافية المحتملة لمشروعك. بعد ذلك، انقر على اختيار.
- انقر على إنشاء. تنتقل وحدة تحكّم Google Cloud إلى صفحة "لوحة البيانات" ويتم إنشاء مشروعك خلال بضع دقائق.
gcloud CLI
في إحدى بيئات التطوير التالية، يمكنك الوصول إلى Google Cloud
CLI (gcloud
):
-
Cloud Shell: لاستخدام وحدة طرفية على الإنترنت تم إعداد واجهة سطر أوامر gcloud CLI عليها، فعِّل Cloud Shell.
تفعيل Cloud Shell -
Shell المحلي: لاستخدام بيئة تطوير محلية،
ثبِّت
افتح
أداة gcloud CLI.
لإنشاء مشروع على Cloud، استخدِم الأمرgcloud projects create
: استبدِل PROJECT_ID بتحديد رقم تعريف المشروع الذي تريد إنشاؤه.gcloud projects create PROJECT_ID
تفعيل الفوترة لمشروع Cloud
Google Cloud Console
- في Google Cloud Console، انتقِل إلى الفوترة. انقر على القائمة > الفوترة > مشاريعي.
- في اختيار مؤسسة، اختَر المؤسسة المرتبطة بمشروعك على Google Cloud.
- في صف المشروع، افتح قائمة الإجراءات ( )، وانقر على تغيير الفوترة، واختَر حساب "الفوترة في السحابة الإلكترونية".
- انقر على ضبط الحساب.
gcloud CLI
- لعرض حسابات الفوترة المتاحة، يمكنك تنفيذ ما يلي:
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.
تفعيل واجهات برمجة التطبيقات
Google Cloud Console
في وحدة تحكّم Google Cloud، فعِّل Google Chat API وVertex AI API وCloud Functions API وFirestore API وCloud Build API وPub/Sub API وGoogle Workspace Events API وEventarc API وCloud Run Admin API.
تأكَّد من أنّك تفعّل واجهات برمجة التطبيقات في مشروع Cloud الصحيح، ثم انقر على التالي.
تأكَّد من تفعيل واجهات برمجة التطبيقات الصحيحة، ثم انقر على تفعيل.
gcloud CLI
إذا لزم الأمر، اضبط مشروع 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 Events 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 داخليًا، لذا يُسمح باستخدام معلومات العنصر النائب. قبل نشر تطبيق Google Chat خارجيًا، استبدِل معلومات العنصر النائب باطلاعات حقيقية لشاشة طلب الموافقة.
ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth وتحديد النطاقات وتسجيل تطبيقك
في وحدة تحكّم Google Cloud، انتقِل إلى القائمة > > العلامة التجارية.
إذا سبق لك ضبط ، يمكنك ضبط إعدادات شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth التالية في العلامة التجارية، شريحة الجمهور، والوصول إلى البيانات. إذا ظهرت لك رسالة تفيد بأنّه لم يتم ضبطه بعد، انقر على البدء:
- ضمن معلومات التطبيق، في اسم التطبيق، اكتب
AI knowledge assistant
. - في عنوان البريد الإلكتروني لفريق دعم المستخدمين، اختَر عنوان بريدك الإلكتروني أو مجموعة مناسبة في Google.
- انقر على التالي.
- ضمن الجمهور، اختَر داخلي. إذا لم تتمكّن من اختيار داخلي، اختَر خارجي.
- انقر على التالي.
- ضمن معلومات الاتصال، أدخِل عنوان بريد إلكتروني يمكن إعلامك من خلاله بأي تغييرات تطرأ على مشروعك.
- انقر على التالي.
- ضمن إنهاء، راجِع سياسة بيانات المستخدمين في خدمات Google API، وإذا كنت توافق عليها، انقر على أوافق على سياسة بيانات المستخدمين في خدمات Google API.
- انقر على متابعة.
- انقر على إنشاء.
- إذا اخترت خارجي لنوع المستخدم، أضِف مستخدمين تجريبيين:
- انقر على الجمهور.
- ضمن مستخدمو الاختبار، انقر على إضافة مستخدمين.
- أدخِل عنوان بريدك الإلكتروني وأي مستخدمين آخرين معتمَدين للاختبار، ثم انقر على حفظ.
- ضمن معلومات التطبيق، في اسم التطبيق، اكتب
انقر على الوصول إلى البيانات > إضافة نطاقات أو إزالتها. تظهر لوحة تتضمّن قائمة بالنطاقات لكل واجهة برمجة تطبيقات فعّلتها في مشروعك على Google Cloud.
ضمن إضافة النطاقات يدويًا، الصِق النطاق التالي:
https://www.googleapis.com/auth/chat.messages
انقر على الإضافة إلى الجدول.
انقر على تعديل.
بعد اختيار النطاقات المطلوبة لتطبيقك، انقر على حفظ في صفحة الوصول إلى البيانات.
إنشاء بيانات اعتماد معرِّف عميل OAuth
في وحدة تحكّم Google Cloud، انتقِل إلى القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
انقر على نوع التطبيق > تطبيق الويب.
في حقل الاسم، اكتب اسمًا لبيانات الاعتماد. ولا يظهر هذا الاسم إلا في "وحدة تحكّم Google Cloud".
ضمن معرّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه، انقر على إضافة معرّف الموارد المنتظم (URI).
في معرّفات الموارد المنتظمة 1، اكتب ما يلي:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
غيِّر القيم في السلسلة على الشكل التالي:
- REGION: منطقة Cloud Function، مثل
us-central1
. لاحقًا، عند إنشاء وظيفتَي Cloud Functions، عليك ضبط region على هذه القيمة. - PROJECT_ID: رقم تعريف المشروع لمشروع Cloud الذي أنشأته.
- REGION: منطقة Cloud Function، مثل
انقر على إنشاء.
من نافذة تم إنشاء عميل OAuth، انقر على تنزيل ملف JSON.
احفظ الملف الذي تم تنزيله باسم
client_secrets.json
. لاحقًا، عند إنشاء وظيفتَي Cloud Functions، يمكنك تضمين ملفclient_secrets.json
في كل عملية نشر.انقر على موافق.
إنشاء موضوع Pub/Sub
يعمل موضوع Pub/Sub مع Google Workspace Events API للاشتراك في الأحداث في مساحة Chat، مثل الرسائل وإرسال إشعارات إلى تطبيق Chat في الوقت الفعلي.
في ما يلي كيفية إنشاء موضوع Pub/Sub:
Google Cloud Console
في وحدة تحكّم Google Cloud، انتقِل إلى القائمة > Pub/Sub.
انقر على إنشاء موضوع.
في رقم تعريف الموضوع، اكتب
events-api
.أزِل العلامة من المربّع بجانب إضافة اشتراك تلقائي.
ضمن التشفير، اختَر مفتاح التشفير الذي تديره Google.
انقر على إنشاء. يظهر موضوع Pub/Sub.
لكي يعمل موضوع Pub/Sub وGoogle Workspace Events API معًا، منح مستخدم Chat IAM إذنًا بالنشر في موضوع Pub/Sub:
في لوحة events-api، ضِمن الأذونات، انقر على إضافة عنصر رئيسي.
ضمن إضافة عناصر أساسية، في عناصر أساسية جديدة، اكتب
chat-api-push@system.gserviceaccount.com
.ضمن إسناد الأدوار، في اختيار دور، اختَر Pub/Sub > ناشر Pub/Sub.
انقر على حفظ.
gcloud CLI
أنشئ موضوعًا على Pub/Sub باستخدام معرّف الموضوع
events-api
:gcloud pubsub topics create events-api
امنح مستخدم Chat IAM إذن النشر فيموضوع 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، مثل الرسائل، وتسترجعها. لا يتم تحديد ملف data
model، والذي يتم ضبطه بشكل ضمني في نموذج الرمز البرمجي من خلال الملفَين model/message.js
و
services/firestore-service.js
.
تستخدِم قاعدة بيانات تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي (AI) لطلب المعلومات نموذج بيانات NoSQL استنادًا إلى نموذج بيانات Firestore.
المستندات المُنظَّمة في المجموعات. لمزيد من المعلومات، يُرجى الاطّلاع علىيقدّم المخطّط البياني التالي نظرة عامة على نموذج بيانات "مساعد المعلومات بالذكاء الاصطناعي" في تطبيق Chat:
يحتوي الجذر على مجموعتَين:
spaces
، حيث يمثّل كل مستند مساحة Chat التي تتم إضافة تطبيق Chat إليها. يتم تمثيل كل رسالة بمستند في المجموعة الفرعيةmessages
.users
، حيث يمثّل كل مستند مستخدمًا أضاف تطبيق Chat إلى مساحة Chat.
عرض تعريفات المجموعات والمستندات والحقول
spaces
مساحة Chat تتضمّن تطبيق 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
المستخدمون الذين أضافوا تطبيق Chat الذي يستند إلى الذكاء الاصطناعي (AI) إلى مساحة Chat
الحقول | |
---|---|
Document ID | String المعرّف الفريد لمستخدم معيّن. |
accessToken | String رمز الوصول الذي تم منحه أثناء تفويض مستخدم OAuth 2.0 المستخدَم للاتصال بـ Google Workspace APIs |
refreshToken | String الرمز المميّز لإعادة التحميل الذي تم منحه أثناء تفويض مستخدم OAuth 2.0. |
في ما يلي كيفية إنشاء قاعدة بيانات Firestore:
Google Cloud Console
في وحدة تحكّم Google Cloud، انتقِل إلى القائمة > Firestore.
انقر على إنشاء قاعدة بيانات.
من اختيار وضع Firestore، انقر على الوضع المضمّن.
انقر على متابعة.
ضبط قاعدة البيانات:
في قسم تسمية قاعدة البيانات، اترك معرّف قاعدة البيانات على
(default)
.ضمن نوع الموقع الجغرافي، اختَر المنطقة.
في المنطقة، حدِّد منطقة لقاعدة بياناتك، مثل
us-central1
. للحصول على أفضل أداء، اختَر الموقع الجغرافي نفسه أو موقعًا قريبًا مماثلاً لـ Cloud Functions في تطبيق Chat.
انقر على إنشاء قاعدة بيانات.
gcloud CLI
أنشئ قاعدة بيانات Firestore في الوضع الأصلي:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
استبدِل LOCATION باسم منطقة Firestore، مثل
us-central1
. للحصول على أفضل أداء، اختَر الموقع الجغرافي نفسه أو موقعًا قريبًا من موقع Cloud Functions في تطبيق Chat.
إنشاء تطبيق Chat ونشره
بعد إنشاء مشروعك على Google Cloud وضبطه، تكون مستعدًا لإنشاء ونشر تطبيق Chat. في هذا القسم، عليك تنفيذ الخطوات التالية:
- أنشئ وظيفتَي Cloud Functions ونشرهما. أحدهما للردّ على أحداث تفاعل Chat ، والآخر للردّ على أحداث Pub/Sub.
- أنشئ تطبيق Chat ونشره في صفحة إعدادات Google Chat API.
إنشاء دوال Cloud ونشرها
في هذا القسم، يمكنك إنشاء ونشر دالتَي Cloud Functions باسمَي:
-
app
: يستضيف ويشغّل رمز تطبيق Chat الذي يستجيب للأحداث التي يتم تلقّيها من Chat كطلبات HTTP. -
eventsApp
: لتلقّي أحداث مساحة Chat ومعالجتها، مثل الرسائل الواردة من Pub/Sub
تشكل وظائف Cloud هذه معًا قاعدة تطبيق "مساعد المعلومات بالذكاء الاصطناعي" لتطبيق Chat.
يمكنك اختياريًا قبل إنشاء وظائف Cloud، تخصيص بعض الوقت لمراجعة ملف نموذج الرمز البرمجي المستضاف على GitHub والتعرّف عليه.
إنشاء app
ونشره
Google Cloud Console
نزِّل الرمز البرمجي من GitHub كملف مضغوط.
استخرِج ملف 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.
انقر على
إنشاء دالة.في صفحة إنشاء دالة، اضبط إعدادات الدالة:
- في البيئة، اختَر وظيفة Cloud Run.
- في اسم الدالة، اكتب
app
. - في المنطقة، اختَر منطقة، مثل
us-central1
. يجب أن تتطابق هذه المنطقة مع المنطقة التي ضبطتها في معرّف الموارد المنتظم (URI) المُصرَّح به لإعادة التوجيه عند إنشاء بيانات اعتماد معرّف عميل OAuth للمصادقة والتفويض. - في نوع العامل المشغِّل، اختَر HTTPS.
- ضمن المصادقة، اختَر السماح بطلبات التنفيذ غير المعتمَدة.
- انقر على التالي.
في وقت التشغيل، اختَر Node.js 20.
في نقطة الدخول، احذف النص التلقائي وأدخِل
app
.في رمز المصدر، اختَر تحميل ملفات بتنسيق ZIP.
في حزمة الوجهة، أنشئ أو اختَر حزمة:
- انقر على تصفّح.
- اختَر حزمة.
- انقر على اختيار.
تحمِّل Google Cloud ملف ZIP إلى حزمة التخزين هذه وتستخرج منه الملفات المكوّنة. بعد ذلك، تنسخ Cloud Functions ملفات المكوّنات إلى دالة Cloud.
في ملف ZIP، حمِّل ملف ZIP الذي نزّلته من GitHub واستخرجته وأعدته للضغط:
- انقر على تصفّح.
- انتقِل إلى ملف zip واختَره.
- انقر على فتح.
انقر على نشر.
يتم فتح صفحة تفاصيل دوال Cloud، وتظهر دالة مع اثنين من مؤشرات التقدّم: أحدهما للإنشاء والآخر للخدمة. عندما يختفي مؤشّرَا التقدّم ويتم استبدالهما بعلامة تمييز، يعني ذلك أنّه تم نشر وظيفتك وأنّها جاهزة.
عدِّل الرمز البرمجي النموذجي لضبط الثوابت:
- في صفحة تفاصيل دالة السحابة الإلكترونية، انقر على تعديل.
- انقر على التالي.
- في الرمز المصدر، اختَر المحرِّر المضمّن.
- في المحرِّر المضمّن، افتح ملف
env.js
وعدِّله:- اضبط قيمة project على رقم تعريف مشروعك على Cloud.
- اضبط قيمة location على
منطقة دالة Cloud Function،
مثل
us-central1
.
انقر على نشر.
gcloud CLI
استنسِخ الرمز من GitHub:
git clone https://github.com/googleworkspace/google-chat-samples.git
انتقِل إلى الدليل الذي يحتوي على رمز تطبيق Chat المزوّد بخدمة مساعدة مستندة إلى الذكاء الاصطناعي:
cd google-chat-samples/node/ai-knowledge-assistant
في الدليل
google-chat-samples/node/ai-knowledge-assistant
، أضِف ملفclient_secrets.json
الذي نزّلته عند إنشاء بيانات اعتماد معرّف عميل OAuth للمصادقة والتفويض.عدِّل ملف
env.js
لضبط متغيّرات البيئة:- اضبط قيمة project على معرّف مشروعك على Cloud.
- اضبط قيمة location على
منطقة دالة Cloud Function، مثل
us-central1
.
يمكنك نشر "وظيفة السحابة الإلكترونية" على Google Cloud باتّباع الخطوات التالية:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticated
استبدِل REGION بقيمة المنطقة لوظيفة Cloud Function لمطابقة القيمة التي تم ضبطها في ملف
env.js
، مثلus-central1
.
إنشاء eventsApp
ونشره
Google Cloud Console
في وحدة تحكّم Google Cloud، انتقِل إلى القائمة > Cloud Functions.
تأكَّد من اختيار مشروع Google Cloud لتطبيق Chat.
انقر على
إنشاء دالة.في صفحة إنشاء دالة، اضبط إعدادات الدالة:
- في البيئة، اختَر وظيفة Cloud Run.
- في اسم الدالة، اكتب
eventsApp
. - في المنطقة، اختَر منطقة، مثل
us-central1
. يجب أن تتطابق هذه المنطقة مع المنطقة التي ضبطتها في معرّف الموارد المنتظم (URI) المُصرَّح به لإعادة التوجيه عند إنشاء بيانات اعتماد معرّف عميل OAuth للمصادقة والتفويض. - في نوع المشغِّل، اختَر 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.
، انقر على منح الكل. - انقر على التالي.
في وقت التشغيل، اختَر Node.js 20.
في نقطة الدخول، احذف النص التلقائي وأدخِل
eventsApp
.في الرمز المصدر، اختَر Zip من Cloud Storage.
في موقع Cloud Storage، انقر على تصفّح.
اختَر الحزمة التي حمّلت ملف zip إليها عند إنشاء
app
Cloud Function.انقر على ملف ZIP الذي حمّلته.
انقر على اختيار.
انقر على نشر.
يتم فتح صفحة تفاصيل دوال Cloud، وتظهر دالة مع ثلاثة مؤشرات للتقدّم: مؤشر للإنشاء، ومؤشر للخدمة، ومؤشر للعامل المشغِّل. عندما تختفي مؤشرات التقدّم الثلاثة ويحلّ محلّها علامة اختيار، يعني ذلك أنّه تم نشر الدالة وأنّها جاهزة.
عدِّل الرمز البرمجي النموذجي لضبط الثوابت:
- في صفحة تفاصيل دالة السحابة الإلكترونية، انقر على تعديل.
- انقر على التالي.
- في الرمز المصدر، اختَر المحرِّر المضمّن.
- في المحرِّر المضمّن، افتح ملف
env.js
وعدِّله:- اضبط قيمة project على رقم تعريف مشروعك على Cloud.
- اضبط قيمة location على
منطقة دالة Cloud Function،
مثل
us-central1
.
انقر على نشر.
gcloud CLI
في gcloud CLI، إذا لم تكن في هذا الدليل، انتقِل إليه، وهو يحتوي على رمز تطبيق Chat الذي يستند إلى الذكاء الاصطناعي والذي سبق أن صعّدته من GitHub:
cd google-chat-samples/node/ai-knowledge-assistant
في الدليل
google-chat-samples/node/ai-knowledge-assistant
، أضِف ملفclient_secrets.json
الذي نزّلته عند إنشاء بيانات اعتماد معرّف عميل OAuth للمصادقة والتفويض.عدِّل ملف
env.js
لضبط متغيّرات البيئة:- اضبط قيمة project على معرّف مشروعك على Cloud.
- اضبط قيمة location على
منطقة دالة Cloud Function، مثل
us-central1
.
يمكنك نشر "وظيفة السحابة الإلكترونية" على Google Cloud باتّباع الخطوات التالية:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-api
استبدِل REGION بقيمة المنطقة لوظيفة Cloud Function لمطابقة القيمة التي تم ضبطها في ملف
env.js
، مثلus-central1
.
انسخ عنوان URL لعامل تشغيل app
Cloud Function.
يمكنك لصق عنوان URL لبدء app
Cloud Function في القسم التالي
عند
ضبط تطبيق Chat في Google Cloud Console.
Google Cloud Console
في وحدة تحكّم Google Cloud، انتقِل إلى القائمة > Cloud Functions.
في عمود الاسم ضمن قائمة "دوات Cloud"، انقر على رمز
app
.انقر على عبارة التشغيل.
انسخ عنوان URL.
gcloud CLI
وصف دالة
app
في السحابة الإلكترونية:gcloud functions describe app
انسخ السمة
url
.
ضبط تطبيق Chat في Google Cloud Console
يوضّح هذا القسم كيفية ضبط Chat API في Google Cloud Console باستخدام معلومات عن تطبيق Chat، بما في ذلك اسم تطبيق Chat وعنوان URL المشغِّل لوظيفة Chat في Cloud التي يُرسِل إليها أحداث التفاعل في Chat.
في وحدة تحكّم Google Cloud، انقر على القائمة > المزيد من المنتجات > Google Workspace > مكتبة المنتجات > Google Chat API > إدارة > الإعداد.
في حقل اسم التطبيق، اكتب
AI knowledge assistant
.في عنوان URL للصورة الرمزية، اكتب
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.في حقل الوصف، اكتب
Answers questions with AI
.انقر على مفتاح التبديل تفعيل الميزات التفاعلية لتفعيل هذا الخيار.
ضمن الوظيفة، اختَر الانضمام إلى المساحات والمحادثات الجماعية.
ضمن إعدادات الاتصال، اختَر عنوان URL لنقطة نهاية HTTP.
في عنوان URL لنقطة نهاية HTTP، الصِق عنوان URL للعامل المشغِّل من
app
Cloud Function بالتنسيق التالي:https://
REGION-
PROJECT_ID.cloudfunctions.net/app
حيث يكون REGION هو منطقة Cloud Function، مثلus-central1
وPROJECT_ID هو معرّف المشروع لمشاريع Cloud التي أنشأتها.ضمن مستوى الرؤية، اختَر إتاحة تطبيق Chat هذا لأشخاص ومجموعات معيّنة في نطاق Workspace وأدخِل عنوان بريدك الإلكتروني.
اختياريًا، ضمن السجلّات، اختَر تسجيل الأخطاء في السجلّ.
انقر على حفظ. تظهر رسالة "تم حفظ الإعدادات"، ما يعني أنّ تطبيق Chat جاهز للاختبار.
اختبار تطبيق Chat
يمكنك اختبار تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي (AI) في مساحة Chat التي تتضمّن رسائل من خلال طرح أسئلة يمكن لتطبيق Chat المزوّد بخدمة الذكاء الاصطناعي (AI) الإجابة عنها.
في ما يلي بعض الطرق لاختبار ميزة "مساعد المعلومات" المستند إلى الذكاء الاصطناعي في تطبيق Chat:
- أضِف تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي (AI) إلى مساحة 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 التي أنشأتها.
أضِف تطبيق Chat المزوّد بخدمة الذكاء الاصطناعي (AI) لمساعدتك في الحصول على المعلومات:
في شريط إنشاء الرسائل، اكتب
@AI knowledge assistant
وفي قائمة الاقتراحات التي تظهر، اختَر ميزة "مساعد المعلومات بالذكاء الاصطناعي" تطبيق Chat، ثم اضغط علىenter
.تظهر رسالة تطلب منك تحديد ما إذا كنت تريد إضافة تطبيق Chat المزوّد بخدمة المساعد الذكي المعنيّ بالمعرفة إلى المساحة. انقر على الإضافة إلى المساحة.
إذا كانت هذه هي المرة الأولى التي تضيف فيها تطبيق Chat إلى مساحة، عليك ضبط إعدادات المصادقة والتفويض لتطبيق Chat:
- انقر على ضبط.
- ستفتح نافذة أو علامة تبويب متصفّح جديدة تطلب منك اختيار حساب Google. اختَر الحساب الذي تختبِر معه.
- راجِع الأذونات التي يطلبها تطبيق Chat المزوّد بخدمة "مساعد المعلومات الذكي". لمنح الإذن، انقر على السماح.
- ستظهر رسالة
You may close this page now.
. أغلِق نافذة المتصفّح أو علامتها التبويب وانتقِل إلى مساحة المحادثة.
طرح سؤال:
في شريط كتابة الرسائل، اكتب سؤالاً مثل:
What are Google Chat apps?
يقدّم تطبيق Chat إجابات من خلال ميزة "مساعد المعلومات" المستند إلى الذكاء الاصطناعي.
إذا لم تكن الإجابة دقيقة أو كافية، يمكنك اختياريًا النقر على
الحصول على مساعدة لتحسين سجلّ المحادثات في الذكاء الاصطناعي. يُشير تطبيق Chat إلى مدير مساحة ويطلب منه الإجابة عن السؤال. في المرة القادمة، ستعرف إجابة السؤال بمساعدة تطبيق Chat المزوّد بخدمة مساعدة ذكاء اصطناعي.
الاعتبارات وخيارات البنية البديلة والخطوات التالية
يراجع هذا القسم طرقًا أخرى يمكن من خلالها إنشاء تطبيق Chat المزوّد بخدمة مساعدة ذكاء اصطناعي.
Firestore أو Cloud Storage أو طلب عرض الرسائل في Chat API
ينصح هذا الدليل التعليمي بتخزين بيانات مساحة Chat، مثل
الرسائل في قاعدة بيانات Firestore لأنّ ذلك يُحسِّن الأداء مقارنةً
باستدعاء طريقة list
في مورد Message
باستخدام Chat API في كل مرة يجيب فيها
تطبيق Chat عن سؤال. بالإضافة إلى ذلك، يمكن أن يؤدي الاتصال بواجهة برمجة التطبيقات
list messages
بشكل متكرر إلى وصول
تطبيق Chat إلى حدود حصة واجهة برمجة التطبيقات.
ومع ذلك، إذا أصبح سجلّ المحادثات في مساحة Chat طويلاً جدًا، يمكن أن يصبح استخدام Firestore مكلفًا.
خدمة التخزين في السحابة الإلكترونية هي بديل لـ Firestore. تحصل كل مساحة يكون فيها تطبيق Chat مفعّلاً على عنصر خاص بها، وكل عنصر هو ملف نصي يحتوي على كل الرسائل في المساحة. تتمثل ميزة هذا النهج في أنّه يمكن إرسال المحتوى الكامل للملف النصي إلى Vertex AI باستخدام Gemini في آنٍ واحد، ولكنّ العيب هو أنّه يتطلّب المزيد من العمل لتعديل سجلّ المحادثات لأنّه لا يمكنك إلحاق عنصر بعنصر آخر في Cloud Storage، بل يمكنك استبداله فقط. لا يكون هذا النهج منطقيًا إذا كنت تعدِّل ملف سجلّ الرسائل بانتظام، ولكنّه سيكون خيارًا جيدًا إذا كنت تعدِّل ملف سجلّ الرسائل بشكل مجمّع بشكل دوري، مثلاً مرة واحدة في الأسبوع.
تحديد المشاكل وحلّها
عندما يعرض تطبيق Google Chat أو بطاقة خطأ، تظهر في واجهة Chat رسالة تفيد بأنّ "حدث خطأ". أو "تعذّرت معالجة طلبك". في بعض الأحيان، لا يعرض واجهة مستخدم Chat أي رسالة خطأ، ولكن ينتج عن تطبيق Chat أو البطاقة نتيجة غير متوقّعة. على سبيل المثال، قد لا تظهر رسالة البطاقة .
على الرغم من أنّه قد لا تظهر رسالة خطأ في واجهة مستخدم Chat، تتوفّر رسائل خطأ وصفية وبيانات السجلّ لمساعدتك في حلّ الأخطاء عند تفعيل تسجيل الأخطاء في تطبيقات Chat. للحصول على مساعدة في عرض الأخطاء وتصحيحها وتصحيح الأخطاء، يُرجى الاطّلاع على تحديد مشاكل Google Chat وحلّها.
تَنظيم
لتجنُّب تحمُّل رسوم على حسابك على Google Cloud مقابل موارد المستخدَمة في هذا الدليل التعليمي، ننصحك بحذف مشروع Cloud.
- في وحدة تحكّم Google Cloud، انتقِل إلى صفحة إدارة الموارد. انقر على القائمة > إدارة الهوية وإمكانية الوصول والمشرف > إدارة الموارد.
- في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف .
- في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف لحذف المشروع.
مواضيع ذات صلة
- إدارة المشاريع باستخدام Google Chat وVertex AI وFirestore
- الاستجابة للحوادث باستخدام Google Chat وVertex AI و"برمجة تطبيقات Google"