الإجابة عن الأسئلة استنادًا إلى محادثات Chat باستخدام تطبيق Gemini AI Chat

يوضّح هذا الدليل التوجيهي كيفية إنشاء تطبيق Google Chat يجيب عن الأسئلة استنادًا إلى المحادثات في مساحات Chat باستخدام الذكاء الاصطناعي التوليدي المستنِد إلى Vertex AI with Gemini. يستخدم تطبيق Chat واجهة برمجة التطبيقات Google Workspace Events API بالإضافة إلى ميزة Pub/Sub للتعرّف على الأسئلة المنشورة في مساحات Chat والإجابة عنها في الوقت الفعلي، حتى في حال عدم ذكرها.

يستخدم تطبيق Chat جميع الرسائل المُرسَلة في المساحة كمصدر بيانات وقاعدة معارف: عندما يطرح شخص سؤالاً، يبحث تطبيق Chat عن الإجابات التي تمت مشاركتها سابقًا، ثم يشارك إجابتها. وفي حال عدم العثور على أي إجابة، يتم الإشارة إلى عدم إمكانية الإجابة. في كل إجابة، يمكن للمستخدمين النقر على زر الإجراء في أحد الأجهزة الملحقة من أجل الإشارة باستخدام @إلى مدير مساحة وطلب الإجابة. باستخدام Gemini AI، يعدّل تطبيق Google Chat قاعدة المعلومات ويطوّرها أثناء تدريبه باستمرار على المحادثات في المساحات التي يُضاف إليها.

في ما يلي طريقة عمل تطبيق Chat في مساحة إعداد الموظفين والدعم:

  • يؤدي ذكر تطبيق "مساعد المعرفة" المستنِد إلى الذكاء الاصطناعي إلى إضافته إلى مساحة.
    الشكل 1. يُضيف "تشارلي" تطبيق Chat للمساعد المتخصص في الذكاء الاصطناعي (AI) إلى مساحة Chat.
  • تطرح دانا سؤالاً.
    الشكل 2. تسأل "دانا" ما إذا كانت الشركة تقدّم تدريبًا على الخطابة أمام الجمهور.
  • يجيب تطبيق Chat المساعد المستنِد إلى الذكاء الاصطناعي (AI) عن السؤال.
    الشكل 3. يطلب تطبيق Chat، المساعد المستنِد إلى الذكاء الاصطناعي (AI) من Vertex AI with Gemini الإجابة عن سؤال "دانا" استنادًا إلى سجلّ المحادثات في مساحة Chat، ثم مشاركة الإجابة.

المتطلبات الأساسية

الأهداف

  • عليك إنشاء تطبيق على Chat يستخدم الذكاء الاصطناعي التوليدي للإجابة عن الأسئلة استنادًا إلى المعلومات التي تتم مشاركتها في محادثات "مساحة Chat".
  • باستخدام الذكاء الاصطناعي التوليدي:
    • اكتشاف أسئلة الموظفين والإجابة عنها
    • واصِل التعلّم باستمرار من المحادثات الجارية في مساحة Chat.
  • يمكنك الاستماع إلى الرسائل والرد عليها في مساحة Chat في الوقت الفعلي، حتى عندما لا يكون تطبيق Chat موجَّهًا للمراسلة بشكل مباشر.
  • الاحتفاظ بالرسائل عن طريق الكتابة إلى قاعدة بيانات Firestore والقراءة منها.
  • يمكنك تسهيل التعاون في "مساحة Chat" من خلال الإشارة إلى مدراء المساحات في حال عدم العثور على إجابة عن سؤال.

هندسة معمارية

يعرض المخطّط التالي بنية موارد Google Workspace وGoogle Cloud التي يستخدمها مساعد المعرفة المستنِد إلى الذكاء الاصطناعي في تطبيق Chat.

مخطَّط هندسة معمارية لتطبيق Chat من خلال ميزة "مساعد Google" المعرفية

