1. مرحبًا
في هذا الدرس التطبيقي حول الترميز، ستتعرّفون على كيفية استخدام حزمة وظائف الذكاء الاصطناعي المُدارة في BigQuery لإجراء تحليل دلالي متطوّر، وتصنيف حسب الفئات، وفلترة متعددة الوسائط، وعمليات ربط دلالية، وتلخيص متعدد الصفوف مباشرةً في BigQuery Studio باستخدام لغة الاستعلامات البنيوية (SQL).
باستخدام مجموعة البيانات العلنية bigquery-public-data.cymbal_pets، ستتولّون دور محلّل بيانات في Cymbal Pets، وهو متجر إلكتروني لبيع مستلزمات الحيوانات الأليفة وإكسسواراتها.
التحليل الدلالي مباشرةً داخل طلبات SQL
في السابق، كان تطبيق تعلُّم الآلة أو النماذج اللغوية الكبيرة (LLM) على مجموعات بيانات المؤسسات يتطلّب نقل البيانات من مستودع البيانات إلى بيئات دفاتر ملاحظات Python الخارجية. وكان ذلك يتطلّب خطوط أنابيب مخصّصة لهندسة البيانات وخبرة في تعلُّم الآلة.
توفر وظائف الذكاء الاصطناعي المُدارة في BigQuery، بما في ذلك AI.SCORE وAI.CLASSIFY وAI.IF وAI.AGG، ذكاء النموذج الأساسي مباشرةً لبياناتكم. يحسّن BigQuery تلقائيًا اختيار النموذج ويطبّق استراتيجيات إعادة كتابة الطلبات الداخلية لتقديم نتائج عالية الدقة من طلبات بسيطة باللغة الطبيعية.
بالنسبة إلى مجموعات البيانات الكبيرة، يوفّر BigQuery الوضع المحسّن، الذي يستخدم تقطير النماذج الفوري والنماذج الوكيلة الخفيفة لتقديم طلبات أسرع وأقل تكلفة بنسبة تصل إلى 100 ضعف.
المهام التي ستنفّذونها
- استكشاف بيانات البيع بالتجزئة المتعددة الوسائط في BigQuery Studio باستخدام SQL
- إجراء ترتيب دلالي باستخدام
AI.SCOREلتقييم سمات المنتجات الموضوعية، مثل "إمكانية تقديمها كهدية" - تصنيف البيانات غير المنظَّمة باستخدام
AI.CLASSIFYلربط المنتجات بأنواع الحيوانات المستهدَفة - فلترة مواد عرض الصور المتعددة الوسائط باستخدام
AI.IFضمنWHEREعبارات. - تنفيذ عمليات ربط دلالية بين الجداول باستخدام
AI.IFفيJOIN ... ONلمطابقة سجلات المنتجات النصية مع ملفات الصور الخارجية - تجميع الإحصاءات المتعددة الصفوف باستخدام دالة التجميع
AI.AGG - تحسين وقت استجابة طلب البحث وتكلفته على مجموعات البيانات الكبيرة باستخدام
AI.IFمع الوضع المحسّن (optimization_mode => 'MINIMIZE_COST') وتقطير النموذج الوكيل
المتطلبات
- مشروع على Google Cloud تم تفعيل الفوترة فيه
- متصفح ويب، مثل Chrome
2. الإعداد والمتطلبات
قبل طلب البيانات باستخدام وظائف الذكاء الاصطناعي المُدارة، يجب ضبط مشروع Google Cloud وتفعيل واجهات برمجة التطبيقات المطلوبة.
إنشاء مشروع على Google Cloud وتفعيل واجهات برمجة التطبيقات
- في Google Cloud Console، في صفحة اختيار المشروع، اختَر مشروعًا على Google Cloud أو أنشِئ مشروعًا.
- تأكَّد من أنّ الفوترة مفعَّلة لمشروعك على السحابة الإلكترونية. كيفية التحقّق مما إذا كانت الفوترة مفعَّلة في مشروع.
- فعِّل BigQuery وBigQuery Connection وAgent Platform APIs.
فتح BigQuery Studio
- في قائمة التنقّل في Google Cloud Console، انقر على BigQuery لفتح BigQuery Studio.
- في شريط أدوات المحرّر في BigQuery Studio، انقر على + طلب SQL لفتح علامة تبويب طلب SQL جديدة. ستكتبون جميع طلبات SQL وتنفّذونها في علامات تبويب SQL هذه خلال هذا الدرس العملي.
إنشاء اتصال بمورد على السحابة الإلكترونية في SQL
يعمل BigQuery ضمن محيط بيانات آمن. عند فحص الملفات الخارجية المتعددة الوسائط (مثل الصور المخزّنة في Google Cloud Storage)، يستخدم BigQuery اتصالاً بمورد على السحابة الإلكترونية للوصول بشكل آمن إلى مراجع الكائنات بدون عرض بيانات الاعتماد.
نفِّذوا العبارة التالية في علامة تبويب SQL لإنشاء اتصال باسم us.conn:
CREATE CONNECTION IF NOT EXISTS `us.conn`
OPTIONS (
connection_type = "CLOUD_RESOURCE"
);
3. استكشاف مجموعة بيانات Cymbal Pets
تحتفظ Cymbal Pets بكتالوج منتجات شامل في مجموعة البيانات العلنية داخل الجدول المسمّى bigquery-public-data.cymbal_pets.products. يحتوي كل سجلّ منتج على سمات منظَّمة، مثل رقم تعريف المنتج وعنوانه وفئة البيع بالتجزئة وسعره والنص الوصفي.
طلب كتالوج المنتجات
افتحوا علامة تبويب SQL في BigQuery Studio ونفِّذوا طلب البحث التالي لفحص جدول المنتجات:
SELECT
product_id,
product_name,
category,
price,
description
FROM
`bigquery-public-data.cymbal_pets.products`;
ستبدو النتائج مشابهة لما يلي:

