1. نظرة عامة
ما هي إدارة البيانات الرئيسية؟
تتمحور إدارة البيانات الرئيسية (MDM) حول إنشاء مصدر موحّد وموثوق للمعلومات الأساسية الخاصة بمؤسستك. تخيَّل مكتبة منظَّمة بدقة حيث يتم تصنيف كل كتاب (نقطة بيانات) بشكل صحيح، ويكون محدّثًا ويسهل العثور عليه.
تمثّل البيانات الرئيسية كيانات النشاط التجاري الأساسية التي لا غنى عنها لعمليات الشركة. في ما يلي العناصر الأساسية للبيانات الرئيسية:
- كيانات النشاط التجاري: كيانات مثل العملاء والمنتجات والمورّدين والمواقع الجغرافية والموظفين، وهي الأسماء التي يدور حولها نشاطك التجاري
- المعرّفات: معرّفات فريدة تضمن تمييز كل كيان وتتبُّعه في جميع الأنظمة
- السمات: هي الخصائص التي تصف كل كيان، مثل عنوان العميل أو سعر المنتج وما إلى ذلك.
لمساعدتك في فهم البيانات الأساسية بشكل أفضل، لنقارنها بالبيانات المتعلقة بالمعاملات. تتضمّن بيانات المعاملات أحداثًا فردية (عملية شراء أو شحن أو غير ذلك). في المقابل، تقدّم البيانات الرئيسية سياقًا لهذه الأحداث من خلال تحديد الكيانات المعنية. على سبيل المثال، يرتبط إجراء عملية بيع بالبيانات الأساسية للعميل والمنتج والبائع.
مع أنّ تنفيذ إدارة بيانات رئيسية فعّالة أمر ضروري لاتخاذ القرارات الاستراتيجية، يمكن أن يكون معقّدًا ويستهلك الكثير من الموارد. هنا يأتي دور الذكاء الاصطناعي التوليدي، لا سيما النماذج مثل Gemini 1.0 Pro وGemini 1.0 Pro Vision وGemini 1.5 Pro، في إحداث تغيير جذري.
2. الهدف
في هذا الدرس التطبيقي حول الترميز، ستوضّح كيف يسهّل Gemini 1.0 Pro تطبيقات إدارة البيانات الرئيسية، مثل التحسين وإزالة التكرار، لبيانات citibike_stations المتوفّرة في مجموعة البيانات العامة BigQuery.
الميزات التي ستستخدمها
- مجموعة البيانات العامة
bigquery-public-data.new_york_citibikeفي BigQuery - Gemini Function Calling (دالة Java Cloud Function التي تحصل على معلومات العنوان باستخدام Reverse Geocoding API للإحداثيات المتاحة مع بيانات citibike_stations).
- Vertex AI Embeddings API وVector Search في BigQuery لتحديد البيانات المكرّرة
ما ستنشئه
- ستنشئ مجموعة بيانات في BigQuery لحالة الاستخدام. في مجموعة البيانات هذه، ستنشئ جدولاً مقصودًا يتضمّن بيانات من جدول مجموعة البيانات العامة
bigquery-public-data.new_york_citibike.citibike_stations. - ستنشر Cloud Function التي تتضمّن ميزة "استدعاء الدوال في Gemini" لتنفيذ عملية توحيد تنسيق العناوين.
- ستخزِّن بيانات العناوين المحسّنة في جداول الصفحات المقصودة (من المصدرَين المقدَّمَين لهذا العرض التوضيحي).
- ستستدعي واجهة برمجة التطبيقات Vertex AI Embeddings API من BigQuery على بيانات العناوين.
- ستستخدم ميزة "البحث المتّجه" في BigQuery لتحديد السجلات المكرّرة.
يمثّل الرسم البياني التالي تدفّق البيانات والخطوات المتّبعة في عملية التنفيذ.

3- المتطلبات
4. قبل البدء
- في Google Cloud Console، ضمن صفحة اختيار المشروع، اختَر مشروعًا على Google Cloud أو أنشِئه.
- تأكَّد من تفعيل الفوترة لمشروعك على السحابة الإلكترونية. تعرَّف على كيفية التحقّق مما إذا كانت الفوترة مفعَّلة في مشروع .
- ستستخدم Cloud Shell، وهي بيئة سطر أوامر تعمل في Google Cloud ومحمّلة مسبقًا بأداة bq. انقر على "تفعيل Cloud Shell" في أعلى "وحدة تحكّم Google Cloud".