يعمل تطبيق Chat المساعِد على المعرفة بالذكاء الاصطناعي على النحو التالي:

  • يضيف أحد المستخدمين تطبيق Chat لمساعد المعرفة الذي يعتمد على الذكاء الاصطناعي إلى مساحة Chat:

    1. يطلب تطبيق Chat من المستخدم الذي أضافه إلى "مساحة Chat" ضبط المصادقة والتفويض.

    2. يجلب تطبيق Chat رسائل المساحة من خلال استدعاء الطريقة spaces.messages.list في Chat API، ثم يخزِّن الرسائل التي تم جلبها في قاعدة بيانات Firestore.

    3. يستدعي تطبيق Chat طريقة subscriptions.create في Google Workspace Events API لبدء الاستماع إلى أحداث مثل الرسائل في المساحة. نقطة نهاية إشعارات الاشتراك هي موضوع نشر/اشتراك يستخدم Eventarc لإعادة توجيه الحدث إلى تطبيق Chat.

    4. ينشر تطبيق Chat رسالة مقدّمة إلى المساحة.

  • ينشر مستخدم في "مساحة Chat" رسالة:

    1. يتلقى تطبيق Chat الرسالة في الوقت الفعلي من موضوع النشر/الاشتراك.

    2. ويضيف تطبيق Chat الرسالة إلى قاعدة بيانات Firestore.

      وإذا عدّل المستخدم الرسالة أو حذفها لاحقًا، يتلقّى تطبيق Chat الحدث المعدّل أو المحذوف في الوقت الفعلي، ثم يعدّل الرسالة أو يحذفها في قاعدة بيانات Firestore.

    3. يرسل تطبيق Chat الرسالة إلى Vertex AI مع Gemini:

      1. تطلب رسالة الطلب من Vertex AI with Gemini التحقّق ممّا إذا كانت الرسالة تتضمّن سؤالاً. إذا كان الأمر كذلك، يجيب Gemini عن السؤال استنادًا إلى سجلّ الرسائل المحفوظ في مساحة Chat في Firestore، ويرسل تطبيق Google Chat الرسالة إلى مساحة Chat. وإذا لم يكن كذلك، لا تردّ.

      2. إذا أجاب Vertex AI with Gemini عن السؤال، سينشر تطبيق Chat الإجابة من خلال استدعاء طريقة spaces.messages.create في Chat API باستخدام مصادقة التطبيق.

        إذا لم يتمكّن Vertex AI with Gemini من الإجابة عن السؤال، سينشر تطبيق Chat رسالة تفيد بأنّه لا يمكنه العثور على إجابة عن هذا السؤال في سجلّ "مساحة Chat".

        تتضمّن الرسائل دائمًا زر إجراءات ملحق يمكن للمستخدمين النقر عليه، ما يؤدي إلى إشارة تطبيق Chat إلى مدير مساحة يطلب منهم الرد باستخدام @.

  • يتلقّى تطبيق Chat إشعارًا بشأن مراحل النشاط من Google Workspace Events API يفيد باقتراب موعد انتهاء صلاحية الاشتراك في "مساحة Chat":

    1. يرسل تطبيق Chat طلبًا لتجديد الاشتراك من خلال الاتّصال بطريقة subscriptions.patch في Google Workspace Events API.
  • تتم إزالة تطبيق Chat من مساحة Chat:

    1. يحذف تطبيق Chat الاشتراك من خلال استدعاء طريقة subscriptions.delete في Google Workspace Events API.

    2. يحذف تطبيق Chat بيانات مساحة Chat من Firestore.

مراجعة المنتجات التي يستخدمها تطبيق Chat من خلال ميزة الذكاء الاصطناعي (AI) المخصّصة للمعرفة

يستخدم تطبيق Chat المساعِد على المعرفة بالذكاء الاصطناعي (AI) منتجات Google Workspace وGoogle Cloud التالية:

  • Vertex AI API مع Gemini: منصة الذكاء الاصطناعي التوليدي المستندة إلى Gemini. يستخدم تطبيق Chat المساعد المستنِد إلى الذكاء الاصطناعي (AI) واجهة برمجة التطبيقات Vertex AI API للتعرّف على أسئلة الموظفين وفهمها والردّ عليها.
  • Chat API: واجهة برمجة تطبيقات لتطوير تطبيقات Google Chat التي تتلقّى أحداث التفاعل في Chat وتردّ عليها، مثل الرسائل. يستخدم تطبيق Chat للمساعد المطّلع على الذكاء الاصطناعي (AI) ميزة Chat API لإجراء ما يلي:
    • يمكنك تلقّي أحداث التفاعل التي ترسلها Chat والردّ عليها.
    • سرد الرسائل المُرسَلة في مساحة
    • نشر الردود على أسئلة المستخدمين في مساحة
    • يمكنك ضبط السمات التي تحدّد كيفية ظهور ملفك الشخصي في Chat، مثل الاسم والصورة الرمزية.
  • Google Workspace Events API: تتيح لك واجهة برمجة التطبيقات هذه الاشتراك في الأحداث وإدارة إشعارات التغيير في جميع تطبيقات Google Workspace. يستخدم تطبيق Chat، وهو مساعد المعرفة الخاص بالذكاء الاصطناعي، واجهة Google Workspace Events API للاستماع إلى الرسائل المنشورة في مساحة Chat حيث يمكنه رصد الأسئلة والإجابة عنها حتى في حال عدم ذكرها.
  • Firestore: قاعدة بيانات مستندات بدون خوادم يستخدم تطبيق Chat المساعد في معرفة الذكاء الاصطناعي (AI) Firestore لتخزين البيانات حول الرسائل المُرسَلة في "مساحة Chat".
  • النشر/الاشتراك: ميزة "النشر/الاشتراك" هي خدمة مراسلة غير متزامنة وقابلة للتوسّع، تفصل بين خدمات إنشاء الرسائل من الخدمات التي تعالج هذه الرسائل. يستخدم تطبيق Chat المساعِد على المعرفة بالذكاء الاصطناعي ميزة النشر/الاشتراك لتلقّي أحداث الاشتراك من مساحات Chat.
  • Eventarc: تتيح لك Eventarc إنشاء بُنى أساسية تستند إلى الأحداث بدون الحاجة إلى تنفيذ البنية الأساسية الأساسية أو تخصيصها أو صيانتها. يستخدم تطبيق Chat، وهو مساعد المعرفة الخاص بالذكاء الاصطناعي، Eventarc لتوجيه الأحداث من خدمة النشر/الاشتراك إلى مساحة Chat، ووظيفة Cloud التي تتلقّى أحداث الاشتراكات وتعالجها.
  • دوال Cloud: هي خدمة حوسبة خفيفة بدون خادم تتيح لك إنشاء وظائف مستقلة لغرض واحد يمكنها الاستجابة إلى أحداث التفاعل والاشتراك في Chat بدون الحاجة إلى إدارة خادم أو بيئة وقت التشغيل. يستخدم تطبيق Chat، وهو مساعد المعرفة الخاص بالذكاء الاصطناعي (AI)، وظيفتَين في السحابة الإلكترونية هما:
    • app: يمكنك استضافة نقطة نهاية HTTP التي يرسل إليها Chat أحداث التفاعل، وكنظام أساسي للحوسبة، لتنفيذ منطق يعالج هذه الأحداث ويستجيب لها.
    • eventsApp: يتم تلقّي أحداث مساحة Chat ومعالجتها، مثل الرسائل الواردة من اشتراك Pub/Sub.
    تستخدم Cloud Functions منتجات Google Cloud التالية لإنشاء موارد الحوسبة واستضافتها:
    • Cloud Build: هي منصّة متكاملة للدمج والعرض والنشر المتواصلَين والتي تعمل على تشغيل إصدارات مبرمَجة.
    • Cloud Run: بيئة مُدارة بالكامل لتشغيل التطبيقات المزوّدة بحاويات.