فحص صور المنتجات
تخزّن Cymbal Pets أيضًا مراجع صور المنتجات في bigquery-public-data.cymbal_pets.product_images. نفِّذوا طلب البحث التالي لعرض سجلات الصور:
SELECT
uri,
OBJ.GET_READ_URL(OBJ.MAKE_REF(uri, 'us.conn')).url AS product_image_url,
metadata
FROM
`bigquery-public-data.cymbal_pets.product_images`;
ستبدو النتائج مشابهة لما يلي:

بعد ذلك، ستستخدمون وظائف BigQuery المُدارة لتحليل كل من البيانات النصية وبيانات الصور من مستودع بيانات Cymbal Pets.
4. ترتيب المنتجات حسب المعايير الدلالية باستخدام AI.SCORE
تقبل الدالة AI.SCORE الإدخالات النصية وتستخدم نموذج Gemini لتقييمها استنادًا إلى قواعد تقييم باللغة الطبيعية، ما يؤدي إلى عرض نتيجة رقمية من النوع FLOAT64.
إذا لم تقدّموا معيار تقييم صريحًا، يطبّق BigQuery تلقائيًا استراتيجيات إعادة كتابة الطلبات لإنشاء معيار أمثل للنموذج.
تسجيل المنتجات من حيث "إمكانية تقديمها كهدية"
لنفترض أنّ فريق التسويق في Cymbal Pets يريد إنشاء دليل هدايا للعطلات. يريدون ترتيب كل سلعة في الكتالوج استنادًا إلى مدى ملاءمتها كهدية لمالك حيوان أليف على مقياس من 1 إلى 10.
نفِّذوا طلب البحث التالي في علامة تبويب SQL:
SELECT
product_name,
description,
AI.SCORE(
('How "giftable" is this product for a pet owner? ', description,
'Use a scale from 1-10.')
) AS giftability_score
FROM
`bigquery-public-data.cymbal_pets.products`
ORDER BY
giftability_score DESC;
فهم النتائج
ستبدو النتائج مشابهة لما يلي:

