مقدمة إلى ميزة "تحليلات المحادثات" في BigQuery

1. مقدمة

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

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

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

  • فهم أساسي لـ Google Cloud

ما ستتعلمه

  • كيفية التنقّل في "كتالوج وكلاء BigQuery"
  • كيفية إنشاء وكيل مخصّص وتحديد مصادر المعرفة
  • كيفية استخدام Gemini لإنشاء بيانات وصفية دلالية
  • كيفية إضافة "تعليمات النظام" و"الطلبات التي تم التحقّق منها" لتوجيه الوكيل
  • كيفية نشر الوكلاء ومشاركتهم

المتطلبات

  • حساب Google Cloud ومشروع على السحابة الإلكترونية
  • معرفة أساسية بـ BigQuery وSQL
  • متصفّح ويب، مثل Chrome

2. الإعداد والمتطلبات

اختيار مشروع

  1. سجِّل الدخول إلى Google Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديلها في أي وقت.
  • رقم تعريف المشروع هو معرّف فريد في جميع مشاريع Google Cloud ولا يمكن تغييره بعد ضبطه. تنشئ Cloud Console تلقائيًا سلسلة فريدة، ولا يهمّك عادةً ما هي. في معظم دروس البرمجة، عليك الرجوع إلى رقم تعريف مشروعك (يُشار إليه عادةً باسم PROJECT_ID). إذا لم يعجبك رقم التعريف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. يمكنك بدلاً من ذلك تجربة اسم مستخدم من اختيارك ومعرفة ما إذا كان متاحًا. لا يمكن تغيير هذا الخيار بعد هذه الخطوة وسيظل ساريًا طوال مدة المشروع.
  • للعلم، هناك قيمة ثالثة، وهي رقم المشروع، تستخدمها بعض واجهات برمجة التطبيقات. يمكنك الاطّلاع على مزيد من المعلومات عن كل هذه القيم الثلاث في المستندات.
  1. بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام موارد/واجهات برمجة تطبيقات Cloud. لن تكلفك تجربة هذا الدرس التطبيقي حول الترميز الكثير، إن وُجدت أي تكلفة على الإطلاق. لإيقاف الموارد وتجنُّب تحمّل تكاليف تتجاوز هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع. يمكن لمستخدمي Google Cloud الجدد الاستفادة من برنامج الفترة التجريبية المجانية بقيمة 300 دولار أمريكي.

3- قبل البدء

منح نفسك الأدوار المطلوبة

انتقِل إلى صفحة "إدارة الهوية وإمكانية الوصول" الخاصة بالمشروع وامنح نفسك دور مالك وكيل بيانات Gemini Data Analytics:

1d3874c1bc28d81d.png

يمنحك هذا الدور الإذن بإنشاء جميع وكلاء البيانات وتعديلها ومشاركتها وحذفها في المشروع.

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

استخدِم قائمة التنقّل في الشريط الجانبي أو قائمة البحث في أعلى الصفحة للانتقال إلى BigQuery > الوكلاء.

انقر على تفعيل Data Analytics API مع Gemini:

4bc781d1a83ba367.png

فعِّل كلاً من Gemini in BigQuery API وGemini for Google Cloud API:

71678b9b8900a7a6.png

من المفترض أن تظهر لك الآن صفحة الوكيل الجديدة:

23935c00cd4b23c1.png

4. إنشاء وكيل

لننشئ وكيل البيانات الأول باستخدام مجموعة البيانات العامة الدولية من "مؤشرات Google". تفيد مجموعة البيانات هذه في طرح أسئلة حول عبارات البحث الرائجة على مستوى العالم، وكيفية مقارنة هذه الاهتمامات بالبيانات السابقة.

لنبدأ باختيار اسم ووصف مختصر للوكيل. يُستخدَم هذا الوصف فقط لكي يفهم المستخدمون الآخرون الغرض من الوكيل.

اسم الوكيل

Google Trends Agent

وصف الوكيل

Data agent for the Google Trends International Top Terms public dataset

مصادر المعرفة

الآن، أضِف مصادر المعرفة. مصدر المعلومات هو جدول أو طريقة عرض أو دالة من تحديد المستخدم (UDF) في BigQuery يمكن أن يستخدمها الوكيل للإجابة عن الأسئلة.