تهيئة البيئة

يوضّح هذا القسم كيفية إنشاء مشروع على Google Cloud وإعداده لتطبيق Chat.

إنشاء مشروع على Google Cloud

وحدة تحكُّم Google Cloud

  1. في Google Cloud Console، انتقِل إلى القائمة > إدارة الهوية وإمكانية الوصول والمشرف > إنشاء مشروع.

    الانتقال إلى صفحة إنشاء مشروع

  2. في حقل اسم المشروع، أدخِل اسمًا وصفيًا لمشروعك.

    اختياري: لتعديل رقم تعريف المشروع، انقر على تعديل. لا يمكن تغيير رقم تعريف المشروع بعد إنشاء المشروع، لذا اختَر معرّفًا يفي باحتياجاتك طوال فترة المشروع.

  3. في حقل الموقع الجغرافي، انقر على تصفّح لعرض المواقع الجغرافية المحتمَلة لمشروعك. بعد ذلك، انقر على اختيار.
  4. انقر على إنشاء. تنتقل وحدة التحكّم في Google Cloud إلى صفحة "لوحة البيانات" وسيتم إنشاء مشروعك في غضون بضع دقائق.

gcloud CLI

في إحدى بيئات التطوير التالية، يمكنك الوصول إلى واجهة سطر الأوامر في Google Cloud (`gcloud`):

  • Cloud Shell: لاستخدام وحدة طرفية على الإنترنت تم إعداد gcloud CLI عليها، فعِّل Cloud Shell.
    تفعيل Cloud Shell
  • Local Shell: لاستخدام بيئة تطوير محلية، عليك تثبيت initialize gcloud CLI.
    لإنشاء مشروع على السحابة الإلكترونية، استخدِم الأمر `gcloud project generate`:
    gcloud projects create PROJECT_ID
    استبدِل PROJECT_ID عن طريق ضبط رقم تعريف المشروع الذي تريد إنشاءه.

تفعيل الفوترة للمشروع على Google Cloud

وحدة تحكُّم Google Cloud

  1. في Google Cloud Console، انتقِل إلى الفوترة. انقر على القائمة > الفوترة > مشاريعي.

    الانتقال إلى صفحة "الفوترة في مشاريعي"

  2. في القسم اختيار مؤسسة، اختَر المؤسسة المرتبطة بمشروعك على Google Cloud.
  3. في صف المشروع، افتح قائمة الإجراءات ()، وانقر على تغيير الفوترة، واختَر حساب فوترة Cloud.
  4. انقر على ضبط الحساب.

gcloud CLI

  1. لإدراج حسابات الفوترة المتاحة، شغِّل:
    gcloud billing accounts list
  2. ربط حساب فوترة بمشروع على Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    استبدل ما يلي:

    • PROJECT_ID هو رقم تعريف المشروع للمشروع على Google Cloud الذي تريد تفعيل الفوترة له.
    • BILLING_ACCOUNT_ID هو رقم تعريف حساب الفوترة المطلوب ربطه بمشروع Google Cloud.

تفعيل واجهات برمجة التطبيقات

وحدة تحكُّم Google Cloud

  1. في Google Cloud Console، فعِّل واجهة 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.

    تفعيل واجهات برمجة التطبيقات

  2. تأكَّد من تفعيل واجهات برمجة التطبيقات في المشروع الصحيح على السحابة الإلكترونية، ثم انقر على التالي.

  3. تأكّد من تفعيل واجهات برمجة التطبيقات الصحيحة، ثم انقر على تفعيل.

gcloud CLI

  1. إذا لزم الأمر، اضبط المشروع الحالي على Google Cloud على المشروع الذي أنشأته:

    gcloud config set project PROJECT_ID
    

    استبدِل PROJECT_ID برقم تعريف المشروع الخاص بمشروع Cloud الذي أنشأته.

  2. فعِّل 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:

    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 خارجيًا، استبدِل معلومات العنصر النائب بمعلومات حقيقية لشاشة الموافقة.

  1. في وحدة تحكُّم Google Cloud، انتقِل إلى القائمة > واجهات برمجة التطبيقات والخدمات > شاشة موافقة OAuth.

    الانتقال إلى شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth

  2. ضمن نوع المستخدم، اختَر داخلي، ثم انقر على إنشاء.

  3. في اسم التطبيق، اكتب AI knowledge assistant.

  4. في البريد الإلكتروني لدعم المستخدم، اختَر عنوان بريدك الإلكتروني أو مجموعة مناسبة على Google.

  5. ضمن معلومات الاتصال بالمطوِّر، أدخِل عنوان بريدك الإلكتروني.

  6. انقر على حفظ ومتابعة.

  7. انقر على إضافة نطاقات أو إزالتها. تظهر لوحة تحتوي على قائمة بالنطاقات لكل واجهة برمجة تطبيقات تم تفعيلها في مشروعك على السحابة الإلكترونية.

  8. ضمن إضافة النطاقات يدويًا، الصِق النطاق التالي:

    • https://www.googleapis.com/auth/chat.messages
  9. انقر على إضافة إلى الجدول.

  10. انقر على تعديل.

  11. انقر على حفظ ومتابعة.

  12. راجع ملخص تسجيل التطبيق، ثم انقر على الرجوع إلى لوحة البيانات.