افحصوا عمود giftability_score في نتائج طلب البحث:
- الألعاب التفاعلية الجذابة: تحصل السلع الجذابة، مثل
Cozy Naps Cat Teaser WandوPlayful Pup Puzzle ToyوPlayful Pup Treat Dispenser، على أعلى التقييمات (9.0). - سلع الراحة والخدش المتخصّصة: تحصل السلع الأساسية الشائعة، مثل
Purrfect Perch Cat Scratcher، على نتيجة قوية تبلغ8.0. - الترتيب القابل للتنفيذ في مسار الإحالة الناجحة: بما أنّ
AI.SCOREتنتج نتائجFLOAT64عادية، يمكنكم على الفور ترتيب النتائج باستخدامORDER BY giftability_score DESCأو فلترة المرشّحين باستخدامWHERE AI.SCORE(...) >= 8.0لإنشاء أدلة هدايا مبرمَجة.
5. تصنيف سلع الكتالوج باستخدام AI.CLASSIFY
تستخدم الدالة AI.CLASSIFY نموذج Gemini لتصنيف سجلات الإدخال في قائمة منفصلة من الفئات المستهدَفة المقدَّمة كصفيف SQL.
تتوافق الدالة AI.CLASSIFY مع الإدخالات المتعددة الوسائط (النصوص والصور والمقاطع الصوتية والفيديوهات)، وتلغي الحاجة إلى إنشاء نماذج تصنيف مخصّصة أو تدريبها أو نشرها لإدارة التصنيف.
تصنيف الألعاب حسب نوع الحيوان المستهدَف (تصنيف بعلامة واحدة)
لنفترض أنّ بعض المنتجات في كتالوج Cymbal Pets تم وضع علامة عليها بشكل عام على أنّها "ألعاب" بدون تحديد الحيوان المستهدَف. يمكنكم استخدام AI.CLASSIFY لتصنيف كل لعبة استنادًا إلى اسمها ووصفها.
نفِّذوا طلب البحث التالي في BigQuery Studio:
SELECT
product_name,
description,
AI.CLASSIFY(
('What animal is this product for?', product_name, ' ', description),
categories => ["Dog", "Cat", "Bird", "Fish", "Small Animal", "All Pets"]
) AS animal_type
FROM
`bigquery-public-data.cymbal_pets.products`
WHERE
category = "Toys"
LIMIT 20;
عرض النتائج
ستبدو النتائج مشابهة لما يلي:

تنفّذ الدالة AI.CLASSIFY تلقائيًا تصنيفًا بعلامة واحدة وتعرض STRING يحتوي على الفئة الأكثر صلةً من صفيف المرشّحين. لاحظوا كيف يربط Gemini كرات النعناع البري وألعاب الريش بـ Cat، بينما يربط الألعاب القابلة للمضغ وعصي الجلب بـ Dog.
تعيين علامات متعددة باستخدام التصنيف بعلامات متعددة
تنطبق العديد من المنتجات في كتالوج البيع بالتجزئة على أنواع متعددة من الحيوانات الأليفة في الوقت نفسه (على سبيل المثال، سرير أو نفق من القطيفة مناسب لكل من القطط والحيوانات الصغيرة).
لتعيين فئات متعددة لسجلّ واحد، اضبطوا المعلمة الاختيارية output_mode => 'multi'. في الوضع بعلامات متعددة، تعرض الدالة AI.CLASSIFY ARRAY يحتوي على جميع الفئات المطابقة.
نفِّذوا طلب البحث التالي في علامة تبويب SQL:
SELECT
product_name,
description,
AI.CLASSIFY(
('Identify all pet types that this product is suitable for: ', product_name, ' ', description),
categories => ["Dog", "Cat", "Bird", "Fish", "Small Animal", "Reptile"],
output_mode => 'multi'
) AS pet_types
FROM
`bigquery-public-data.cymbal_pets.products`
WHERE
category = "Toys";
ستبدو النتائج مشابهة لما يلي:

مراجعة آليات التصنيف
- علامة واحدة مقابل علامات متعددة: بدون
output_mode، تعرض الدالةAI.CLASSIFYSTRINGعدديًا. يؤدي ضبطoutput_mode => 'multi'إلى عرضARRAYيحتوي على صفر أو علامة واحدة أو علامات متعددة مطابقة. - تعيين فئات متعددة: لاحظوا كيف تحصل السلع المخصّصة، مثل
Chew-tastic! Dental Chew ToyوPlayful Pup Fetch Stick، على[Dog]، بينما تحصل سلع الراحة المتعدّدة الاستخدامات، مثلCozy Naps Dog Toy(سرير مستطيل من القطيفة)، على علامات متعددة بشكل صحيح:[Dog, Cat, Small Animal]. - المطابقة بدون أمثلة: يقيّم النموذج النص والطلب المجمّعَين مقابل صفيف
categoriesالمقدَّم بدون الحاجة إلى نماذج تعلُّم آلة مخصّصة مدرَّبة مسبقًا. - عمليات صفيف SQL في مسار الإحالة الناجحة: يمكنكم استخدام دوال صفيف SQL العادية في BigQuery، مثل
WHERE 'Cat' IN UNNEST(pet_types)أوCROSS JOIN UNNEST(pet_types)، لفلترة السجلات التي تحمل علامات متعددة وتوسيعها وتجميعها.
6. فلترة صور المنتجات المتعددة الوسائط باستخدام AI.IF
تستخدم الدالة AI.IF نموذج Gemini لتقييم شرط باللغة الطبيعية وعرض قيمة منطقية (TRUE أو FALSE).
بما أنّ الدالة AI.IF تقبل الإدخالات المتعددة الوسائط، يمكنكم استخدامها مباشرةً ضمن عبارة WHERE في SQL لفلترة ملفات الصور غير المنظَّمة المخزّنة في Cloud Storage.
فلترة الصور التي تحتوي على كائنات معيّنة
لنفترض أنّ فريق التسويق يريد العثور على جميع صور المنتجات في الكتالوج التي تحتوي على طعام أو وجبات خفيفة للحيوانات الأليفة.
نفِّذوا طلب البحث التالي في علامة تبويب SQL:
SELECT
uri,
OBJ.GET_READ_URL(OBJ.MAKE_REF(uri, 'us.conn')).url AS product_image_url,
metadata
FROM
`bigquery-public-data.cymbal_pets.product_images`
WHERE
AI.IF(
('Does this product image contain pet food or snacks? ', OBJ.MAKE_REF(uri, 'us.conn'))
);
ستبدو النتائج مشابهة لما يلي:

آلية عمل الفلترة المتعددة الوسائط
- مراجع الكائنات الفورية: على الرغم من أنّنا ننشئ مراجع الكائنات بشكل فوري هنا باستخدام
OBJ.MAKE_REF(uri, 'us.conn')، يمكنكم أيضًا إنشاء أعمدةObjectRefوتخزينها مباشرةً في جداول BigQuery لتكون جاهزة على الفور للاستخدام في التحليل بدون الحاجة إلى الدالةOBJ.MAKE_REFفي كل طلب بحث. - التعرّف الدقيق على الكائنات المرئية: لاحظوا كيف يحدّد Gemini بدقة تنسيقات التغليف المختلفة (مثل علبة الوجبات الغذائية الرطبة المتنوعة وأكياس طعام الهامستر الجاف وأطعمة القطط المعلّبة)، مع التعرّف أيضًا على الوجبات الخفيفة الصالحة للأكل والمحمّلة داخل الألعاب، مثل موزع الوجبات الخفيفة الأزرق.
- تقييم المسند على مستوى الصف: يقيّم BigQuery الشرط باللغة الطبيعية مقابل كل مرجع صورة في Cloud Storage مباشرةً ضمن عبارة
WHERE. - الفلترة المنطقية: لا يتم عرض سوى السجلات التي يقيّم فيها Gemini الشرط على أنّه
TRUEفي مجموعة النتائج.
7. إجراء عمليات ربط دلالية بين الجداول باستخدام AI.IF
تتطلّب عمليات الربط التقليدية في قواعد البيانات الارتباطية تطابقًا تامًا في المفاتيح (مثل products.product_id = images.product_id). ومع ذلك، غالبًا ما تحتوي مجموعات بيانات المؤسسات في العالم الحقيقي على مواد عرض غير منظَّمة تفتقر إلى مفاتيح خارجية صريحة.
بما أنّ الدالة AI.IF تعرض قيمة منطقية، يمكنكم وضعها مباشرةً داخل بند برمجي INNER JOIN ... ON في لغة الاستعلامات البنيوية (SQL) لإجراء عمليات ربط دلالية.
ربط أوصاف المنتجات دلاليًا بمواد عرض الصور
لنفترض أنّكم تريدون مطابقة أوصاف المنتجات من جدول products مع ملفات الصور غير المرتبطة في product_images للمنتجات التي تحمل العلامة التجارية Fluffy Buns.
نفِّذوا طلب البحث التالي في علامة تبويب SQL في BigQuery Studio (يُرجى العِلم أنّه يستغرق بضع دقائق حتى يكتمل):
SELECT
products.product_id,
products.product_name,
products.description,
products.brand,
images.uri AS image_uri,
OBJ.GET_READ_URL(OBJ.MAKE_REF(images.uri, 'us.conn')).url AS product_image_url
FROM
`bigquery-public-data.cymbal_pets.products` AS products
INNER JOIN
`bigquery-public-data.cymbal_pets.product_images` AS images
ON
AI.IF(
('You will be provided an image of a pet product. ',
'Determine if the image is of the following pet toy: ',
products.product_name,
products.description,
OBJ.MAKE_REF(images.uri, 'us.conn')
)
)
WHERE
products.category = "Toys" AND
products.brand = "Fluffy Buns";
ستبدو النتائج مشابهة لما يلي:

