إنشاء تطبيق دردشة باستخدام "إحصاءات المحادثات" وLooker

1. قبل البدء

سيرشدك هذا الدرس العملي خلال استخدام Conversational Analytics API (CA API) مع Looker لإنشاء تطبيق دردشة خاص بك لإرسال طلبات البحث عن البيانات. لتحقيق أقصى استفادة، يجب أن تكون على دراية بخدمات BigQuery وLooker ونماذج اللغات الكبيرة والوكلاء ولغة Python.

ما ستتعلمه

بعد اتّباع هذا الدرس التطبيقي، ستتعرّف على ما يلي:

  • كيفية استخدام "تحليلات المحادثات" مع Looker
  • كيفية إعداد تطبيق Conversational Analytics Python للبدء السريع واستخدامه (وكيفية عمل التطبيق)
  • مزايا استخدام Looker في وضع النماذج الدلالية مع "التحليلات الحوارية"

المتطلبات

لإكمال هذا الدرس التطبيقي، ستحتاج إلى:

  • مثيل Looker مثبَّت عليه وحدة ASC Demographic Data Looker Block
  • إمكانية وصول واجهة برمجة التطبيقات والمطوّرين إلى نسخة Looker
  • بيئة محلية مثبَّت عليها الإصدار 3.11 من Python أو إصدار أحدث وGit وgcloud
  • مشروع على السحابة الإلكترونية تمّ إعداد أدوار إدارة الهوية وإمكانية الوصول هذه لحسابك:
  • roles/bigquery.dataViewer عارِض بيانات في BigQuery
  • roles/bigquery.user مستخدم BigQuery
  • roles/looker.instanceUser مستخدم نسخة Looker

2. إنشاء تطبيق دردشة وتجربته باستخدام BigQuery

لنبدأ أولاً بإعداد تطبيق Conversational Analytics Quickstart وتجربته باستخدام BigQuery كمصدر بيانات.

مصادقة واجهات Cloud API وتفعيلها

  1. المصادقة محليًا باستخدام حساب المستخدم:
gcloud auth login
  1. فعِّل واجهات برمجة التطبيقات لمشروع Cloud. يُرجى استبدال YOUR_PROJECT_ID بمعرّف مشروعك على Google Cloud:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
  1. اضبط بيانات الاعتماد التلقائية للتطبيق (ADC) والفوترة:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID

إعداد تطبيق Quickstart

  1. استنسِخ مستودع quickstart github في بيئتك المحلية. اطّلِع على مثال الأمر التالي أدناه:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
  1. انتقِل إلى دليل ca-api-quickstarts الذي نسخته:
cd ca-api-quickstarts
  1. أنشئ ملف 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
  1. ثبِّت متطلبات Python لتطبيق البدء السريع:
pip install -r requirements.txt
  1. شغِّل تطبيق البدء السريع:
streamlit run app.py
  1. افتح https://localhost:8501 في المتصفّح الذي تختاره.

تجربة تطبيق البدء السريع

أنت الآن في صفحة الوكلاء في تطبيق Quickstart. ليس لديك أي وكلاء بيانات متاحين.

  1. لننشئ الآن وكيل بيانات يتحدث مثل القرصان في نموذج إنشاء وكيل:
  2. اضبط حقل الاسم المعروض:
Pirate BQ Agent
  1. اضبط حقل تعليمات النظام:
You are a pirate. Answer questions like a pirate
  1. اختَر الخيار BigQuery.
  2. اضبط حقل المشروع:
bigquery-public-data
  1. اضبط حقل مجموعة البيانات:
google_trends
  1. اضبط حقل الجدول:
top_rising_terms
  1. انقر على إنشاء وكيل.
  1. لننتقل الآن إلى صفحة المحادثة من خلال قائمة التنقّل الرئيسية اليمنى. موظّف الدعم الذي أنشأناه حديثًا متاح للدردشة. لنبدأ محادثة بإضافة طلب/رسالة: "مرحبًا، كيف حالك؟"
  2. لنتعرّف الآن على بعض المعلومات حول مجموعة البيانات هذه: "ما هي المعلومات التي تتضمّنها مجموعة البيانات هذه؟"
  1. اطرح سؤالاً آخر، مثل:
  2. "ما هي المواقع الجغرافية في [أدخل الولاية] المتوفّرة في مجموعة البيانات؟"
  3. "هل يمكنك تزويدي بالبيانات الخاصة بآخر أسبوعَين في [المدينة، الولاية؟]"
  4. "هل يمكنك إنشاء عرض مرئي؟"