إنشاء بيانات اعتماد معرِّف عميل OAuth

  1. في وحدة تحكُّم Google Cloud، انتقِل إلى القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.

    الانتقال إلى بيانات الاعتماد

  2. انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.

  3. انقر على نوع التطبيق > تطبيق الويب.

  4. في حقل الاسم، اكتب اسمًا لبيانات الاعتماد. لا يظهر هذا الاسم إلا في وحدة تحكم Google Cloud.

  5. ضمن معرِّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه، انقر على إضافة معرِّف الموارد المنتظم (URI).

  6. في معرِّفات الموارد المنتظمة (URI) 1، اكتب ما يلي:

    https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
    

    استبدل ما يلي:

    • REGION: منطقة دالة السحابة، مثل us-central1. ولاحقًا، عند إنشاء دالّتَي Cloud، يجب ضبط منطقتها على هذه القيمة.
    • PROJECT_ID: رقم تعريف المشروع للمشروع على Google Cloud الذي أنشأته.
  7. انقر على إنشاء.

  8. من النافذة تم إنشاء عميل OAuth، انقر على تنزيل JSON.

  9. احفظ الملف الذي تم تنزيله باسم "client_secrets.json". لاحقًا، عند إنشاء دالّتَي Cloud، يمكنك تضمين ملف client_secrets.json في كل عملية نشر.

  10. انقر على موافق.

إنشاء موضوع النشر/الاشتراك

يعمل موضوع النشر/الاشتراك مع Google Workspace Events API للاشتراك في الأحداث في مساحة Chat مثل الرسائل وإشعار تطبيق Chat في الوقت الفعلي.

إليك كيفية إنشاء موضوع النشر/الاشتراك:

وحدة تحكُّم Google Cloud

  1. في وحدة التحكّم في Google Cloud، انتقِل إلى القائمة > النشر/الاشتراك.

    الانتقال إلى صفحة النشر/الاشتراك

  2. انقر على إنشاء موضوع.

  3. في معرّف الموضوع، اكتب events-api.

  4. ألغِ اختيار إضافة اشتراك تلقائي.

  5. ضِمن التشفير، اختَر مفتاح التشفير المُدار من Google.

  6. انقر على إنشاء. يظهر موضوع النشر/الاشتراك.

  7. لكي يعمل موضوع النشر/الاشتراك هذا وGoogle Workspace Events API معًا، عليك منح مستخدم "إدارة الهوية وإمكانية الوصول" في Chat الإذن بالنشر في موضوع النشر/الاشتراك:

    1. في لوحة events-api، ضمن events-api، انقر على events-api.

    2. ضمن إضافة العناصر الرئيسية، في قسم العناصر الرئيسية الجديدة، اكتب chat-api-push@system.gserviceaccount.com.

    3. ضِمن منح الأدوار، في اختيار دور، اختَر النشر/الاشتراك > ناشر النشر/الاشتراك.

    4. انقر على حفظ.

gcloud CLI

  1. إنشاء موضوع نشر/اشتراك باستخدام معرّف الموضوع events-api:

    gcloud pubsub topics create events-api
    
  2. امنح مستخدم Chat IAM الإذن بالنشر في موضوع النشر/الاشتراك:

    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.

تستخدم قاعدة بيانات تطبيق Chat للمساعد المعلوم بالذكاء الاصطناعي (AI) في Chat نموذج بيانات NoSQL استنادًا إلى المستندات التي يتم تنظيمها في مجموعات. لمعرفة المزيد من المعلومات، يُرجى الاطّلاع على نموذج بيانات Firestore.

يقدّم المخطّط التالي نظرة عامة على نموذج بيانات تطبيق Chat للمساعد المعرف بالذكاء الاصطناعي:

نموذج بيانات قاعدة بيانات Firestore.

يحتوي الجذر على مجموعتَين:

  1. spaces، حيث يمثّل كل مستند مساحة Chat يُضيف إليها تطبيق Chat. يتم تمثيل كل رسالة بمستند في المجموعة الفرعية messages.

  2. users، حيث يمثّل كل مستند مستخدمًا أضاف تطبيق Chat إلى "مساحة Chat".

عرض المجموعة والمستندات وتعريفات الحقول

spaces

مساحة Chat تتضمّن تطبيق Chat للمساعد المعارف بالذكاء الاصطناعي (AI)

الحقول
Document IDString
معرّف فريد لمساحة معيّنة جزء من اسم مورد المساحة في Chat API
messagesSubcollection of Documents (messages)
الرسائل المُرسَلة في "مساحة Chat" يتطابق مع Document ID لـ message في Firebase.
spaceNameString
الاسم الفريد للمساحة في Chat API يتطابق مع اسم مورد المساحة في Chat API.

messages

الرسائل المُرسَلة في "مساحة Chat"

الحقول
Document IDString
المعرّف الفريد لرسالة معيّنة
nameString
الاسم الفريد لرسالة في Chat API يتطابق مع اسم مورد الرسالة في Chat API.
textString
نص الرسالة
timeString (Timestamp format)
وقت إنشاء الرسالة

users

المستخدمون الذين أضافوا تطبيق Chat لمساعد المعرفة الخاص بالذكاء الاصطناعي إلى مساحة Chat