- بعد الاتصال بـ Cloud Shell، يمكنك التأكّد من أنّك قد أثبتّ هويتك وأنّ المشروع مضبوط على رقم تعريف مشروعك باستخدام الأمر التالي:
gcloud auth list
- نفِّذ الأمر التالي في Cloud Shell للتأكّد من أنّ أمر gcloud يعرف مشروعك.
gcloud config list project
- إذا لم يتم ضبط مشروعك، استخدِم الأمر التالي لضبطه:
gcloud config set project <YOUR_PROJECT_ID>
- انتقِل إلى Gemini في Google Cloud Marketplace لتفعيل واجهة برمجة التطبيقات. يمكنك أيضًا استخدام الأمر التالي في وحدة Cloud Shell الطرفية:
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
- تأكَّد من تفعيل واجهات برمجة التطبيقات BigQuery وBigQuery Connection وCloud Function وCloud Run وVertex AI وCloud Build. يمكنك استخدام وحدة التحكّم بدلاً من أمر gcloud من خلال هذا الرابط.
راجِع المستندات لمعرفة أوامر gcloud وطريقة استخدامها.
5- إنشاء مجموعة بيانات BigQuery واتصال خارجي
لنبدأ بإنشاء مجموعة بيانات وعملية ربط بمورد على السحابة الإلكترونية.
مجموعة البيانات في BigQuery هي حاوية لجميع الجداول والعناصر الخاصة بتطبيقك.
لإنشاء مجموعة بيانات، اتّبِع الخطوات التالية:
- انتقِل إلى صفحة BigQuery في وحدة تحكّم Google Cloud.
- في لوحة المستكشف، اختَر المشروع الذي تريد إنشاء مجموعة البيانات فيه.
- وسِّع خيار الإجراءات (رمز علامة الحذف العمودية)، ثم انقر على إنشاء مجموعة بيانات.