فهم عمليات الربط الدلالية في SQL
- تقييم الشرط بين الوسائط: بالنسبة إلى أزواج السجلات المرشّحة، يرسل BigQuery كلاً من البيانات الوصفية النصية من
productsومرجع الصورة (OBJ.MAKE_REF(...)) إلى Gemini. - المطابقة المرئية الدقيقة: كما هو موضّح في النتائج، تتم مطابقة
Fluffy Buns Hamster Exercise Ballمع صورة الكرة البلاستيكية الشفافة، بينما تتم مطابقةFluffy Buns Chinchilla Play TunnelوGuinea Pig Tunnelمع صور النفق الأزرق من القطيفة. بسبب دلالاتINNER JOINفي SQL العادية، يمكن أن ينتج عن المنتج صفوف متعددة في الناتج إذا كان يتطابق مع أكثر من مادة عرض صورة واحدة في الكتالوج (مثل زوايا صور متعددة أو لقطات مشابهة). - عرض الصور المضمّنة: يعرض BigQuery Studio تلقائيًا عناوين URL للقراءة المُرخّصة في العمود
product_image_urlمباشرةً ضمن شبكة النتائج للتحقّق المرئي الفوري. - حلّ الكيانات غير المنظَّمة: يتيح ذلك مهام سير عمل قوية لحلّ الكيانات في الكتالوجات القديمة ومجموعات البيانات التي تم جمعها وأرشيفات الوسائط بدون وضع علامات يدويًا أو استخدام مفاتيح خارجية صريحة.
8. تجميع الإحصاءات على مستوى الصفوف باستخدام AI.AGG
في حين أنّ وظائف مثل AI.SCORE وAI.CLASSIFY وAI.IF تقيّم الصفوف الفردية (العمليات العددية)، غالبًا ما يتطلّب تحليل بيانات المؤسسات تجميع الأنماط على مستوى سجلات متعددة.
الدالة AI.AGG هي دالة تجميع تستخدم تعليمات باللغة الطبيعية لتلخيص الإحصاءات أو تجميعها أو تجميعها على مستوى آلاف أو ملايين الصفوف غير المنظَّمة في ردّ موحّد.
تجميع ملخّصات الفئات جنبًا إلى جنب مع مقاييس SQL التقليدية
تتكامل الدالة AI.AGG بسلاسة مع عبارات GROUP BY ودوال التجميع التقليدية في SQL. على سبيل المثال، يمكنكم حساب المقاييس التقليدية (مثل عدد السلع) جنبًا إلى جنب مع ملخّص مستند إلى الذكاء الاصطناعي التوليدي يصف ما تشترك فيه المنتجات في كل فئة.
نفِّذوا طلب البحث التالي في BigQuery Studio:
SELECT
category,
COUNT(*) AS item_count,
AI.AGG(
('Product: ', product_name, ' - Description: ', description),
'Write a concise, one-sentence summary describing the common characteristics or purpose of the products in this category.'
) AS category_summary
FROM
`bigquery-public-data.cymbal_pets.products`
GROUP BY
category
ORDER BY
item_count DESC;
ستبدو النتائج مشابهة لما يلي:

كيفية تجميع الدالة AI.AGG للبيانات غير المنظَّمة
- التجميع الهرمي: يجمّع BigQuery بيانات الصفوف لكل قسم من الفئات، وينشئ نوافذ سياق منظَّمة، ويستخدم نموذج Gemini لتجميع مجموعة سجلات المنتجات بأكملها.
- تجميع الكتالوج المبرمَج: لاحظوا كيف يحصل كل فئة على ملخّص دقيق ومميّز، مثل
Accessoriesالتي تتضمّن أماكن الإقامة ومعدّات التدريب، أوFoodالتي تسلّط الضوء على التغذية المتوازنة لأنواع متعددة من الحيوانات. - إعداد التقارير المختلطة الكمية والنوعية: يؤدي الجمع بين عمليات التجميع العادية، مثل
COUNT(*)، والدالةAI.AGGإلى إنتاج نظرات عامة شاملة على الكتالوج في طلب بحث واحد بدون خطوط أنابيب مخصّصة لعمليات استخراج البيانات وتحويلها وتحميلها (ETL). - التقسيم المرن: يمكنكم تطبيق
AI.AGGعلى أي بُعد تجميع (مثلGROUP BY brandأوGROUP BY categoryأو على الجدول بأكمله) لإنشاء إحصاءات على مستوى المديرين التنفيذيين في ثوانٍ.
9. تسريع طلبات البحث باستخدام الوضع المحسّن والنماذج الوكيلة
عند معالجة مجموعات بيانات كبيرة تحتوي على آلاف أو ملايين الصفوف، يمكن أن يؤدي استدعاء نموذج لغوي كبير (LLM) عن بُعد لكل صف على حدة إلى حدوث وقت استجابة وتكلفة.
لحلّ هذه المشكلة، يوفّر BigQuery الوضع المحسّن للدالتَين AI.IF وAI.CLASSIFY. يستخدم الوضع المحسّن النماذج الوكيلة وتقطير النماذج الفوري لتقديم عمليات تنفيذ أسرع بنسبة تزيد عن 100 ضعف بتكلفة أقل للرموز المميّزة في النموذج اللغوي الكبير.
آلية عمل الوضع المحسّن

- أخذ عينات تمثيلية ووضع العلامات: يختار BigQuery تلقائيًا عينة تمثيلية من الصفوف ويحصل على العلامات من Gemini.
- تدريب النموذج المقطّر: يدرّب BigQuery نموذجًا وكيلاً خفيف الوزن للغاية (مثل الانحدار اللوجستي) في الوقت المناسب على وحدة المعالجة المركزية باستخدام تضمينات النص كميزات.
- التحقّق من الجودة: يقيّم BigQuery دقة النموذج المقطّر مقارنةً بنموذج Gemini. إذا استوفى النموذج عتبات الجودة، يروّجه BigQuery لمعالجة ما تبقّى من مجموعة البيانات.
- الاستنتاج المحلي عالي السرعة: يقيّم النموذج الوكيل الصفوف المتبقية محليًا بدون أي تكلفة للرموز المميّزة في النموذج اللغوي الكبير عن بُعد وبوقت استجابة منخفض للغاية.
تنفيذ طلب بحث أساسي بدون تحسين
بما أنّ كتالوج bigquery-public-data.cymbal_pets.products النموذجي يحتوي على عدد قليل جدًا من الصفوف لتفعيل تقطير النموذج الوكيل، سنستخدم مجموعة البيانات العلنية الأكبر bigquery-public-data.bbc_news.fulltext (التي تحتوي على أكثر من 2,200 مقالة إخبارية).
أولاً، نفِّذوا طلب البحث العادي بدون تحسين لتحديد المقالات الإخبارية عن الكوارث الطبيعية:
SELECT
title,
body
FROM
`bigquery-public-data.bbc_news.fulltext`
WHERE
AI.IF(
('The following news story is about a natural disaster: ', body)
);
فحص تفاصيل المهمة الأساسية واستخدام الرموز المميّزة
بعد اكتمال طلب البحث الأساسي، افحصوا مقاييس التنفيذ:
- في لوحة النتائج السفلية في BigQuery Studio، انقروا على علامة التبويب معلومات المهمة.
- انتقِلوا للأسفل إلى قسمَي عدد الرموز المميّزة للإدخال وعدد الرموز المميّزة للإخراج.
ستبدو النتائج مشابهة لما يلي:

- استهلاك الرموز المميّزة لمجموعة البيانات الكاملة: بما أنّ BigQuery يستدعي نموذج Gemini عن بُعد لكل صف في جميع المقالات الإخبارية البالغ عددها 2,225 بدون تحسين النموذج الوكيل، يستهلك طلب البحث 1,279,072 رمزًا مميّزًا للإدخال و11,925 رمزًا مميّزًا للإخراج .
- قسم "بدون تحسين": لاحظوا أنّه لا يوجد إدخال
Gen AI Function Optimizationsلأنّ التنفيذ العادي يقيّم كل صف على حدة مقابل نقطة نهاية النموذج اللغوي الكبير عن بُعد.
تنفيذ طلب البحث باستخدام الوضع المحسّن
لتقليل استهلاك الرموز المميّزة والاستفادة من تقطير النموذج الوكيل، فعِّلوا الوضع المحسّن من خلال تمرير embeddings => AI.EMBED(...) وضبط optimization_mode => 'MINIMIZE_COST':
SELECT
title,
body
FROM
`bigquery-public-data.bbc_news.fulltext`
WHERE
AI.IF(
('The following news story is about a natural disaster: ', body),
embeddings => AI.EMBED(body, endpoint => 'text-embedding-005', task_type => 'CLASSIFICATION').result,
optimization_mode => 'MINIMIZE_COST'
);
التحقّق من التحسين وملاحظة انخفاض استخدام الرموز المميّزة
بعد تنفيذ طلب البحث المحسّن، انتقِلوا إلى علامة التبويب معلومات المهمة في BigQuery Studio لملاحظة كيفية مقارنة استخدام الرموز المميّزة ومقاييس التنفيذ:
- في لوحة النتائج السفلية في BigQuery Studio، انقروا على علامة التبويب معلومات المهمة.
- انتقِلوا إلى قسم Gen AI Function Optimizations ، بالإضافة إلى عدد الرموز المميّزة.
ستبدو النتائج مشابهة لما يلي:

- انخفاض كبير في الرموز المميّزة: لاحظوا كيف انخفض عدد الرموز المميّزة للإدخال من 1,279,072 رمزًا مميّزًا إلى 778,626 رمزًا مميّزًا، ما يؤدي إلى توفير 500,446 رمزًا مميّزًا للإدخال (انخفاض بنسبة% 40 تقريبًا) في عملية تنفيذ طلب بحث واحدة! وبالمثل، كان هناك انخفاض في الرموز المميّزة للإخراج.
- تقطير النموذج الوكيل التلقائي: لاحظوا العلامة
AI.IF('The following news s'): 875 out of 2225 rows optimized. Cost Optimization successfully applied.أخذ BigQuery عينة من مجموعة البيانات، ووضع علامات على المقالات التمثيلية باستخدام Gemini، وقطّر مصنّفًا وكيلاً سريعًا وخفيف الوزن، وعالج 875 من أصل 2,225 صفًا محليًا على وحدة المعالجة المركزية بدون استدعاء نقاط نهاية النموذج اللغوي الكبير عن بُعد. - توفير مباشر في التكاليف: بما أنّ وظائف الذكاء الاصطناعي المُدارة في BigQuery تتم فوترتها استنادًا إلى حجم الرموز المميّزة للنموذج التي تتم معالجتها، فإنّ تقليل استهلاك الرموز المميّزة يؤدي مباشرةً إلى خفض تكاليف تنفيذ طلب البحث.
- التحقّق من الجودة: تحقّق BigQuery تلقائيًا من دقة النموذج الوكيل مقارنةً بنموذج Gemini قبل الترويج له لتقييم الصفوف المتبقية، ما يضمن الحفاظ على جودة التصنيف.
انخفاض أكبر في الرموز المميّزة وتحسين وقت الاستجابة على الجداول الأكبر
على الرغم من أنّ توفير أكثر من 500,000 رمز مميّز على 2,225 صفًا هو أمر كبير، فإنّ الانخفاض في الرموز المميّزة وتحسين الأداء يكون أكبر على الجداول الأكبر:
- لماذا يزداد الانخفاض في الرموز المميّزة مع حجم مجموعة البيانات؟: بالنسبة إلى طلبات البحث التي يتم تنفيذها في BigQuery، يتم تدريب النماذج الوكيلة بشكل فوري باستخدام عينة أولية من حوالي 1,000 صف تم وضع علامات عليها بواسطة النموذج اللغوي الكبير. بعد تدريب النموذج الوكيل والتحقّق من صحته، يحلّ محلّ عمليات استدعاء النموذج اللغوي الكبير المباشرة على مستوى الصفوف المتبقية. بالنسبة إلى طلبات البحث الأكبر (مثل مجموعات البيانات النموذجية التي تحتوي على مليون صف)، يؤدي ذلك إلى إلغاء عمليات استدعاء النموذج اللغوي الكبير لمعظم البيانات، ما يؤدي إلى استهلاك رموز مميّزة أقل بنسبة تصل إلى 400 ضعف وخفض التكاليف بشكل كبير.
- تسريع كبير في وقت الاستجابة: من خلال نقل الاستنتاج من أجهزة النموذج اللغوي الكبير المتخصّصة إلى النماذج الوكيلة الخفيفة للغاية التي يتم تشغيلها مباشرةً على وحدات المعالجة المركزية العادية للعامل في قاعدة البيانات (باستخدام تضمينات Gemini المحسوبة مسبقًا)، يقلّل BigQuery أوقات تشغيل طلبات البحث الإجمالية بمقدار 30 إلى 100 ضعف.
10. تنظيف الموارد
لتنظيف الموارد التي تم إنشاؤها خلال هذا الدرس التطبيقي حول الترميز، نفِّذوا العبارة التالية في علامة تبويب SQL في BigQuery Studio لإزالة الاتصال بمورد على السحابة الإلكترونية:
DROP CONNECTION IF EXISTS `us.conn`;
بدلاً من ذلك، إذا أنشأتم مشروعًا مؤقتًا على Google Cloud حصريًا لهذا البرنامج التعليمي، يمكنكم إيقاف المشروع بأكمله في Cloud Resource Manager.
11. تهانينا
تهانينا! لقد أكملتم بنجاح الدرس العملي حول التحليل الدلالي في BigQuery باستخدام وظائف الذكاء الاصطناعي المُدارة وSQL.
لقد أتقنتم وظائف الذكاء الاصطناعي التوليدي المُدارة في BigQuery:
AI.SCORE: ترتيب المنتجات حسب معايير موضوعية، مثل إمكانية تقديمها كهدية، على مقياس من 1 إلى 10 باستخدام إعادة كتابة الطلبات التلقائيةAI.CLASSIFY: تصنيف سلع الكتالوج غير المنظَّمة في تصنيفات الحيوانات المستهدَفةAI.IF(الفلترة المتعددة الوسائط): فلترة مواد عرض الصور في Cloud Storage في عباراتWHEREفي SQL استنادًا إلى المحتوى المرئيAI.IF(عمليات الربط الدلالية): إجراء عمليات ربط بين الوسائط في عباراتONفي SQL لربط أوصاف المنتجات النصية بملفات الصورAI.AGG: تجميع نص الكتالوج غير المنظَّم المتعدد الصفوف في ملخّص تنفيذي موجز- الوضع المحسّن والنماذج الوكيلة: تسريع طلبات البحث وتقليل تكاليف الرموز المميّزة باستخدام
optimization_mode => 'MINIMIZE_COST'مع تقطير النماذج الفوري وAI.EMBED
مزيد من المعلومات
- نظرة عامة على الذكاء الاصطناعي التوليدي في BigQuery
- دليل وظائف الذكاء الاصطناعي المُدارة في BigQuery
AI.SCOREمستندات بنية SQLAI.CLASSIFYمستندات بنية SQLAI.IFمستندات بنية SQLAI.AGGمستندات بنية SQL- تحسين وظائف الذكاء الاصطناعي باستخدام تقطير النماذج
- مدونة Google Cloud: طلبات SQL المستندة إلى النماذج اللغوية الكبيرة أسرع وأقل تكلفة بنسبة تزيد عن 100 ضعف باستخدام النماذج الوكيلة
- مدونة Google Cloud: نظرة متعمّقة على دالة BigQuery `AI.AGG`