لقد أجريت للتو محادثة متعدّدة الأدوار مع وكيل البيانات وبيانات BigQuery في تطبيق الدردشة الخاص بك.

3- تصميم نماذج لبياناتك واستكشافها في Looker

لننمذج الآن بيانات BigQuery نفسها ونستكشفها في Looker.

طلب البحث عن بيانات التعداد السكاني في BigQuery

ماذا يحدث عند الربط بمجموعة بيانات أكبر ذات صلة؟ سننشئ أولاً وكيلاً جديدًا.

  1. انتقِل مرة أخرى إلى نموذج إنشاء وكيل في صفحة الوكلاء.
  2. اضبط حقل الاسم المعروض:
BQ Census Agent
  1. اضبط حقل تعليمات النظام:
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
  1. اختَر الخيار BigQuery.
  2. اضبط حقل المشروع:
bigquery-public-data
  1. اضبط حقل مجموعة البيانات:
census_bureau_acs
  1. اضبط حقل الجدول:
blockgroup_2018_5yr
  1. انقر على إنشاء وكيل.
  2. اطرح على الوكيل الذي تم إنشاؤه حديثًا هذين السؤالين:
  3. "ما هي البيانات المتوفّرة لديك؟"
  4. "هل يمكنك عرض معاينة لبياناتي؟"

استخدام Looker لإنشاء نموذج لبيانات التعداد السكاني

سنستخدم الآن نموذج LookML لتحديد بيانات التعداد السكاني في BigQuery. سنحلّ المشاكل التي رأيناها للتو سابقًا.

  1. تسجيل الدخول إلى نسخة Looker
  2. انتقِل إلى ملفات حزمة بيانات ACS الديمغرافية من خلال الانتقال إلى قائمة التنقّل الرئيسية على يمين الصفحة، واختَر تطوير، ثمّ marketplace_acs_census-v2.
  3. لنلقِ نظرة على إحدى طرق عرض Looker. افتح الدليل imported_project والدليل acs_census-v2 والدليل geography.
  4. أخيرًا، افتح ملف cbsa.view.
  5. في السطر 17، يمكننا أن نرى أنّ LookML ينشئ جدولاً مشتقًا. بعبارة أخرى، ينشئ هذا الرمز جدولاً جديدًا مدمجًا من خلال ضمّ مجموعتَي بيانات عامتَين من BigQuery، إحداهما تتضمّن بيانات التعداد والأخرى تتضمّن بيانات الحدود الجغرافية. تتيح لنا LookML الربط بين مجموعات بيانات متعددة من خلال إنشاء جدول مشتق دائم للاستعلام.

بالإضافة إلى ذلك، يتم تحديد عملية الربط في رمز قابل للتعديل (LookML) بدلاً من تعليمات النظام، ما يجعل عملية تطوير الوكيل أكثر قابلية للتوسّع. باستخدام LookML، يمكنك تحديد افتراضات وقيود معيّنة حول بياناتك لمساعدة المستخدمين أثناء الدردشة مع بياناتك من خلال وكيل بيانات.

استكشاف بيانات التعداد المستنِدة إلى نماذج Looker

لننفّذ استعلامًا سريعًا في "استكشاف" لتوضيح أنّ لدينا مصدر بيانات مركزيًا واحدًا يمكن الاستعلام منه.

  1. في قائمة التنقّل الرئيسية اليمنى، انقر على استكشاف، ثمّ على مربّع بيانات التعداد السكاني، ثمّ على الولاية والمقاطعة.
  2. اختَر المقياس التعليم > شهادة جامعية لمدة عامين.
  3. اختَر السمات التالية:
  4. الموقع الجغرافي > مجموعة الحظر
  5. الموقع الجغرافي > المقاطعة > اسم المقاطعة
  6. الموقع الجغرافي > الولاية > الولاية
  7. نفِّذ طلب البحث (أعلى يسار الصفحة)، وستلاحظ الآن أنّ أرقام تعريف المناطق الجغرافية هذه (المعروفة باسم "المجموعة الحضرية") مرتبطة الآن بسلاسل يمكن قراءتها.
  8. افتح علامة تبويب التصوّر وستظهر لك هذه البيانات في خريطة.

4. تجربة تطبيق المحادثة مع Looker

لننشئ الآن وكيل بيانات لـ Looker.

  1. انتقِل إلى نموذج إنشاء وكيل في صفحة الوكيل لتطبيق التشغيل السريع:
  2. اضبط حقل الاسم المعروض:
Cartoon character data analyst
  1. اضبط حقل تعليمات النظام:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
  1. انقر على Looker.
  2. اضبط حقل عنوان URL على عنوان URL لنسخة Looker: "https://...".
  3. اضبط حقل النموذج:
data_block_acs_bigquery
  1. اضبط حقل الاستكشاف:
cbsa
  1. انقر على إنشاء وكيل.
  2. انتقِل إلى صفحة المحادثة واختَر الوكيل الذي تم إنشاؤه حديثًا.
  3. لنبدأ محادثة بإضافة طلب/رسالة: "مرحبًا، كيف حالك؟"
  4. لنطلب من الوكيل وصف مجموعة البيانات: "ما هي البيانات المتوفرة لديك؟"
  5. دعونا نطرح بعض الأسئلة الأخرى:
  6. "ما هي المقاطعة التي تضمّ أكبر عدد من السكان في نيويورك؟"
  7. "ماذا عن أكبر عدد من خرّيجي المدارس الثانوية نسبةً إلى عدد السكان؟"
  8. "هل يمكنك تزويدي بعدد السكان حسب الجنس والولاية؟"
  9. "أريد الاطّلاع على رسم بياني شريطي لأكثر 10 ولايات من حيث عدد السكان".

5- ما هي المهام الأخرى التي يمكن لتطبيق Quickstart تنفيذها؟

يمكنك الآن:

  • إعداد تطبيق المحادثات على الجهاز
  • إنشاء وكيل بيانات BigQuery ووكيل بيانات Looker
  • المحادثات التي أجريتها مع وكلاء البيانات
  • التعرّف على مزايا نمذجة Looker الدلالية كسياق لمحادثاتك

لنجرِّب إمكانات تطبيق البدء السريع الأخرى:

  1. أعِد تحميل صفحة الويب الخاصة بتطبيق التشغيل السريع وانتقِل إلى صفحة المحادثة.
  2. يمكنك الاطّلاع على محادثاتك السابقة مع جميع الرسائل ذات الصلة من وكيلَي BigQuery وLooker. لا يخزّن الواجهة الأمامية للتطبيق المحادثات أو الرسائل السابقة، بل يسترجعها من واجهة برمجة التطبيقات CA.
  1. انتقِل الآن إلى صفحة البرامج الوكيلة واختَر برنامج Looker الوكيل من القائمة.
  2. يمكنك تعديل إعدادات الوكيل أو حذفه إذا أردت ذلك. لا يتم تخزين أي وكلاء في الواجهة الأمامية للتطبيق.

6. مهام اختيارية واستكشاف المزيد

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

التعرّف أكثر على واجهة برمجة التطبيقات CA وتطبيق التشغيل السريع

تحديات تعديل تطبيق Quickstart

  • هل أنت على دراية بميزة تضمين Looker؟ إذا كان الأمر كذلك، جرِّب تضمين لوحة بيانات Looker داخل تطبيق التشغيل السريع. ننصحك باستخدام مكوّن iframe في Streamlit.
  • ابحث عن مجموعة بيانات عامة تحتوي على عناوين URL للفيديوهات، وعدِّل منطق عرض المحادثة في التطبيق لعرض فيديو في المحادثة.

7. الخاتمة والنقاط الرئيسية

لقد وصلت إلى النهاية! لقد أنشأت تطبيق دردشة، وأنشأت وكلاء بيانات، وتحدّثت مع بياناتك باستخدام Conversational Analytics API. لنراجع بعض الإمكانات والمفاهيم الأساسية.

إمكانات "تحليلات المحادثات"

لقد تناولنا الكثير من إمكانات "إحصاءات المحادثات"، مثل القدرة على:

  • إنشاء وكلاء البيانات وتعديلهم وإدراجهم والحصول عليهم وحذفهم
  • توجيه وكلاء البيانات إلى BigQuery أو Looker كمصدر بيانات
  • إنشاء المحادثات وإدراجها والحصول عليها وعلى الرسائل الخاصة بها
  • إنشاء مواصفات رسومات بيانية من نوع Vega لعرض مرئي غامر في المحادثات
  • استخدام الرسائل السابقة في محادثة كسياق مفيد للرسائل المستقبلية

مزايا استخدام Looker مع واجهة برمجة التطبيقات CA API

توفّر Looker نمذجة دلالية مركزية وقابلة للاختبار ويمكن التحكّم فيها لبياناتك. بالإضافة إلى "التحليلات الحوارية"، يوفّر Looker طريقة قابلة للتوسّع لتوفير سياق لوكلاء البيانات.

الخطوات التالية