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

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

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

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

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

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

الأهداف

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

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

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

مخطّط بياني لبنية تطبيق Chat المزوّد بمساعِد المعرفة بالذكاء الاصطناعي

يعمل تطبيق 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 مع Gemini التحقّق ممّا إذا كانت الرسالة تتضمّن سؤالاً. في هذه الحالة، يجيب Gemini عن السؤال بالاستناد إلى سجلّ رسائل مساحة Chat المحفوظ في Firestore، ويُرسِل تطبيق Google Chat الرسالة إلى مساحة Chat. وإذا لم يحدث ذلك، فلا تردّ.

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

        إذا لم يتمكّن Vertex AI مع 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 لمساعد المعرفة المستنِد إلى الذكاء الاصطناعي

يستخدم تطبيق 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 للمساعد المعرفي المستنِد إلى الذكاء الاصطناعي Firestore لتخزين بيانات الرسائل المُرسَلة في "مساحة Chat".
  • النشر/الاشتراك: النشر/الاشتراك هي خدمة مراسلة غير متزامنة وقابلة للتطوّر تفصل بين الخدمات التي تنتج الرسائل عن الخدمات التي تعالج هذه الرسائل. يستخدم تطبيق Chat المزوّد بمساعِد المعرفة بالذكاء الاصطناعي ميزة النشر/الاشتراك لتلقّي فعاليات الاشتراكات من مساحات Chat.
  • Eventarc: تتيح لك Eventarc إنشاء بُنى تستند إلى الأحداث بدون الحاجة إلى تنفيذ البنية الأساسية الأساسية أو تخصيصها أو صيانتها. ويستخدم تطبيق Chat المزوّد بمساعِد المعرفة بالذكاء الاصطناعي Eventarc لتوجيه الأحداث من Pub/Sub إلى مساحة Chat، ووظيفة Cloud التي تتلقّى أحداث الاشتراك وتعالجها.
  • الوظائف السحابية: خدمة حوسبة خفيفة بدون خادم تتيح لك إنشاء وظائف مستقلة لغرض واحد يمكنها الاستجابة لأحداث التفاعل والاشتراكات في Chat بدون الحاجة إلى إدارة بيئة وقت تشغيل أو خادم. يستخدم تطبيق Chat المزوّد بمساعِد المعرفة المستنِد إلى الذكاء الاصطناعي دالتَين من دالات السحابة الإلكترونية المسماة:
    • app: يمكنك استضافة نقطة نهاية HTTP التي يرسل تطبيق Chat أحداث التفاعل إليها كنظام أساسي للحوسبة، وذلك من أجل تنفيذ منطق يعالج هذه الأحداث ويستجيب لها.
    • eventsApp: يتم تلقّي أحداث مساحة Chat ومعالجتها، مثل الرسائل الواردة من اشتراك في نشر/اشتراك.
    تستخدم خدمة Cloud Functions منتجات Google Cloud التالية لإنشاء موارد الحوسبة واستضافتها:

تحضير البيئة

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

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

وحدة التحكّم في Google Cloud

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

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

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

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

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

واجهة سطر الأوامر gcloud

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

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

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

وحدة التحكّم في Google Cloud

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

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

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

واجهة سطر الأوامر gcloud

  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. تأكَّد من تفعيل واجهات برمجة التطبيقات في مشروع Cloud الصحيح، ثمّ انقر على التالي.

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

واجهة سطر الأوامر gcloud

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

    gcloud config set project PROJECT_ID
    

    استبدِل PROJECT_ID برقم تعريف المشروع الخاص بالمشروع الذي أنشأته على السحابة الإلكترونية.

  2. يمكنك تفعيل Google Chat API وVertex AI API وCloud Functions API وFirestore API وCloud Build API وواجهة Pub/Sub، وواجهة برمجة التطبيقات 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. عند إنشاء دالتَي السحابة الإلكترونية لاحقًا، عليك ضبط المنطقة الخاصة بهما على هذه القيمة.
    • PROJECT_ID: رقم تعريف المشروع للمشروع الذي أنشأته على 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. لكي يعمل موضوع Pub/Sub وGoogle Workspace Events API معًا، يجب منح مستخدم Chat IAM الإذن بالنشر في موضوع النشر/الاشتراك:

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

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

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

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