الحقول
Document IDString
المعرّف الفريد لمستخدم محدّد
accessTokenString
رمز الدخول الذي تم منحه أثناء تفويض المستخدم OAuth 2.0 المستخدم لطلب واجهات برمجة تطبيقات Google Workspace.
refreshTokenString
الرمز المميز لإعادة التحميل الذي يتم منحه أثناء تفويض مستخدم OAuth 2.0.

إليك كيفية إنشاء قاعدة بيانات Firestore:

وحدة تحكُّم Google Cloud

  1. في Google Cloud Console، انتقِل إلى القائمة > Firestore.

    الانتقال إلى Firestore

  2. انقر على إنشاء قاعدة بيانات.

  3. من اختيار وضع Firestore، انقر على الوضع الأصلي.

  4. انقر على متابعة.

  5. اضبط قاعدة البيانات:

    1. في تسمية قاعدة البيانات، اترك رقم تعريف قاعدة البيانات على أنّه (default).

    2. ضمن نوع الموقع الجغرافي، اختَر المنطقة.

    3. في المنطقة، حدِّد منطقة لقاعدة بياناتك، مثل us-central1. للحصول على أفضل أداء، اختَر الموقع الجغرافي نفسه أو قريب منه لوظائف السحابة الإلكترونية في تطبيق Chat.

  6. انقر على إنشاء قاعدة بيانات.

gcloud CLI

  • إنشاء قاعدة بيانات Firestore في الوضع الأصلي:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native
    

    استبدِل LOCATION باسم منطقة متجر أطعمة، مثل us-central1. للحصول على أفضل أداء، اختَر الموقع نفسه أو قريب منه لوظائف السحابة الإلكترونية في تطبيق Chat.

إنشاء تطبيق Chat ونشره

بعد الانتهاء من إنشاء مشروعك على Google Cloud وإعداده، يمكنك الآن إنشاء تطبيق Chat ونشره. في هذا القسم، يمكنك إجراء ما يلي:

  1. إنشاء دالتَي Cloud ونشرهما. الأول للرد على أحداث التفاعل في Chat والثاني للرد على أحداث النشر/الاشتراك.
  2. يمكنك إنشاء تطبيق Chat ونشره على صفحة إعداد Google Chat API.

إنشاء دوال Cloud ونشرها

في هذا القسم، يمكنك إنشاء ونشر دالّتَين من دوال السحابة الإلكترونية باسم:

  • app: يستضيف ويشغِّل الرمز البرمجي لتطبيق Chat الذي يستجيب للأحداث التي يتم تلقّيها من Chat كطلبات HTTP.
  • eventsApp: يتلقى ويعالج أحداث مساحة Chat، مثل الرسائل الواردة من النشر/الاشتراك.

تشكِّل دوال السحابة هذه معًا منطق تطبيق المساعد المعرفي لتطبيق Chat.

اختياريًا، قبل إنشاء دوال Cloud، يرجى تخصيص بعض الوقت لمراجعة والتعرف على نموذج الكود المستضاف على GitHub.

العرض على GitHub

إنشاء app ونشره

وحدة تحكُّم Google Cloud

  1. قم بتنزيل الرمز من GitHub كملف مضغوط.

    تنزيل ملف ZIP

  2. استخرِج ملف ZIP الذي تم تنزيله.

    يحتوي المجلد المستخرَج على مستودع نماذج Google Workspace بالكامل.

  3. في المجلد المُستخرَج، انتقِل إلى دليل google-chat-samples-main/node/ai-knowledge-assistant.

  4. في دليل google-chat-samples/node/ai-knowledge-assistant، أضِف ملف client_secrets.json الذي تم تنزيله عند إنشاء بيانات اعتماد معرِّف عميل OAuth للمصادقة والتفويض.

  5. اضغط محتوى المجلد 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/
  6. في Google Cloud Console، انتقِل إلى القائمة > وظائف Cloud.

    الانتقال إلى دوال Cloud

    تأكَّد من اختيار مشروع Google Cloud لتطبيق Chat.

  7. انقر على إنشاء دالة.

  8. في صفحة إنشاء دالة، عليك إعداد الدالة:

    1. في البيئة، اختَر الجيل الثاني.
    2. في اسم الدالة، اكتب app.
    3. في المنطقة، اختَر منطقة، مثل us-central1. يجب أن تتطابق هذه المنطقة مع المنطقة التي حدّدتها في معرّف الموارد المنتظم (URI) المعتمد لإعادة التوجيه عند إنشاء بيانات اعتماد معرّف عميل OAuth لإجراء المصادقة والترخيص.
    4. في نوع المشغِّل، اختر HTTPS.
    5. ضمن المصادقة، اختَر السماح باستدعاءات لم تتم مصادقتها.
    6. انقر على التالي.
  9. في وقت التشغيل، اختَر Node.js 20.

  10. في نقطة الإدخال، احذف النص التلقائي وأدخِل app.

  11. في رمز المصدر، اختر تحميل الرمز البريدي.

  12. في حزمة الوجهة، أنشئ مجموعة أو اختَرها:

    1. انقر على تصفّح.
    2. اختَر حزمة.
    3. النقر على اختيار

    تحمّل Google Cloud ملف ZIP إلى ملفات المكوّنات في هذه الحزمة واستخراجها. ثم تنسخ دوال السحابة ملفات المكون إلى دالة Cloud.

  13. في ملف Zip، قم بتحميل ملف zip الذي قمت بتنزيله من GitHub واستخراجه وإعادة ضغطه:

    1. انقر على تصفّح.
    2. انتقِل إلى ملف ZIP واختَره.
    3. انقر على فتح.
  14. انقر على نشر.

    ستفتح صفحة تفاصيل دوال السحابة، وستظهر الدالة مع مؤشرين للتقدّم: أحدهما للإصدار والآخر للخدمة. عندما يختفي مؤشرا التقدم ويتم استبدالهما بعلامة اختيار، يتم نشر الدالة وتكون جاهزة.

  15. عدّل نموذج الرمز لضبط الثوابت:

    1. في صفحة تفاصيل دالة Cloud، انقر على تعديل.
    2. انقر على التالي.
    3. في رمز المصدر، اختَر أداة التعديل المضمّنة.
    4. في المحرِّر المضمَّن، افتح ملف env.js وعدِّله:
      1. اضبط قيمة project على رقم تعريف مشروعك على Google Cloud.
      2. اضبط قيمة location على المنطقة الخاصة بالدالة Cloud، مثل us-central1.
  16. انقر على نشر.

