1. قبل البدء
سيرشدك هذا الدرس التطبيقي حول الترميز إلى كيفية استخدام Conversational Analytics API (CA API) مع Looker وBigQuery لإنشاء تطبيق دردشة خاص بك لإجراء طلبات بحث عن البيانات. لتحقيق أقصى استفادة، يجب أن تكون على دراية بخدمات BigQuery وLooker ونماذج اللغات الكبيرة والوكلاء وPython.
ما ستتعلمه
بعد اتّباع هذا الدرس التطبيقي، ستتعرّف على ما يلي:
- كيفية استخدام "تحليلات المحادثات" مع Looker
- كيفية إعداد واستخدام تطبيق البدء السريع في Conversational Analytics Python (وطريقة عمل التطبيق)
- مزايا استخدام Looker في وضع النماذج الدلالية مع "التحليلات الحوارية"
المتطلبات
لإكمال هذا الدرس التطبيقي حول الترميز، ستحتاج إلى:
- مثيل Looker مثبَّت عليه حزمة Looker Block لبيانات الخصائص الديمغرافية في "متجر Play"
- إمكانية وصول واجهة برمجة التطبيقات والمطوّرين إلى نسخة Looker
- بيئة محلية مثبَّت عليها الإصدار 3.11 من Python أو إصدار أحدث وGit وgcloud
- مشروع على السحابة الإلكترونية تمّ إعداد أدوار إدارة الهوية وإمكانية الوصول هذه لحسابك:
roles/bigquery.dataViewerعارِض بيانات في BigQueryroles/bigquery.userمستخدم BigQueryroles/looker.instanceUserمستخدم نسخة Looker
2. إنشاء تطبيق محادثات وتجربته باستخدام BigQuery
لنبدأ أولاً بإعداد تطبيق التشغيل السريع لـ Conversational Analytics وتجربته باستخدام BigQuery كمصدر بيانات.
المصادقة على واجهات Cloud API وتفعيلها
- المصادقة محليًا باستخدام حسابك كمستخدم:
gcloud auth login
- فعِّل واجهات برمجة التطبيقات لمشروع على السحابة الإلكترونية. يُرجى استبدال
YOUR_PROJECT_IDبمعرّف مشروعك على Google Cloud:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- اضبط بيانات الاعتماد التلقائية للتطبيق (ADC) والفوترة:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
إعداد تطبيق Quickstart
- استنسِخ مستودع quickstart github في بيئتك المحلية. اطّلِع على مثال الأمر التالي أدناه:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- انتقِل إلى الدليل
ca-api-quickstartsالذي نسخته:
cd ca-api-quickstarts
- أنشئ ملف
secrets.tomlفي الدليل.streamlit. يجب أن يكونYOUR_LOOKER_CLIENT_IDوYOUR_LOOKER_CLIENT_SECRETهما معرّف عميل Looker وسر عميل Looker من مثيل Looker. يجب أن يكون محتوى الملف على النحو التالي:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
يمكنك استخدام مثال الأمر التالي لإنشاء الملف. احرص على استبدال القيم برقم تعريف مشروعك ومعرّف العميل وسر العميل:
cat > .streamlit/secrets.toml <<'EOF'
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
EOF
- ثبِّت متطلبات Python لتطبيق البدء السريع:
pip install -r requirements.txt
- شغِّل تطبيق البدء السريع:
streamlit run app.py
- افتح https://localhost:8501 في المتصفّح الذي تختاره.
تجربة تطبيق البدء السريع
أنت الآن في صفحة الوكلاء في تطبيق Quickstart. ليس لديك أي وكلاء بيانات متاحين.
- لننشئ الآن وكيل بيانات يتحدث مثل القرصان في نموذج إنشاء وكيل:
- اضبط حقل الاسم المعروض:
Pirate BQ Agent
- اضبط حقل تعليمات النظام:
You are a pirate. Answer questions like a pirate
- اختَر الخيار BigQuery.
- اضبط حقل المشروع:
bigquery-public-data
- اضبط حقل مجموعة البيانات:
google_trends
- اضبط حقل الجدول:
top_rising_terms
- انقر على إنشاء وكيل.
- لننتقل الآن إلى صفحة المحادثة من خلال قائمة التنقّل الرئيسية اليمنى. موظّف الدعم الذي أنشأناه حديثًا متاح للدردشة. لنبدأ محادثة بإضافة طلب/رسالة: "مرحبًا، كيف حالك؟"
- لنتعرّف الآن على بعض المعلومات حول مجموعة البيانات هذه: "ما هي المعلومات التي تتضمّنها مجموعة البيانات هذه؟"
- اطرح سؤالاً آخر، مثل:
- "ما هي المواقع الجغرافية في [أدخِل الولاية] التي تتضمّنها مجموعة البيانات؟"
- "هل يمكنك تزويدي ببيانات آخر أسبوعَين في [المدينة، الولاية؟]"
- "هل يمكنك إنشاء عرض مرئي؟"
لقد أجريت للتو محادثة متعدّدة الأدوار مع وكيل البيانات وبيانات BigQuery في تطبيق الدردشة الخاص بك.
3- تصميم نماذج لبياناتك واستكشافها في Looker
لننمذج الآن بيانات BigQuery نفسها ونستكشفها في Looker.
طلب البحث عن بيانات التعداد السكاني في BigQuery
ماذا يحدث عند الربط بمجموعة بيانات أكبر ذات صلة؟ سننشئ أولاً وكيلاً جديدًا.
- انتقِل مرة أخرى إلى نموذج إنشاء وكيل في صفحة الوكلاء.
- اضبط حقل الاسم المعروض:
BQ Census Agent
- اضبط حقل تعليمات النظام:
You are really excited about census data, you love learning about the demographics in your area because you want to come up with marketing campaigns for your company
- اختَر الخيار BigQuery.
- اضبط حقل المشروع:
bigquery-public-data
- اضبط حقل مجموعة البيانات:
census_bureau_acs
- اضبط حقل الجدول:
blockgroup_2018_5yr
- انقر على إنشاء وكيل.
- اطرح على الوكيل الذي تم إنشاؤه حديثًا السؤالَين التاليَين:
- "ما هي البيانات المتوفّرة لديك؟"
- "هل يمكنك عرض معاينة لبياناتي؟"
استخدام Looker لإنشاء نموذج لبيانات التعداد السكاني
سنستخدم الآن نموذج LookML لتحديد بيانات التعداد السكاني في BigQuery. سنحلّ المشاكل التي رأيناها للتو سابقًا.
- تسجيل الدخول إلى نسخة Looker
- انتقِل إلى ملفات حزمة بيانات ACS الديمغرافية من خلال الانتقال إلى قائمة التنقّل الرئيسية على اليمين، واختَر تطوير، ثمّ marketplace_acs_census-v2.
- لنلقِ نظرة على إحدى طرق العرض في Looker. افتح الدليل
imported_projectوالدليلacs_census-v2والدليلgeography. - أخيرًا، افتح ملف
cbsa.view. - في السطر 17، يمكننا أن نرى أنّ LookML ينشئ جدولاً مشتقًا. بعبارة أخرى، ينشئ هذا الرمز جدولاً جديدًا مدمجًا من خلال ضمّ مجموعتَي بيانات عامتَين من BigQuery، إحداهما تتضمّن بيانات التعداد والأخرى تتضمّن بيانات الحدود الجغرافية. تتيح لنا LookML الربط بين مجموعات بيانات متعددة من خلال إنشاء جدول مشتق دائم للاستعلام.
بالإضافة إلى ذلك، يتم تحديد عملية الربط في رمز قابل للتعديل (LookML) بدلاً من تعليمات النظام، ما يجعل عملية تطوير الوكيل أكثر قابلية للتوسّع. باستخدام LookML، يمكنك تحديد افتراضات وقيود معيّنة حول بياناتك لمساعدة المستخدمين أثناء التحدّث مع بياناتك من خلال وكيل بيانات.
استكشاف بيانات التعداد السكاني المستندة إلى نماذج Looker
لننفّذ استعلامًا سريعًا في "استكشاف" لتوضيح أنّ لدينا مصدر بيانات مركزيًا واحدًا للاستعلام.
- في قائمة التنقّل الرئيسية اليمنى، انقر على استكشاف، ثمّ على مربّع بيانات التعداد السكاني، ثمّ على الولاية والمقاطعة.
- اختَر المقياس التعليم > شهادة جامعية لمدة عامين.
- اختَر السمات التالية:
- الموقع الجغرافي > مجموعة الحظر
- الموقع الجغرافي > المحافظة > اسم المحافظة
- الموقع الجغرافي > الولاية > الولاية
- نفِّذ طلب البحث (أعلى يسار الصفحة)، وستلاحظ الآن أنّ أرقام تعريف المناطق الجغرافية هذه (المعروفة باسم "مجموعة المباني") مرتبطة الآن بسلاسل يمكن قراءتها.
- افتح علامة تبويب التصور وستظهر لك هذه البيانات في خريطة.
4. تجربة تطبيق محادثات مع Looker
لننشئ الآن وكيل بيانات لـ Looker.
- انتقِل إلى نموذج إنشاء وكيل في صفحة الوكيل لتطبيق التشغيل السريع:
- اضبط حقل الاسم المعروض:
Cartoon character data analyst
- اضبط حقل تعليمات النظام:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- انقر على Looker.
- اضبط حقل عنوان URL على عنوان URL لنسخة Looker: "https://...".
- اضبط حقل النموذج:
data_block_acs_bigquery
- اضبط حقل الاستكشاف:
cbsa
- انقر على إنشاء وكيل.
- انتقِل إلى صفحة المحادثة واختَر الوكيل الذي تم إنشاؤه حديثًا.
- لنبدأ محادثة بإضافة طلب/رسالة: "مرحبًا، كيف حالك؟"
- لنطلب من الوكيل وصف مجموعة البيانات: "ما هي البيانات المتوفّرة لديك؟"
- لنطرح بعض الأسئلة الأخرى:
- "ما هي المقاطعة في نيويورك التي تضمّ أكبر عدد من السكان؟"
- "ماذا عن أعلى نسبة من خرّيجي المدارس الثانوية للفرد؟"
- "هل يمكنك تزويدي بعدد السكان حسب الجنس والولاية؟"
- "أريد الاطّلاع على رسم بياني شريطي لأكثر 10 ولايات من حيث عدد السكان".
5- ما هي المهام الأخرى التي يمكن لتطبيق Quickstart تنفيذها؟
يمكنك الآن:
- إعداد تطبيق المحادثة على الجهاز
- إنشاء وكيل بيانات BigQuery ووكيل بيانات Looker
- إجراء محادثات مع وكلاء البيانات
- التعرّف على مزايا نمذجة المعاني في Looker كسياق لمحادثاتك
لنجرِّب إمكانات تطبيق البدء السريع الأخرى:
- أعِد تحميل صفحة الويب الخاصة بتطبيق التشغيل السريع وانتقِل إلى صفحة المحادثة.
- يمكنك الاطّلاع على محادثاتك السابقة مع جميع الرسائل ذات الصلة من وكيلَي BigQuery وLooker. لا يخزّن الواجهة الأمامية للتطبيق المحادثات أو الرسائل السابقة، بل يسترجعها من واجهة برمجة التطبيقات CA.
- انتقِل الآن إلى صفحة البرامج الوكيلة واختَر برنامج Looker الوكيل من القائمة.
- يمكنك تعديل إعدادات الوكيل أو حذفه إذا أردت ذلك. لا يتم تخزين أي وكلاء في الواجهة الأمامية للتطبيق.
6. تحديات اختيارية واستكشاف المزيد
يمكنك الاستفادة من هذه الفرصة للتعرّف على "إحصاءات المحادثات" وتطبيق التشغيل السريع، أو يمكنك تحدّي نفسك لتعديل تطبيق التشغيل السريع. يمكنك تجربة بعض الاقتراحات والتحديات التالية أو الانتقال إلى القسم الأخير.
التعرّف أكثر على واجهة برمجة التطبيقات CA وتطبيق التشغيل السريع
- مزيد من المعلومات حول تعليمات النظام التفصيلية للتحكّم في سلوك الوكيل
- إعداد وكيل بيانات آخر يشير إلى مجموعة بيانات جديدة في BigQuery
- ثبِّت حزمة Looker جديدة في مثيل Looker، وأنشئ وكيلاً، ووجِّهه إلى مجموعة بيانات Looker جديدة.
تحديات تعديل تطبيق Quickstart
- هل أنت على دراية بميزة تضمين Looker؟ إذا كان الأمر كذلك، جرِّب تضمين لوحة بيانات Looker داخل تطبيق التشغيل السريع. ننصحك باستخدام مكوّن iframe في Streamlit.
- ابحث عن مجموعة بيانات عامة تحتوي على عناوين URL للفيديوهات، وعدِّل منطق عرض المحادثة في التطبيق لعرض فيديو في المحادثة.
7. الخاتمة والنقاط الرئيسية
لقد وصلت إلى النهاية! لقد أنشأت تطبيق دردشة، وأنشأت وكلاء بيانات، وتحدّثت مع بياناتك باستخدام Conversational Analytics API. لنراجع بعض الإمكانات والمفاهيم الأساسية.
إمكانات "تحليلات المحادثات"
لقد تناولنا الكثير من إمكانات "الإحصاءات الحوارية"، مثل القدرة على:
- إنشاء وكلاء البيانات وتعديلهم وإدراجهم والحصول عليهم وحذفهم
- توجيه وكلاء البيانات إلى BigQuery أو Looker كمصدر بيانات
- إنشاء المحادثات وإدراجها والحصول عليها وعلى الرسائل الخاصة بها
- إنشاء مواصفات رسومات بيانية بتنسيق Vega لعرض مرئي غامر في المحادثات
- استخدام الرسائل السابقة في محادثة كسياق مفيد للرسائل المستقبلية
مزايا استخدام Looker مع CA API
توفّر Looker نمذجة دلالية مركزية وقابلة للاختبار ويمكن التحكّم فيها لبياناتك. بالإضافة إلى "الإحصاءات الحوارية"، يوفّر Looker طريقة قابلة للتوسّع لتوفير سياق لوكلاء البيانات.
الخطوات التالية
- يمكنك الاطّلاع على مستندات Conversational Analytics للحصول على المزيد من الأدلة والميزات وحالات الاستخدام.
- يمكنك البقاء على اطّلاع دائم على مستودع تطبيقات البدء السريع والمساهمة فيه.