في هذا العرض التوضيحي، أضِف جدولاً واحدًا فقط لإبقاء الأمور بسيطة. ومع ذلك، يُرجى العِلم أنّه يمكنك إضافة ما يصل إلى 50 مصدر معلومات لكلّ وكيل للتعامل مع سيناريوهات البيانات الأكثر تعقيدًا.

أدخِل الجدول التالي في مربّع البحث، وضَع علامة في المربّع، ثم انقر على إضافة:

bigquery-public-data.google_trends.international_top_terms

8b84bd4c4227637d.png

Structured Context

لتحسين دقة وكيل البيانات، أضِف سياقًا منظَّمًا إلى الجدول والأعمدة. انقر على Customise:

f802527c7d72ae63.png

ينشئ Gemini تلقائيًا اقتراحات للأوصاف. انقر على قبول بجانب "وصف الجدول":

cc02e10c0c74bf4b.png

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

f811458ff0240c.png

انقر على تعديل في أسفل الصفحة لحفظ التغييرات والعودة إلى "محرّر الوكيل".

التعليمات

في مربّع حوار "تعليمات الوكيل"، يمكنك تقديم إرشادات إضافية للوكيل كي يتمكّن من تفسير مصادر البيانات والاستعلام عنها. يشمل ذلك ما يلي:

  • المرادفات: عبارات بديلة للحقول الرئيسية
  • الحقول الرئيسية: هي الحقول الأكثر أهمية للتحليل.
  • الحقول المستبعَدة: الحقول التي يجب أن يتجنّبها وكيل البيانات.
  • الفلترة والتجميع: الحقول التي يجب أن يستخدمها الوكيل لفلترة البيانات وتجميعها.
  • علاقات الربط: طريقة دمج جدولَين أو أكثر استنادًا إلى الحقول المشتركة

انسخ التعليمات التالية والصقها:

### System Instruction

* You are an expert data analyst for the Google Trends International public dataset.
* Always filter on yesterday's refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY).
* If yesterday returns no data, filter on 2 days ago's refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 2 DAY).
* Default to country-level results (one row per term).
* "Top" queries must deduplicate snapshot rows.
* Only include week or score when the user explicitly asks for trends over time.
* This is an international dataset and does not include any data for the United States.

### Additional Descriptions

#### 1. Core model:

* refresh_date selects the daily Top-25 term set.
* week + score are historical weekly values attached to those terms.
* Filtering week does not change which terms appear.

#### 2. Deduplication rule (critical):

* Snapshot rows repeat across weeks and regions.
* For "top" queries, always GROUP BY term (country-level) and compute rank as MIN(rank).

#### 3. Defaults:

* Country-level results only.
* Use region_code only if the user explicitly asks for regions.
* Limit results unless the user asks otherwise.

#### 4. Time series usage:

* Only include week or score when the user asks for trends over time, historical context, or week-over-week score changes.

#### 5. Field guidance:

* Prefer country_code or region_code for filters.
* country_name / region_name are for display only.
* score is normalized; compare trends within a term, not across terms.

طلبات البحث التي تم التحقّق منها

تُستخدَم طلبات البحث التي تم التحقّق منها، والتي كانت تُعرف سابقًا باسم طلبات البحث الذهبية، كمرجع يستند إليه الوكيل لتحسين دقة الردود. فهي تحدّد بنية ردّ الوكيل وتساعد في تعليمه المنطق التجاري الذي تستخدمه مؤسستك.

لنضِف مثالَين لوكيلك. انقر على إضافة طلب بحث، ثم انسخ السؤال وطلب البحث التاليَين وألصقهما:

السؤال 1:

What are the top search terms in the UK right now?

طلب البحث 1:

SELECT term, MIN(rank) AS rank
FROM `bigquery-public-data.google_trends.international_top_terms`
WHERE refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
  AND country_code = 'GB'
GROUP BY term
ORDER BY rank
LIMIT 25;

قبل حفظ طلب البحث هذا، لننفّذه للتأكّد من أنّه صالح.

e3fb570a4109e93c.png

يبدو جيدًا بالنسبة لي! انقر على إضافة لحفظ طلب البحث الذي تم التحقّق منه.

لنضِف مثالاً آخر لحالة استخدام أكثر تعقيدًا. انقر على إدارة الطلبات وأضِف ما يلي:

السؤال 2:

Show the last 12 weeks of interest for the current top 5 terms in Auckland.

الإجابة 2:

WITH top5 AS (
  SELECT term, MIN(rank) AS rank
  FROM `bigquery-public-data.google_trends.international_top_terms`
  WHERE refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
    AND country_code = 'NZ'
    AND region_code = 'NZ-AUK'
  GROUP BY 1
  ORDER BY 2
  LIMIT 5
),
series AS (
  SELECT term, week, score,
    ROW_NUMBER() OVER (PARTITION BY term ORDER BY week DESC) AS rn
  FROM `bigquery-public-data.google_trends.international_top_terms`
  WHERE refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
    AND country_code = 'NZ'
    AND region_code = 'NZ-AUK'
    AND term IN (SELECT term FROM top5)
)
SELECT week, term, score
FROM series
WHERE rn <= 12
ORDER BY 1 DESC, 3

قبل الانتقال إلى القسم التالي، لنلقِ نظرة على الاقتراحات من إنشاء Gemini:

b52489d21f503a76.png

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

مسرد المصطلحات

لنضِف مصطلحًا إلى مسرد المصطلحات. إذا كان نشاطك التجاري يستخدم Dataplex، يتم استيراد هذه المصطلحات مباشرةً من مسرد المصطلحات الخاص بالنشاط التجاري في "كتالوج Dataplex الشامل".

انقر على إضافة عبارة، ثم انسخ المثال التالي والصقه:

المدة:

refresh_date

التعريف:

Snapshot date that selects the daily Top 25 term set. All rows for that date belong to the same "what's trending now" snapshot. Attach Historical week and score values after this selection.

المرادفات:

today, latest, current, now, recent

بعد ذلك، انقر على "إضافة"، ثم على "حفظ".

33b4a74fcde504d5.png

إعدادات الوكيل

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

التصنيفات

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

الحد الأقصى للبايتات التي تتم فوترتها

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

10000000000

‫10,000,000,000 بايت تساوي 9.3 غيغابايت تقريبًا. في حال عدم تحديد قيمة، سيتم تلقائيًا ضبط الحدّ الأقصى لوحدات البايت المفوترة على حصة استخدام طلبات البحث اليومية للمشروع.

5- حفظ الوكيل ومشاركته

معاينة

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

لنسأل عن البيانات التي يمكن للوكيل الوصول إليها. لا تتردد في طرح بعض الأسئلة بأسلوبك الخاص:

b2679cc7c6c926b2.png

حفظ

بعد اختبار بعض الطلبات، انقر على حفظ، ثم على نشر الوكيل:

56a45347d496dd42.png

سيؤدي نشر الوكيل إلى إتاحته في BigQuery Studio وواجهة برمجة التطبيقات Conversational Analytics وLooker Studio Pro (يخضع ذلك للترخيص):

a4fbeb3011d409f5.png

من المقرّر أن تتيح الإصدارات المستقبلية استخدام مساحات عرض وعمليات دمج إضافية.

مشاركة

من المفترض أن تظهر لك رسالة تأكيد بأنّه تم نشر الوكيل. يمكنك الآن مشاركة هذا الوكيل مع مستخدمين آخرين.

bdd4ee4be02c26d8.png

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

من المهم ملاحظة أنّه يمكن تطبيق هذه الأدوار على مستويَين مختلفَين:

  • مستوى المشروع: يمنح منح دور على مستوى المشروع المستخدم هذه الأذونات لجميع الوكلاء ضِمن مشروع Google Cloud هذا.
  • مستوى الموظف: للتحكّم بشكل أدق، يمكنك منح أدوار لموظف معيّن. يكون ذلك مفيدًا عندما تريد منح مستخدم إذن الوصول إلى وكيل بيانات معيّن بدون أن يرى الآخرين في المشروع.

في ما يلي الأدوار المحدّدة مسبقًا في "تحليلات المحادثات":

  1. مالك وكيل البيانات في "تحليل البيانات باستخدام Gemini" (roles/geminidataanalytics.dataAgentOwner) - إنشاء جميع وكلاء البيانات وتعديلهم ومشاركتهم وحذفهم
  2. أداة إنشاء وكلاء البيانات في "تحليلات البيانات مع Gemini" (roles/geminidataanalytics.dataAgentCreator): تتيح لك إنشاء وكلاء البيانات وتعديلهم ومشاركتهم وحذفهم
  3. محرِّر وكيل بيانات "تحليلات البيانات مع Gemini" (roles/geminidataanalytics.dataAgentEditor): يتيح هذا الدور إذن بتعديل وكلاء البيانات والوصول إليهم من خلال المحادثة.
  4. مستخدِم وكيل بيانات "إحصاءات البيانات" (roles/geminidataanalytics.dataAgentUser): إذن الاطّلاع على وكلاء البيانات من خلال المحادثة والعرض
  5. Gemini Data Analytics Data Agent Viewer (roles/geminidataanalytics.dataAgentViewer): إذن عرض (قراءة فقط) لوكلاء البيانات