gcloud CLI

  1. استنسِخ الرمز من GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. يمكنك التبديل إلى الدليل الذي يحتوي على الرمز الخاص بتطبيق Chat للمساعد المعارف بالذكاء الاصطناعي (AI) هذا:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  3. في دليل google-chat-samples/node/ai-knowledge-assistant، أضِف ملف client_secrets.json الذي تم تنزيله عند إنشاء بيانات اعتماد معرِّف عميل OAuth للمصادقة والتفويض.

  4. عدِّل ملف env.js لضبط متغيرات البيئة:

    1. اضبط قيمة project على رقم تعريف مشروعك على السحابة الإلكترونية.
    2. اضبط قيمة location على المنطقة الخاصة بالدالة Cloud، مثل us-central1.
  5. نشر دالة السحابة الإلكترونية على Google Cloud:

    gcloud functions deploy app \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=app \
    --trigger-http \
    --allow-unauthenticated
    

    استبدِل REGION بقيمة المنطقة الخاصة بدالة السحابة الإلكترونية لمطابقة المجموعة المحدّدة في ملف env.js، مثل us-central1.

إنشاء eventsApp ونشره

وحدة تحكُّم Google Cloud

  1. في Google Cloud Console، انتقِل إلى القائمة > وظائف Cloud.

    الانتقال إلى دوال Cloud

    تأكَّد من اختيار مشروع Google Cloud لتطبيق Chat.

  2. انقر على إنشاء دالة.

  3. في صفحة إنشاء دالة، عليك إعداد الدالة:

    1. في البيئة، اختَر الجيل الثاني.
    2. في اسم الدالة، اكتب eventsApp.
    3. في المنطقة، اختَر منطقة، مثل us-central1. يجب أن تتطابق هذه المنطقة مع المنطقة التي حدّدتها في معرّف الموارد المنتظم (URI) المعتمد لإعادة التوجيه عند إنشاء بيانات اعتماد معرّف عميل OAuth لإجراء المصادقة والترخيص.
    4. في نوع المشغِّل، اختر Cloud Pub/Sub.
    5. في موضوع Cloud Pub/Sub، اختَر اسم موضوع النشر/الاشتراك الذي أنشأته، بالتنسيق projects/PROJECT/topics/events-api حيث يكون PROJECT هو رقم تعريف مشروعك على Google Cloud.
    6. إذا ظهرت لك رسالة تبدأ إلى Service account(s) might not have enough permissions to deploy the function with the selected trigger.، انقر على منح الكل.
    7. انقر على التالي.
  4. في وقت التشغيل، اختَر Node.js 20.

  5. في نقطة الإدخال، احذف النص التلقائي وأدخِل eventsApp.

  6. في رمز المصدر، اختر الرمز البريدي من Cloud Storage.

  7. في موقع Cloud Storage، انقر على Browse (تصفُّح).

  8. اختَر الحزمة التي حمّلت ملف ZIP إليها عند إنشاء دالة app السحابية.

  9. انقر على ملف ZIP الذي حمّلته.

  10. النقر على اختيار

  11. انقر على نشر.

    ستفتح صفحة تفاصيل دوال السحابة، وستظهر الدالة مع ثلاثة مؤشرات مستوى: أحدها للإصدار، وواحد للخدمة، وواحد للمشغّل. عندما تختفي مؤشرات التقدم الثلاثة ويتم استبدالها بعلامة اختيار، يتم نشر الدالة وتكون جاهزة.

  12. عدّل نموذج الرمز لضبط الثوابت:

    1. في صفحة تفاصيل دالة Cloud، انقر على تعديل.
    2. انقر على التالي.
    3. في رمز المصدر، اختَر أداة التعديل المضمّنة.
    4. في المحرِّر المضمَّن، افتح ملف env.js وعدِّله:
      1. اضبط قيمة project على رقم تعريف مشروعك على Google Cloud.
      2. اضبط قيمة location على المنطقة الخاصة بالدالة Cloud، مثل us-central1.
  13. انقر على نشر.

