يمكنك إنشاء واجهة دردشة مستندة إلى الذكاء الاصطناعي (AI) لنشاطك التجاري. برمجة النظام والسماح لزملائك بطرح أسئلة حول بيانات الأعمال. يعد إجراء التحليل وإعداد التقارير حول بيانات مؤسستك ضرورية لتحسين طريقة إدارة أعمالك. إيجاد المشكلات، واكتشاف والاتجاهات والتحقق من النتائج كلها ممكنة باستخدام البيانات الصحيحة، ولكن مطور برامج، فإن مساعدة زملائك الذين لا يستخدمون الترميز في اكتشاف البيانات الصحيحة يمكن تحديًا.
تشير رسالة الأشكال البيانية محادثة SQL هو تطبيق مفتوح المصدر يستخدم تكنولوجيا الذكاء الاصطناعي التوليدي الإجابة عن الأسئلة حول بيانات الأعمال. يستخدم المشروع Gemini API ميزة استدعاء الدالة إلى وتحويل الأسئلة حول بيانات النشاط التجاري إلى استعلامات SQL (لغة الاستعلام البنيوية) واستدعاءات واجهة برمجة التطبيقات، ثم لتحويل النتائج مرة أخرى إلى لغة عادية. يمكنك استخدام هذا المشروع نقطة انطلاق لإنشاء وكيل بيانات لنشاطك التجاري الزملاء في الحصول على إجابات دون الحاجة إلى كتابة مجموعة من التعليمات البرمجية أحادية الاستخدام.
للحصول على نظرة عامة بالفيديو على المشروع وكيفية تمديده، بما في ذلك الرؤى من الأشخاص الذين يبنونها، تحقق من وكيل بيانات الذكاء الاصطناعي | إنشاء التطبيقات باستخدام تكنولوجيات الذكاء الاصطناعي من Google بخلاف ذلك، يمكنك البدء في تمديد المشروع باستخدام ما يلي على التعليمات
الشكل 1. واجهة مستخدم تطبيق مشروع SQL Talk.
إعداد المشروع
ترشدك هذه التعليمات خلال الحصول على إعداد مشروع SQL Talk والتطوير والاختبار. الخطوات العامة هي إنشاء محادثة SQL إعداد محرِّر 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. لتطوير البرامج.
الحصول على رقم تعريف مشروع Cloud
يستخدم مشروع SQL Talk معرّف مشروع Google Cloud للاتصال بخدمة Google Cloud خدمات أخرى، بما في ذلك نماذج Gemini يمكنك تهيئة رقم تعريف مشروع ضمن محرّر Cloud Shell للسماح للتطبيق بالاتصال بهذه الخدمات.
لربط "محرِّر Cloud Shell" برقم تعريف مشروع، اتّبِع الخطوات التالية:
- انتقِل إلى Google Cloud. وحدة التحكم وتسجيل الدخول إذا لزم الأمر.
- اختيار مشروع حالي على Cloud إنشاء علامة جديدة
- دوِّن رقم تعريف مشروع Cloud الخاص بالمشروع.
اربط مثيل "محرّر إعلانات Google" بمشروعك واضبط المشروع. في نافذة "محرّر Cloud Shell"، أدخِل الأمر التالي في اللوحة الطرفية:
gcloud config set project YOUR_PROJECT_ID
إعداد مشروع SQL Talk
يستخدم مشروع SQL Talk خدمات Google Cloud لتشغيل المشروع، بما في ذلك
خدمة قاعدة بيانات BigQuery
Vertex AI API لربطها بنماذج Gemini
يشتمل مشروع SQL Talk على نص برمجي باللغة setup.sh
لضبط المشروع.
بخدمات Google Cloud المطلوبة ويبدأ تشغيل الإصدار التلقائي من
مشروعك.
لضبط مثيل "محرِّر 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" غير نشِط لفترة قصيرة، قد تحتاج إلى إجراء ما يلي: لإعادة الاتصال برقم تعريف مشروعك على Google Cloud.
gcloud config set project YOUR_PROJECT_ID
في اللوحة الطرفية لنافذة محرّر Cloud Shell، انتقل إلى دليل مشروع SQL Talk في Shell.
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 (لغة الاستعلام البنيوية)، اطلع على مستودع الرموز واطّلِع على مشاركة مدوّنة في "منتدى Google Cloud" حول مشروع SQL Talk. إذا كنت بحاجة إلى مساعدة في إنشاء التطبيق أو للتعاون مع مطوّري برامج آخرين، اطّلِع على دليل Google Developers خادم Community Discord منتدى الذكاء الاصطناعي/تعلُّم الآلة في Google Cloud لمزيد من مشاريع "الإنشاء باستخدام الذكاء الاصطناعي من Google"، اطّلِع على قائمة تشغيل الفيديوهات.