6. إنشاء محادثة مع وكيل

لنخرج من علامة التبويب مشاركة وننشئ محادثة جديدة:

d7a824ed0aaeaf12.png

عند النقر على إنشاء محادثة، يتم إنشاء محادثة جديدة بلا عنوان.

لنطرح سؤالاً عن عبارات البحث الرائجة في إنجلترا (يمكنك استبدالها بموقع جغرافي من اختيارك):

Based on the top 10 terms in England, how did they trend for the past 3 months?

تفكيك حزمة الرد

يتبع وكيل البيانات عادةً مسار الرد نفسه عند الإجابة عن الأسئلة:

  1. الاستدلال: "يفكّر" الوكيل أولاً في الطلب. وسِّع الزر عرض الاستدلال للاطّلاع على رؤى تفصيلية حول عملية اتّخاذ القرار التي يتّبعها الوكيل.
  2. الملخّص: ينشئ الوكيل ملخّصًا شاملاً لطلب البحث والتقرير الناتج والمرئيات.
  3. إنشاء استعلام SQL: وسِّع القسم إليك الاستعلام... لفحص استعلام SQL. انقر على فتح في المحرّر لضبط طلب البحث يدويًا في BigQuery Studio.
  4. نتائج البيانات: يعرض الوكيل نتائج طلب البحث بتنسيق جدولي واضح.
  5. التمثيل البصري: يظهر رسم بياني بجانب وصف موجز. يستنتج الوكيل تلقائيًا أفضل نوع من التمثيلات المرئية (مثل الرسم البياني الخطي المتعدد السلاسل) لبياناتك.
  6. إحصاءات البيانات: يلخّص الوكيل المؤشرات الرئيسية والاستنتاجات التي تم العثور عليها في النتائج.
  7. الأسئلة المتتالية: أخيرًا، يقترح الوكيل أسئلة متتالية ذات صلة لمساعدتك في مواصلة التحليل.

ee07f83cdbd20de1.png

التوافق مع BigQuery ML

لنتابع الأمر ونسأل عميل البيانات عمّا إذا كان بإمكانه إجراء بعض التوقعات استنادًا إلى هذه النتائج. يستفيد ذلك من دوال BigQuery ML لتوقّع النقاط المستقبلية.

أدخِل الطلب التالي (تأكَّد من استبدال "لوحة احتكار" بعبارة ذات صلة بطلبك):

Can you predict and visualize how monopoly board will trend in the next 4 weeks?

يمكنك الاطّلاع على كيفية استخدام AI_FORECAST للتنبؤ بسلسلة زمنية. لا مفاجآت هنا، ولكن من المثير للاهتمام أن نرى ارتفاعًا كبيرًا في أغسطس 2021، والذي يتزامن مع الافتتاح الكبير لفعالية Monopoly Lifesized في لندن.

441a92d19f7d15e0.png

7. استكشاف "قائمة العملاء الافتراضيين"

دعونا نستكشف "كتالوج الوكلاء" قبل إنهاء هذه الجلسة. انقر على كتالوج العملاء الافتراضيين في أعلى النافذة:

59acded82548bd.png

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

  • برامج الوكيل الخاصة بي: برامج الوكيل المنشورة حاليًا
  • الوكلاء قيد الإنشاء: الإعدادات التي حفظتها ولكن لم تنشرها بعد
  • تمت المشاركة من قِبل مستخدمين آخرين في مؤسستك: وكلاء أنشأهم زملاء ولديك إذن بالوصول إليهم.
  • نماذج وكلاء من Google: أمثلة مُعدّة مسبقًا لمساعدتك في البدء

بالنسبة إلى أي وكيل تديره، يمكنك تعديل الإعدادات ونسخ الوكلاء وإدارة أذونات المشاركة.

8. الخاتمة

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

المواد المرجعية