gcloud CLI

  1. في gcloud CLI، إذا لم تكن هناك، بدِّل إلى الدليل الذي يحتوي على الرمز لتطبيق Chat هذا المساعد للمعرفة بالذكاء الاصطناعي الذي نسخته سابقًا من GitHub:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  2. في دليل google-chat-samples/node/ai-knowledge-assistant، أضِف ملف client_secrets.json الذي تم تنزيله عند إنشاء بيانات اعتماد معرِّف عميل OAuth للمصادقة والتفويض.

  3. عدِّل ملف env.js لضبط متغيرات البيئة:

    1. اضبط قيمة project على رقم تعريف مشروعك على السحابة الإلكترونية.
    2. اضبط قيمة location على المنطقة الخاصة بالدالة Cloud، مثل us-central1.
  4. نشر دالة السحابة الإلكترونية على Google Cloud:

    gcloud functions deploy eventsApp \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=eventsApp \
    --trigger-topic=events-api
    

    استبدِل REGION بقيمة المنطقة الخاصة بدالة السحابة الإلكترونية لمطابقة المجموعة المحدّدة في ملف env.js، مثل us-central1.

نسخ عنوان URL لمشغِّل دالة app السحابية

ألصِق عنوان URL لمشغِّل دالة app Cloud في القسم التالي عند ضبط تطبيق Chat في Google Cloud Console.

وحدة تحكُّم Google Cloud

  1. في Google Cloud Console، انتقِل إلى القائمة > وظائف Cloud.

    الانتقال إلى دوال Cloud

  2. في عمود الاسم من قائمة دوال السحابة، انقر على app.

  3. انقر على عامل التشغيل.

  4. انسخ عنوان URL.

gcloud CLI

  1. وصف دالة Google Cloud في app:

    gcloud functions describe app
    
  2. انسخ السمة url.

ضبط تطبيق Chat في Google Cloud Console

يعرض هذا القسم كيفية إعداد واجهة برمجة التطبيقات Chat API في وحدة تحكُّم Google Cloud باستخدام معلومات عن تطبيق Chat، بما في ذلك اسم التطبيق في Chat وعنوان URL المشغِّل لوظيفة Cloud في تطبيق Chat الذي يتم إرسال أحداث التفاعل في Chat إليه.

  1. في Google Cloud Console، انقر على القائمة > المزيد من المنتجات > Google Workspace > مكتبة المنتجات > واجهة برمجة تطبيقات Google Chat > إدارة > الإعداد.

    الانتقال إلى إعدادات Chat API

  2. في اسم التطبيق، اكتب AI knowledge assistant.

  3. في عنوان URL للصورة الرمزية، اكتب https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg.

  4. في الوصف، اكتب Answers questions with AI.

  5. انقر على زر التبديل تفعيل الميزات التفاعلية لتفعيل الميزة.

  6. ضمن الوظائف، اختَر الانضمام إلى المساحات والمحادثات الجماعية.

  7. ضمن إعدادات الربط، اختَر عنوان URL للتطبيق.

  8. في عنوان URL للتطبيق، الصِق عنوان URL المشغِّل من app دالة السحابة الإلكترونية المنسّقة على النحو التالي: https://REGION-PROJECT_ID.cloudfunctions.net/app حيث أنّ REGION هي المنطقة التي تتوفّر فيها دالة السحابة الإلكترونية، مثل us-central1 وPROJECT_ID هو رقم تعريف المشروع للمشروع الذي أنشأته على السحابة الإلكترونية.

  9. ضمن إذن الوصول، اختَر إتاحة تطبيق Chat هذا لمستخدمين محدَّدين ومجموعات محدَّدة في نطاق Workspace وأدخِل عنوان بريدك الإلكتروني.

  10. اختياريًا، ضمن السجلات، اختر تسجيل الأخطاء إلى التسجيل.

  11. انقر على حفظ. ستظهر رسالة تم حفظ الإعدادات فيها، ما يعني أنّ تطبيق Chat جاهز للاختبار.

اختبار تطبيق Chat

يمكنك اختبار تطبيق Chat، وهو مساعد المعرفة الخاص بالذكاء الاصطناعي في مساحة Chat، من خلال طرح أسئلة يمكن لتطبيق Chat الإجابة عنها باستخدام مساعِد المعرفة المستنِد إلى الذكاء الاصطناعي.

في ما يلي بعض الطرق لاختبار تطبيق Chat للمساعد المعرف بالذكاء الاصطناعي:

  • يمكنك إضافة تطبيق Chat لمساعد المعرفة الذي يتم إنشاؤه عبر الذكاء الاصطناعي (AI) إلى مساحة Chat حالية وطرح أسئلة ذات صلة بتلك المساحة.
  • أنشِئ مساحة في Chat وانشر بضع رسائل لاستخدامها كمصدر للبيانات. يمكن الحصول على الرسائل من Gemini مع طلب مثل Answer 20 common onboarding questions employees ask their teams.، أو يمكنك لصق بضع فقرات من دليل نظرة عامة على التطوير باستخدام Chat ثم طرح أسئلة حول ذلك.