- أدخِل
mdm_geminiفي حقل معرّف مجموعة البيانات. - اضبط نوع الموقع الجغرافي على
Multi-regionواقبل القيمة التلقائية وهيUS(multiple regions in United States.. - انقر على إنشاء مجموعة بيانات.
- تأكَّد من إنشاء مجموعة البيانات وإدراجها ضمن رقم تعريف مشروعك في جزء المستكشف.
يجب توفُّر اتصال بـ BigQuery للتفاعل مع Cloud Function. لإنشاء دالة بعيدة، يجب إنشاء اتصال BigQuery. في هذا الدرس التطبيقي حول الترميز، سنستخدم عملية الربط BigLake للوصول إلى النموذج من BigQuery من خلال Cloud Function. تساعد عمليات ربط BigLake في ربط مصدر البيانات الخارجي مع الاحتفاظ بميزات التحكّم الدقيق في الوصول والأمان في BigQuery، وهو في حالتنا Vertex AI Gemini Pro API.
لإنشاء عملية ربط BigLake، اتّبِع الخطوات التالية:
- انقر على إضافة في جزء المستكشف من صفحة BigQuery.

- انقر على عمليات الربط بمصادر البيانات الخارجية.
- في قائمة "نوع الاتصال"، اختَر نماذج Vertex AI عن بُعد ووظائف عن بُعد وBigLake (مورد على السحابة الإلكترونية).
- في حقل معرّف الاتصال، أدخِل اسم الاتصال على النحو التالي:
gemini-bq-conn. - اضبط نوع الموقع الجغرافي على
Multi-regionواقبل القيمة التلقائية وهيUS(multiple regions in United States.. - انقر على إنشاء عملية ربط.
- انقر على الانتقال إلى عملية الربط، ثم انسخ رقم تعريف حساب الخدمة في جزء لوحة معلومات الربط.

- انتقِل إلى صفحة إدارة الهوية وإمكانية الوصول والمشرف وانقر على منح الوصول.
- الصِق معرّف حساب الخدمة في حقل المشرفون الجدد.
- اختَر دور
Vertex AI userمن قائمة الأدوار، ثم انقر على حفظ.

لقد أنشأت الآن مجموعة البيانات وربط BigQuery بنجاح.
6. نشر ميزة "استدعاء الدوال" في Gemini (دالة Java على Cloud)
اتّبِع الخطوات التالية لنشر Java Cloud Function التي تتضمّن ميزة "استدعاء الدوال" في Gemini.
- استنسِخ المستودع على GitHub من وحدة Cloud Shell الطرفية باستخدام الأمر التالي:
git clone https://github.com/AbiramiSukumaran/GeminiFunctionCalling
- استبدِل العنصرَين النائبَين
YOUR_API_KEYوYOUR_PROJECT_IDبقيمتَين.
إذا قرأت المدوّنة هنا، ستعرف أنّ عمليات تنفيذ ميزة "طلب تنفيذ وظائف" تستخدم Reverse Geocoding API. يمكنك إنشاء API_KEY خاص بك باتّباع التعليمات الواردة هنا.
- في وحدة Cloud Shell الطرفية، انتقِل إلى دليل المشروع الذي تم استنساخه حديثًا GeminiFunctionCalling وشغِّل العبارة التالية لإنشاء Cloud Function ونشرها:
gcloud functions deploy gemini-fn-calling --gen2 --region=us-central1 --runtime=java11 --source=. --entry-point=cloudcode.helloworld.HelloWorld --trigger-http
أدخِل "y" عندما يُطلب منك الإجابة عن أسئلة "السماح باستدعاءات غير مصادَق عليها". من المفترض أن يتم إعداد المصادقة لتطبيقات مؤسستك، وفقًا للاقتراح. ولكن بما أنّ هذا التطبيق تجريبي، سنواصل استخدامه بدون مصادقة.
الناتج هو عنوان URL لخدمة REST بالتنسيق التالي:
https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling
- اختبِر Cloud Function هذه من خلال تنفيذ الأمر التالي من الوحدة الطرفية:
gcloud functions call gemini-fn-calling --region=us-central1 --gen2 --data '{"calls":[["40.714224,-73.961452"]]}'
ردّ على طلب عيّنة عشوائية:
'{"replies":["{ \"DOOR_NUMBER\": \"277\", \"STREET_ADDRESS\": \"Bedford Ave\", \"AREA\":
null, \"CITY\": \"Brooklyn\", \"TOWN\": null, \"COUNTY\": \"Kings County\", \"STATE\":
\"NY\", \"COUNTRY\": \"USA\", \"ZIPCODE\": \"11211\", \"LANDMARK\": null}}```"]}'
يتم تنفيذ مَعلمات الطلب والاستجابة في دالة Cloud هذه بطريقة متوافقة مع استدعاء الدالة عن بُعد في BigQuery. ويمكن استخدامه مباشرةً من بيانات BigQuery في مكانها. وهذا يعني أنّه إذا كانت بيانات الإدخال (بيانات خطوط الطول والعرض) محفوظة في BigQuery، يمكنك استدعاء الدالة البعيدة على البيانات والحصول على استجابة الدالة التي يمكن تخزينها أو معالجتها في BigQuery مباشرةً.
- نفِّذ أمر DDL التالي من BigQuery لإنشاء دالة بعيدة تستدعي Cloud Function التي تم نشرها:
CREATE OR REPLACE FUNCTION
`mdm_gemini.MDM_GEMINI` (latlng STRING) RETURNS STRING
REMOTE WITH CONNECTION `us.gemini-bq-conn`
OPTIONS (
endpoint = 'https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling', max_batching_rows = 1
);
اختبار طلب البحث لاستخدام الدالة الجديدة عن بُعد التي تم إنشاؤها:
SELECT mdm_gemini.MDM_GEMINI(latlong) from mdm_gemini.CITIBIKE_STATIONS limit 1;
إذا تعذّر تنفيذ طلب البحث التجريبي الذي يستخدم الدالة البعيدة الجديدة التي تم إنشاؤها في BigQuery بسبب مشكلة في أذونات Cloud Functions، انتقِل إلى Cloud Functions من Google Cloud Console وابحث عن Cloud Function التي تم تفعيلها باسم gemini-fn-calling. انتقِل إلى علامة التبويب "الأذونات"، وأضِف الجهة الرئيسية باسم "allUsers"، وامنح الدور "Cloud Functions Invoker" للتأكّد من أنّ جميع المستخدمين يمكنهم الوصول إلى Cloud Functions (لأنّ هذا التطبيق تجريبي فقط).
7. تجربة حلّ بديل
إذا لم يكن لديك API_KEY اللازم لاستخدام طريقة استدعاء دالة الترميز الجغرافي العكسي، أو إذا لم يتم نشر Cloud Function لسبب ما، يمكنك اتّباع الخطوات التالية كبديل:
- نزِّل الملف CITIBIKE_STATIONS.csv من المستودع إلى مجلد مشروع Cloud Shell وانتقِل إلى هذا المجلد.
- صدِّر البيانات من ملف CSV إلى مجموعة بيانات BigQuery الجديدة
mdm_geminiباستخدام الأمر التالي في "وحدة Cloud Shell الطرفية":
bq load --source_format=CSV --skip_leading_rows=1 mdm_gemini.CITIBIKE_STATIONS ./CITIBIKE_STATIONS.csv \ name:string,latlng:string,capacity:numeric,num_bikes_available:numeric,num_docks_available:numeric,last_reported:timestamp,full_address_string:string
8. إنشاء جدول وإثراء بيانات العناوين
الخطوة 1: إنشاء الجدول
ملاحظة مهمة: تخطَّ هذه الخطوة إذا كنت قد استخدمت الحلّ البديل، لأنّك بالتأكيد أنشأت الجدول من قبل.
إذا لم تستخدم الحلّ البديل، نفِّذ لغة تعريف البيانات (DDL) التالية في "محرّر SQL" في BigQuery:
CREATE TABLE mdm_gemini.CITIBIKE_STATIONS as (
select name, latitude || ',' || longitude as latlong, capacity, num_bikes_available, num_docks_available,last_reported,
'' as full_address_string
from bigquery-public-data.new_york_citibike.citibike_stations) ;
لنعمل الآن على تحسين بيانات العناوين من خلال استدعاء الدالة البعيدة على إحداثيات خطوط الطول والعرض المتوفّرة في الجدول. حدِّد الشروط التالية للبيانات:
- تم الإبلاغ عنها في عام 2024
- عدد الدراجات المتاحة > 0
- السعة > 100
نفِّذ الاستعلام التالي:
update `mdm_gemini.CITIBIKE_STATIONS`
set full_address_string = `mdm_gemini.MDM_GEMINI`(latlong)
where EXTRACT(YEAR FROM last_reported) = 2024 and num_bikes_available > 0 and capacity > 100;
الخطوة 2: إنشاء مصدر ثانٍ لبيانات الموقع الجغرافي لمحطات الدراجات
لا تتخطَّ هذه الخطوة حتى إذا استخدمت الحلّ البديل لإنشاء الجدول.
في هذه الخطوة، ستنشئ مصدرًا ثانيًا لبيانات الموقع الجغرافي لمحطة الدراجات لأغراض هذا الدرس التطبيقي. يهدف ذلك إلى إثبات أنّ إدارة بيانات المؤسسة تجمع البيانات من مصادر متعددة وتحدّد الحقيقة الذهبية.
نفِّذ تعريفات البيانات التالية (DDL) في "أداة تعديل SQL" في BigQuery لإنشاء مصدر ثانٍ لبيانات الموقع الجغرافي يتضمّن سجلّين. لنسمِّ هذا الجدول mdm_gemini.CITIBIKE_STATIONS_SOURCE2 ولنُدرِج فيه سجلّين.
CREATE TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE2 (name STRING(55), address STRING(1000), embeddings_src ARRAY<FLOAT64>);
insert into mdm_gemini.CITIBIKE_STATIONS_SOURCE2 VALUES ('Location broadway and 29','{ "DOOR_NUMBER": "1593", "STREET_ADDRESS": "Broadway", "AREA": null, "CITY": "New York", "TOWN": null, "COUNTY": "New York County", "STATE": "NY", "COUNTRY": "USA", "ZIPCODE": "10019", "LANDMARK": null}', null);
insert into mdm_gemini.CITIBIKE_STATIONS_SOURCE2 VALUES ('Allen St & Hester','{ "DOOR_NUMBER": "36", "STREET_ADDRESS": "Allen St", "AREA": null, "CITY": "New York", "TOWN": null, "COUNTY": "New York County", "STATE": "NY", "COUNTRY": "USA", "ZIPCODE": "10002", "LANDMARK": null}', null);
9- إنشاء تضمينات لبيانات العناوين
التضمينات هي متجهات رقمية عالية الأبعاد تمثّل كيانًا معيّنًا، مثل جزء من نص أو ملف صوتي. تستخدم نماذج تعلُّم الآلة عمليات التضمين لترميز الدلالات حول هذه الكيانات لتسهيل التفكير فيها ومقارنتها. على سبيل المثال، من العمليات الشائعة في نماذج التجميع والتصنيف والاقتراحات قياس المسافة بين المتجهات في مساحة التضمين للعثور على العناصر الأكثر تشابهًا من الناحية الدلالية. تتيح لك واجهة برمجة التطبيقات text-embeddings إنشاء تضمين نصي باستخدام "الذكاء الاصطناعي التوليدي على Vertex AI". تضمينات النص هي تمثيلات رقمية للنص تلتقط العلاقات بين الكلمات والعبارات. يمكنك الاطّلاع على مزيد من المعلومات حول Vertex AI Text Embeddings هنا.
- نفِّذ لغة تعريف البيانات (DDL) أدناه لإنشاء نموذج بعيد لواجهة برمجة التطبيقات Vertex AI Text Embeddings API:
CREATE OR REPLACE MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`
REMOTE WITH CONNECTION `us.gemini-bq-conn`
OPTIONS (ENDPOINT = 'textembedding-gecko@latest');
- بعد أن أصبح نموذج التضمينات عن بُعد جاهزًا، لننشئ تضمينات للمصدر الأول ونخزّنها في جدول باستخدام طلب البحث التالي:
CREATE TABLE `mdm_gemini.CITIBIKE_STATIONS_SOURCE1` AS (
SELECT *
FROM ML.GENERATE_EMBEDDING(
MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`,
( select name, full_address_string as content from `mdm_gemini.CITIBIKE_STATIONS`
where full_address_string is not null )
)
);
بدلاً من إنشاء جدول جديد، يمكنك أيضًا تخزين حقل نتائج التضمينات في الجدول نفسه mdm_gemini.CITIBIKE_STATIONS الذي أنشأته سابقًا.
- لإنشاء تضمينات لبيانات العناوين في الجدول CITIBIKE_STATIONS_SOURCE2، نفِّذ طلب البحث التالي:
update `mdm_gemini.CITIBIKE_STATIONS_SOURCE2` a set embeddings_src =
(
SELECT ml_generate_embedding_result
FROM ML.GENERATE_EMBEDDING(
MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`,
( select name, address as content from `mdm_gemini.CITIBIKE_STATIONS_SOURCE2` ))
where name = a.name) where name is not null;
من المفترض أن يؤدي ذلك إلى إنشاء عمليات تضمين للمستند المصدر الثاني. يُرجى العِلم أنّنا أنشأنا حقل التضمينات في الجدول نفسه CITIBIKE_STATIONS_SOURCE2.
- لتصوّر التضمينات التي تم إنشاؤها لجداول بيانات المصدر 1 و2، نفِّذ الاستعلام التالي:
select name,address,embeddings_src from `mdm_gemini.CITIBIKE_STATIONS_SOURCE2`;
select name,content,ml_generate_embedding_result from `mdm_gemini.CITIBIKE_STATIONS_SOURCE1`;
لنبدأ الآن بإجراء بحث متّجه لتحديد العناصر المكرّرة.
10. إجراء بحث متّجه للإبلاغ عن العناوين المكرّرة
في هذه الخطوة، ستبحث في عمود تضمينات العناوين ml_generate_embedding_result في جدول mdm_gemini.CITIBIKE_STATIONS_SOURCE1 عن أفضل تضمينَين يتطابقان مع كل صف من البيانات في عمود embeddings_src في جدول mdm_gemini.CITIBIKE_STATIONS_SOURCE2.
لإجراء ذلك، نفِّذ طلب البحث التالي:
select query.name name1,base.name name2,
/* (select address from mdm_gemini.CITIBIKE_STATIONS_SOURCE2 where name = query.name) content1, base.content content2, */
distance
from VECTOR_SEARCH(
TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE1,
'ml_generate_embedding_result',
(SELECT * FROM mdm_gemini.CITIBIKE_STATIONS_SOURCE2),
'embeddings_src',
top_k => 2
) where query.name <> base.name
order by distance desc;
الجدول الذي يتم البحث فيه: mdm_gemini.CITIBIKE_STATIONS_SOURCE1 في الحقل ml_generate_embedding_result
الجدول الذي نستخدمه كأساس: mdm_gemini.CITIBIKE_STATIONS_SOURCE2 في الحقل embeddings_src
تحدّد top_k: عدد الجيران الأقرب المطلوب عرضهم. القيمة التلقائية هي 10. يتم التعامل مع القيمة السالبة على أنّها قيمة لا نهائية، ما يعني أنّه يتم احتساب جميع القيم على أنّها قيم مجاورة ويتم عرضها.
تحدّد distance_type: نوع المقياس المستخدَم لحساب المسافة بين متجهَين. أنواع المسافة المتوافقة هي الإقليدية وجيب التمام. القيمة التلقائية هي إقليدية.
نتيجة طلب البحث هي كما يلي:

كما ترى، تم إدراج أقرب جارَين (أي أقرب تكرارات) للصفين في CITIBIKE_STATIONS_SOURCE2 من CITIBIKE_STATIONS_SOURCE1. بما أنّ distance_type غير محدّد، يُفترض أنّه إقليدي ويتم قراءة المسافة على أنّها المسافات في قيم TEXT الخاصة بالعناوين بين المصدرَين، ويكون أدناها هو نصوص العناوين الأكثر تشابهًا.
لنضبط distance_type على Cosine باستخدام الاستعلام التالي:
select query.name name1,base.name name2,
/* (select address from mdm_gemini.CITIBIKE_STATIONS_SOURCE2 where name = query.name) content1, base.content content2, */
distance
from VECTOR_SEARCH(
TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE1,
'ml_generate_embedding_result',
(SELECT * FROM mdm_gemini.CITIBIKE_STATIONS_SOURCE2),
'embeddings_src',
top_k => 2,distance_type => 'COSINE'
) where query.name <> base.name
order by distance desc;
نتيجة طلب البحث هي كما يلي:

يتم ترتيب كلا الاستعلامين (لكلا نوعَي المسافة) حسب المسافة بترتيب تنازلي، ما يعني أنّنا نريد إدراج النتائج بترتيب تنازلي للمسافة. ولكن ستلاحظ أنّ ترتيب المسافة في طلب البحث الثاني معكوس. هل يمكنك تخمين السبب؟
نعم!! لقد حددت الإجابة الصحيحة. في تشابه جيب التمام، يشير الرقم الأكبر إلى تشابه أكبر ومسافة أقصر. في المسافة الإقليدية، يشير الرقم الأكبر إلى مسافة أكبر بين القيم.
لمزيد من المعلومات حول فهم MDM ونصائح لفهم الفرق بين المسافة الإقليدية وجيب التمام وتطبيقاتهما، يمكنك قراءة المدونة.
11. تَنظيم
لتجنُّب تحمّل رسوم في حسابك على Google Cloud مقابل الموارد المستخدَمة في هذه المشاركة، اتّبِع الخطوات التالية:
- في Google Cloud Console، انتقِل إلى صفحة إدارة الموارد.
- في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف.
- في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف لحذف المشروع.
- إذا كنت تريد الاحتفاظ بمشروعك، تخطَّ الخطوات أعلاه واحذف Cloud Function من خلال الانتقال إلى Cloud Functions، ثم ضَع علامة في المربّع بجانب الدالة التي تريد حذفها من قائمة الدوال وانقر على حذف.
12. تهانينا
تهانينا! لقد أظهرت قوة استخدام Gemini 1.0 Pro و"استدعاء الدوال" في تحويل بعض أنشطة إدارة الأجهزة الجوّالة إلى إمكانات مبسطة وفعّالة ومحدّدة وموثوقة للذكاء الاصطناعي التوليدي. بعد أن عرفت ذلك، يمكنك تحديد طرق أخرى لتنفيذ حالة الاستخدام نفسها أو وظائف أخرى لإدارة الخدمات الجوّالة. هل هناك مجموعات بيانات يمكنك التحقّق من صحتها أو فجوات معلومات يمكنك ملؤها أو مهام يمكن تنفيذها آليًا باستخدام طلبات بحث منظَّمة مضمَّنة في ردود الذكاء الاصطناعي التوليدي؟ يُرجى الرجوع إلى المستندات الخاصة بـ Vertex AI ووظائف BigQuery عن بُعد وCloud Functions والتضمينات والبحث المتّجه للحصول على إرشادات أكثر تفصيلاً. إليك مستودع GitHub الخاص بهذا المشروع. يُرجى إعلامنا بالمحتوى الذي ستنشئه باستخدام هذه المعلومات.