واجهة سطر الأوامر gcloud

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

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

    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 المساعد للمعرفة المستنِدة إلى الذكاء الاصطناعي نموذج بيانات NoSQL استنادًا إلى المستندات المنظّمة في مجموعات. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج بيانات Firestore.

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

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

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

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

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

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

spaces

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

الحقول
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، انتقِل إلى القائمة > Firestore.

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

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

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

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

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

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

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

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

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

واجهة سطر الأوامر gcloud

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

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

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

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

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

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

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

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

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

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

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

عرض على GitHub

إنشاء ونشر app

وحدة التحكّم في Google Cloud

  1. قم بتنزيل الرمز من GitHub كملف ZIP.

    تنزيل ملف 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، انتقِل إلى القائمة > وظائف السحابة الإلكترونية.

    الانتقال إلى وظائف السحابة الإلكترونية

    احرص على اختيار مشروع Google Cloud لتطبيق Chat.

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

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

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

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

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

  12. في حزمة الوجهة، يمكنك إنشاء حزمة أو اختيارها:

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

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

  13. في ملف Zip، حمِّل ملف ZIP الذي نزّلته من GitHub واستخراجته ثمّ أعِد ضغطه:

    1. انقر على تصفّح.
    2. انتقل إلى الملف المضغوط وحدده.
    3. انقر على فتح.
  14. انقر على نشر.

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

  15. تحرير نموذج التعليمة البرمجية لتعيين الثوابت:

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

واجهة سطر الأوامر gcloud

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

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

    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 على رقم تعريف مشروعك على Google Cloud.
    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 بقيمة المنطقة في دالة Cloud لمطابقة المنطقة المحدّدة في ملف env.js، مثل us-central1.

إنشاء ونشر eventsApp

وحدة التحكّم في Google Cloud

  1. في وحدة تحكُّم Google 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 إلى رقم تعريف مشروعك على 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. في رمز المصدر، اختَر Zip from Cloud Storage.

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

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

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

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

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

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

  12. تحرير نموذج التعليمة البرمجية لتعيين الثوابت:

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

واجهة سطر الأوامر gcloud

  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 على رقم تعريف مشروعك على Google Cloud.
    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 بقيمة المنطقة في دالة Cloud لمطابقة المنطقة المحدّدة في ملف env.js، مثل us-central1.

انسخ عنوان URL لمشغِّل app Cloud Function.

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

وحدة التحكّم في Google Cloud

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

    الانتقال إلى وظائف السحابة الإلكترونية

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

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

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

واجهة سطر الأوامر gcloud

  1. وصف دالة السحابة الإلكترونية app:

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

ضبط تطبيق Chat في وحدة تحكّم Google Cloud

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

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

    الانتقال إلى إعدادات 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 إلى منطقة دالة Cloud، مثل us-central1 وPROJECT_ID هو رقم تعريف المشروع للمشروع الذي أنشأته على السحابة الإلكترونية.

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

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

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

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

يمكنك اختبار تطبيق Chat لمساعد المعرفة الخاص بالذكاء الاصطناعي في "مساحة Chat" تتضمّن رسائل من خلال طرح أسئلة يمكن لتطبيق Chat المساعد أن يجيب عنها.

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

  • يمكنك إضافة تطبيق Chat الذي يضم مساعد المعرفة بالذكاء الاصطناعي إلى مساحة 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 وفي قائمة الاقتراحات التي تظهر، اختَر تطبيق 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 المساعد للمعرفة عبر الذكاء الاصطناعي.

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

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

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

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

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

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

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

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

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

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

تَنظيم

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

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

    الانتقال إلى Resource Manager

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