في هذا البرنامج التعليمي، يمكننا إنشاء مساحة Chat ولصق بضع فقرات من دليل نظرة عامة حول التطوير باستخدام Chat.

  1. افتح Google Chat.

    الانتقال إلى Google Chat

  2. إنشاء "مساحة Chat":

    1. انقر على محادثة جديدة > إنشاء مساحة.

    2. في اسم المساحة، اكتب Testing AI knowledge assistant app.

    3. ضمن ما الغرض من هذه المساحة؟، انقر على التعاون.

    4. ضمن إعدادات الوصول، اختَر مَن يمكنه الوصول إلى المساحة.

    5. انقر على إنشاء.

  3. إضافة رسائل لاستخدامها كمصدر للبيانات:

    1. في متصفح ويب، يمكنك الانتقال إلى دليل نظرة عامة حول التطوير باستخدام Chat.

    2. انسخ محتوى الدليل والصقه في مساحة Chat التي أنشأتها.

  4. إضافة تطبيق Chat لمساعد المعرفة المستند إلى الذكاء الاصطناعي:

    1. في خانة إنشاء الرسالة، اكتب @AI knowledge assistant وفي قائمة الاقتراحات التي تظهر، اختَر المساعد المعرفي من الذكاء الاصطناعي (AI) وتطبيق Chat، ثم اضغط على enter.

    2. ستظهر رسالة تسألك عما إذا كنت تريد إضافة تطبيق Chat للمساعد المعرف بالذكاء الاصطناعي إلى المساحة. انقر على الإضافة إلى المساحة.

    3. إذا كانت هذه هي المرة الأولى التي تضيف فيها تطبيق Chat إلى مساحة، عليك ضبط المصادقة والتفويض لتطبيق Chat:

      1. انقر على ضبط.
      2. يتم فتح نافذة متصفح أو علامة تبويب جديدة تطلب منك اختيار حساب Google. اختر الحساب الذي تريد الاختبار باستخدامه.
      3. راجِع الأذونات التي يطلبها تطبيق Chat من خلال مساعد المعرفة الخاص بالذكاء الاصطناعي. ولمنحهم الإذن، انقر على سماح.
      4. ستظهر رسالة نصها You may close this page now.. أغلِق نافذة المتصفح أو علامة التبويب وارجع إلى مساحة Chat.
  5. طرح سؤال:

    1. في خانة إدخال الرسالة، اكتب سؤالاً مثل What are Google Chat apps?

    2. يجيب تطبيق Chat المساعد المعرفي من الذكاء الاصطناعي (AI).

    3. إذا لم تكن الإجابة دقيقة أو كافية، للمساعدة في تحسين سجلّ المحادثات من خلال الذكاء الاصطناعي، انقر على الحصول على مساعدة. يذكر تطبيق Chat للمساعد المعلوم بالذكاء الاصطناعي (AI) مدير مساحة ويطلب منه الإجابة عن السؤال. في المرّة القادمة، سيعرف تطبيق Chat المساعِد على الذكاء الاصطناعي الإجابة.

الاعتبارات والخيارات الهندسية البديلة والخطوات التالية

يراجع هذا القسم الطرق الأخرى التي يمكن من خلالها إنشاء تطبيق Chat للمساعد المعرف بالذكاء الاصطناعي.

Firestore أو Cloud Storage أو رسائل قوائم المكالمات في Chat API

ينصح هذا الدليل التعليمي بتخزين بيانات مساحات Chat، مثل الرسائل في قاعدة بيانات Firestore، لأنّ ذلك يحسّن الأداء مقارنةً باستدعاء طريقة list على مورد Message باستخدام Chat API في كل مرة يجيب فيها تطبيق Chat عن سؤال. بالإضافة إلى ذلك، قد يؤدي استدعاء list messages بشكل متكرر إلى بلوغ تطبيق Chat الحدود القصوى لحصة واجهة برمجة التطبيقات.

ومع ذلك، إذا أصبح سجلّ المحادثات في مساحة Chat طويلاً جدًا، قد يصبح استخدام Firestore مكلفًا.

إنّ خدمة Cloud Storage هي بديل لأداة Firestore. تحصل كل مساحة نشطة فيها تطبيق Chat للذكاء الاصطناعي (AI) على عنصر، ويكون كل عنصر ملفًا نصيًا يحتوي على جميع الرسائل في المساحة. بالإضافة إلى ذلك، يمكن إدخال المحتوى الكامل للملف النصي في Vertex AI مع Gemini في الوقت نفسه، إلّا أنّ تعديل سجلّ المحادثات يتطلّب مزيدًا من العمل لأنّه لا يمكنك إلحاقه بعنصر على Cloud Storage، بل يجب استبداله فقط. لا يكون هذا المنهج منطقيًا إذا كنت تعدّل سجلّ الرسائل بشكل منتظم، ولكن من الأفضل أن تُجري تعديلاً مجمّعًا لسجلّ الرسائل بشكل دوري (على سبيل المثال، مرة واحدة في الأسبوع).

تحديد المشاكل وحلّها

عندما يعرض أحد تطبيقات Google Chat أو بطاقة رسالة خطأ، تعرض واجهة Chat رسالة مفادها "حدث خطأ" أو "تعذّرت معالجة طلبك". في بعض الأحيان، لا تعرض واجهة مستخدم Chat أي رسالة خطأ، ولكن يعرض تطبيق Chat أو البطاقة نتيجة غير متوقعة. على سبيل المثال، قد لا تظهر رسالة بطاقة.

على الرغم من أنّه قد لا تظهر رسالة الخطأ في واجهة مستخدم Chat، تتوفّر رسائل الخطأ الوصفية وبيانات السجلّ لمساعدتك في إصلاح الأخطاء عند تفعيل تسجيل الأخطاء في تطبيقات Chat. للحصول على مساعدة في عرض الأخطاء وتصحيحها وتصحيحها، يُرجى الاطّلاع على مقالة تحديد وحلّ مشاكل Google Chat.

تَنظيم

لتجنّب دفع رسوم من حسابك على Google Cloud مقابل الموارد المستخدمة في هذا البرنامج التعليمي، ننصحك بحذف المشروع على Google Cloud.

  1. في Google Cloud Console، انتقِل إلى صفحة إدارة الموارد. انقر على القائمة > إدارة الهوية وإمكانية الوصول والمشرف > إدارة الموارد.

    الانتقال إلى "مدير الموارد"

  2. في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف .
  3. في مربّع الحوار، اكتب معرّف المشروع، ثم انقر على إيقاف التشغيل لحذف المشروع.