أنشئ واجهة محادثة مستندة إلى الذكاء الاصطناعي (AI) لواجهاتك المبرمَجة لنظامك التجاري، واسمح لزملائك بطرح أسئلة حول data نشاطك التجاري. إنّ إجراء التحليل وإعداد التقارير عن بيانات مؤسستك هو إجراء ضروري لتحسين طريقة إدارة نشاطك التجاري. يمكن العثور على المشاكل واكتشاف المؤشرات وفحص النتائج باستخدام البيانات المناسبة، ولكن بصفتك أحد المطوّرين، قد يكون من الصعب مساعدة زملائك غير المعنيّين بالترميز في اكتشاف البيانات المناسبة.
مشروع SQL Talk هو تطبيق مفتوح المصدر يستخدم تكنولوجيا الذكاء الاصطناعي التوليدي للإجابة عن الأسئلة حول بيانات النشاط التجاري. يستخدم المشروع Gemini API وميزة استدعاء الدوال لتحويل أسئلة بيانات النشاط التجاري إلى طلبات بحث SQL وطلبات بيانات من واجهة برمجة التطبيقات، ثم تحويل النتائج مرة أخرى إلى لغة بسيطة. يمكنك استخدام هذا المشروع كنقطة بدء لإنشاء وكيل بيانات لنشاطك التجاري، ومساعدة زملاءك في الحصول على إجابات بدون الحاجة إلى كتابة مجموعة من الرموز البرمجية ذات الاستخدام الواحد.
للاطّلاع على نظرة عامة في فيديو حول المشروع وكيفية توسيع نطاقه، بما في ذلك إحصاءات من فريق التطوير، يمكنك الاطّلاع على AI Data Agent | Build with Google AI. بخلاف ذلك، يمكنك البدء في توسيع نطاق المشروع باستخدام الخطوات التالية:
الشكل 1: واجهة مستخدم تطبيق مشروع SQL Talk
إعداد المشروع
ترشدك هذه التعليمات إلى كيفية إعداد مشروع SQL Talk بغرض تطويره واختباره. تتضمّن الخطوات العامة إنشاء مشروع SQL Talk ، وإعداد مشروع تطوير في محرر Google Cloud Shell ، والحصول على معرّف مشروع على Google Cloud، واستخدام نص برمجي لضبط إعدادات المشروع. توضِّح هذه التعليمات كيفية إعداد المشروع باستخدام محرِّر Cloud Shell، ما يسهّل إعداد المشروع وتشغيله وتعديله.
إنشاء مثيل Cloud Shell للمشروع
يمكنك إعداد مشروع SQL Talk من خلال استنساخ مستودع المشروع في مثيل Cloud Shell. تعمل هذه العملية على إعداد مثيل لبيئة تطوير افتراضية داخل بنية Google Cloud الأساسية للمشروع، كما تعمل على استنساخ مستودع الرموز البرمجية في تلك البيئة الافتراضية.
لإنشاء مثيل Cloud Shell من أجل SQL Talk:
- انقر على الرابط التالي لإنشاء مثيل Cloud Shell من SQL Talk.
يُنشئ هذا الرابط مثيلًا لـ "محرر Google Cloud Shell" ويُنشئ نسخة طبق الأصل من مستودع SQL Talk في المثيل.
الشكل 2: تم استنساخ مشروع SQL Talk في بيئة تطوير ملف تحرير Google Cloud Shell.
الحصول على رقم تعريف مشروع على السحابة الإلكترونية
يستخدم مشروع SQL Talk رقم تعريف مشروع على Google Cloud للربط بخدمات Google Cloud، بما في ذلك نماذج Gemini. يمكنك ضبط رقم تعريف مشروع في محرر Cloud Shell للسماح للتطبيق بالاتصال بهذه الخدمات.
لربط "محرر Cloud Shell" بمعرّف مشروع:
- انتقِل إلى Google Cloudconsole وسجِّل الدخول إذا لزم الأمر.
- اختَر مشروعًا حاليًا على Cloud أو أنشئ مشروعًا جديدًا.
- سجِّل رقم تعريف مشروع Cloud للمشروع.
اربط نسخة "المحرِّر" بمشروعك واضبط المشروع. في نافذة "محرِّر Cloud Shell"، في لوحة وحدة التحكّم، أدخِل الأمر التالي:
gcloud config set project YOUR_PROJECT_ID
ضبط إعدادات مشروع SQL Talk
يستخدم مشروع SQL Talk خدمات Google Cloud لتشغيل المشروع، بما في ذلك
خدمة قاعدة بيانات BigQuery وواجهة برمجة تطبيقات Vertex AI للربط بنماذج Gemini.
يتضمّن مشروع SQL Talk نصًا برمجيًا setup.sh
يعمل على ضبط إعدادات المشروع
باستخدام خدمات Google Cloud المطلوبة وبدء الإصدار التلقائي من
المشروع.
لضبط وتشغيل مثيل "محرر Cloud Shell" للمشروع:
في لوحة المحطة الطرفية في نافذة "محرر Cloud Shell"، انتقِل إلى دليل مشروع Cloud Shell SQL Talk (
/sql-talk-app
):cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
في لوحة الوحدة الطرفية، أدخِل الأمر التالي:
bash setup.sh
عند اكتمال نص الإعداد بنجاح، من المفترض أن تظهر لك رسالة مشابهة للتالي في نافذة وحدة تحكّم محرِّر Cloud Shell. تشير هذه الرسالة إلى نجاح عملية الإعداد ويعمل تطبيق SQL Talk:
You can now view your Streamlit app in your browser.
Network URL: http://##.##.##.##:8080
External URL: http://##.##.##.##:8080
اختبار المشروع
بعد إكمال عملية إعداد مشروع SQL Talk، يمكنك اختبار التطبيق للتأكّد من أنّه يعمل على النحو المتوقّع. يشغِّل نص الإعداد التطبيق تلقائيًا عند تشغيله، ويمكنك إعادة تشغيل التطبيق باستخدام الخطوات التالية.
لتشغيل تطبيق SQL Talk:
إذا كان محرِّر Cloud Shell غير نشط وغير متصل، قد تحتاج إلى إعادة الاتصال بمعرّف مشروعك على Cloud.
gcloud config set project YOUR_PROJECT_ID
في لوحة وحدة الطرفية في نافذة محرِّر Cloud Shell، انتقِل إلى دليل مشروع Cloud Shell SQL Talk.
cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
في لوحة الوحدة الطرفية، أدخِل الأمر التالي.
~/miniforge/bin/streamlit run app.py --server.enableCORS=false \ --server.enableXsrfProtection=false --server.port 8080
اطّلِع على تطبيق SQL Talk. في أعلى يسار نافذة "محرر Cloud Shell"، انقر على الزر معاينة الويب، ثم علىمعاينة على المنفذ 8080.
للاطّلاع على آخر الأخبار المتعلّقة بتطبيق SQL Talk:
- في ميزة "معاينة الويب" لتطبيق SQL Talk على الويب، أعِد تحميل المتصفّح أو علامة تبويب المتصفّح.
لإيقاف تطبيق SQL Talk، اتّبِع الخطوات التالية:
- في لوحة المحطة الطرفية في نافذة "محرِّر Cloud Shell"، اكتب Ctrl-C.
تعديل التطبيق
يمكنك تغيير السلوك وإضافة إمكانات إلى تطبيق SQL Talk عن طريق تعديل رمز Python للتطبيق. يصف هذا القسم كيفية إضافة طلب دالة جديد إلى تطبيق SQL Talk.
تستخدِم ميزة استدعاء الدوالّ في Gemini API بنية جملة معيّنة لتحديد الدوالّ التي سيستخدمها النموذج التوليدي للإجابة عن الأسئلة أو حلّ المشاكل. ولا يلزم أن تطابق بنية الجملة هذه بدقة بنية طلب واجهة برمجة تطبيقات فعلي. بدلاً من ذلك، يمكنك استخدام ميزة استدعاء الدوالّ لفرض تقديم النموذج التوليدي لمدخلات بيانات أو مَعلمات معيّنة تتوافق مع بنية طلب البيانات من واجهة برمجة التطبيقات، ثم استخدام هذه المَعلمات للقيام بتنفيذ طلبات البيانات الفعلية من واجهة برمجة التطبيقات ضمن رمز تطبيقك.
يوضّح لك مثال التنفيذ هذا كيفية إنشاء تعريف لطلب دالة لعرض استعلامات قاعدة البيانات أو المهام الأخيرة، ثم ربط هذا التعريف بطلب واجهة برمجة التطبيقات الفعلي ضمن رمز تطبيق SQL Talk.
إضافة تعريف لطلب دالة
أضِف طلب استدعاء دالة جديدًا لعرض طلبات البحث أو المهام الأخيرة في قاعدة البيانات. يستخدم النموذج التوليدي هذا التعريف لفهم ما تفعله طلب بيانات واجهة برمجة التطبيقات وما هي مَعلمات الإدخال التي يتطلبها. تم تحديد مثال تعريف الدالة بدون أيّ مَعلمات.
لإضافة طلب تنفيذ وظيفة جديد إلى التطبيق:
- في نافذة "محرِّر Cloud Shell"، افتح ملف رمز
sql-talk-app/app.py
. بعد إعلان الدالة
list_datasets_func
، أضِفFunctionDeclaration
جديدًا.list_jobs_func = FunctionDeclaration( name="list_jobs", description="Get a list of the 10 most recent database requests to help answer the user's question", parameters={ "type": "object", "properties": { }, }, )
أضِف الدالة الجديدة إلى عنصر
sql_query_tool
.sql_query_tool = Tool( function_declarations=[ sql_query_func, list_datasets_func, List_jobs_func, # add this new function list_tables_func, get_table_func, ], )
لإضافة رمز لتشغيل طلب البيانات من واجهة برمجة التطبيقات للدالة الجديدة:
في ملف رمز
sql-talk-app/app.py
، أضِف عبارةif
جديدة إلىwhile function_calling_in_process:
الحلقة.if response.function_call.name == "list_datasets": ... # add this if clause for list_jobs function if response.function_call.name == "list_jobs": api_response = client.list_jobs(max_results=10) # API request(s) api_response = str([job.job_id for job in api_response]) api_requests_and_responses.append( [response.function_call.name,params, api_response])
مراجع إضافية
لمزيد من المعلومات عن مشروع "طلبات بحث SQL"، يُرجى الاطّلاع على مستودع الرموز البرمجية والاطّلاع على مشاركة مدونة "منتدى Cloud" حول مشروع "SQL Talk". إذا كنت بحاجة إلى مساعدة في إنشاء التطبيق أو كنت تريد التعاون مع مطوّرين آخرين، يمكنك الاطّلاع على خادم Google Developers Community Discord ومنتدى Google Cloud AI/ML. للاطّلاع على المزيد من مشاريع "الإنشاء باستخدام الذكاء الاصطناعي من Google"، يمكنك الاطّلاع على قائمة تشغيل الفيديوهات.