HyperAIHyperAI

Command Palette

Search for a command to run...

تسريع استدلال النص إلى SQL على Vanna باستخدام NVIDIA NIM لتحليلات أسرع وأكثر فعالية

تسريع استدلال النص إلى SQL على منصة Vanna باستخدام NVIDIA NIM لتحليلات أسرع يشكل إنشاء الاستفسارات بطيئاً وغير فعال من المدخلات الطبيعية عقبة رئيسية أمام اتخاذ القرار. هذا يجبر المحللين ومستخدمي الأعمال على الاعتماد بشكل كبير على فرق البيانات، مما يؤدي إلى تأخير الرؤى وتقييد المرونة. استدلال النص إلى SQL يغير الطريقة التي نتعامل بها مع البيانات، حيث يتيح للمستخدمين الاستفسار من قواعد البيانات المهيكلة باستخدام اللغة الطبيعية. وهذا خاص به عندما يتم نشر نموذج محدد للقطاع في الصناعات المتخصصة. ومع ذلك، فإن استدلال النماذج على نطاق واسع للأعباء التحليلية يأتي بمصاعب تتعلق بالتأخير والأداء. في هذا الدليل، سنوضح كيفية تحسين حل النص إلى SQL الخاص بمنصة Vanna باستخدام NVIDIA NIM، وهي خدمات مصغرة مسرعة للاستدلال تقدم نقاط نهاية محسنة للنماذج الذكية المولدة. حازت حل النصوص إلى SQL المفتوحة المصدر من Vanna على شعبية بين المنظمات بفضل مرونتها وأمانها وقدرتها على التكيف. ستتعلم كيف تفعل: تنزيل ومعالجة مجموعة بيانات Steam. تهيئة منصة Vanna مع NVIDIA NIM و NeMo Retriever. إنشاء وتعبئة قاعدة بيانات SQLite. التدريب مع البيانات. توليد استعلامات SQL. للحصول على أفضل تجربة، استخدمنا مجموعتين من البيانات المفتوحة المصدر لمجموعة الألعاب الخاصة بـ Steam من Kaggle، وهي تتضمن مجموعة بيانات غنية بمعطيات الألعاب التي تعتبر مثالية لاستعلامات التحليلات. المتطلبات الأساسية قبل البدء، تأكد من وجود ما يلي: - Python 3.8+ - مكتبات SQLite3 و Pandas - الوصول إلى مكتبة NVIDIA NIM - الوصول إلى قاعدة البيانات Milvus - نماذج NVIDIA Embedding (llama-3.2-nv-embedqa-1b-v2) - خدمة NVIDIA Llama 3.1 70B NIM الخطوات العملية تنزيل ومعالجة مجموعة بيانات Steam للبدء، قم بنسخ المستودع الموجود في /NVIDIA/GenerativeAIExamples وفتح كتيب Vanna_with_NVIDIA في القسم المجتمعي. خطوات المعالجة في هذا الدليل مستوحاة من كتيب رائع على Kaggle ويمكن العثور عليها في قسم "تحضير البيانات" من كتيب Vanna_with_NVIDIA. الخطوات الأساسية للمعالجة تشمل: - تنظيف وتصفية البيانات. - تحويل البيانات إلى تنسيق مناسب للاستخدام. - إنشاء ملفات CSV مجهزة. في نهاية خطوات المعالجة، ستحصل على ثلاثة ملفات CSV: - games.csv: يحتوي على معلومات أساسية عن الألعاب. - categories.csv: يحتوي على فئات الألعاب. - tags.csv: يحتوي على العلامات وتكرارات العلامات للألعاب. تهيئة منصة Vanna مع NVIDIA NIM و NeMo Retriever تحتاج إلى إنشاء مثيل من Vanna يتصل بقاعدة بيانات متجهة ومحرك تضمين ونقطة نهاية النموذج اللغوي الكبير (LLM). لقد استخدمنا Milvus كقاعدة بيانات متجهة نظرًا لقدراتها في تسريع GPU، ونموذج NVIDIA Embedding (llama-3.2-nv-embedqa-1b-v2)، وخدمة NVIDIA Llama 3.1 70B NIM. تتيح خدمات NIM المصغرة تشغيل نموذج الاستدلال الخاص بك على البنية التحتية المتسارعة من NVIDIA، مما يؤدي إلى زمن استجابة أسرع وكفاءة تكلفة أعلى للنشر في الإنتاج. تتوفر NVIDIA NIM مع ترخيص البرمجيات NVIDIA AI Enterprise، مما يوفر لك ملكية التعديلات الخاصة بك وتحكمًا كاملًا في الملكية الفكرية (IP) وتطبيقات الذكاء الاصطناعي. للمزيد من تعليمات الإعداد حول نقاط نهاية NIM، راجع الوثائق الرسمية لـ NVIDIA NIM. الرسم البياني 1: أنبوب NVIDIA المتسارع لـ Vanna في النص التالي، سنشرح تهيئة مثيل Vanna باستخدام المكونات المتسارعة من NVIDIA. إنشاء وتعبئة قاعدة بيانات SQLite ```python import sqlite3 import pandas as pd # تحديد المسار لقاعدة البيانات SQLite sqlite_path = 'steam_data.db' # الاتصال بقاعدة البيانات SQLite sql_connect = sqlite3.connect(sql_path) c = sql_connect.cursor() # إنشاء الجداول init_sqls = """ CREATE TABLE IF NOT EXISTS games ( app_id INTEGER PRIMARY KEY, name TEXT, release_date TEXT, price REAL, short_description TEXT, positive INTEGER, negative INTEGER, min_owners INTEGER, max_owners INTEGER, hltb_single REAL ); CREATE TABLE IF NOT EXISTS categories ( app_id INTEGER, categories TEXT, FOREIGN KEY (app_id) REFERENCES games(app_id) ); CREATE TABLE IF NOT EXISTS tags ( app_id INTEGER, tags TEXT, tag_frequencies TEXT, FOREIGN KEY (app_id) REFERENCES games(app_id) ); """ for sql in init_sqls.split(";"): c.execute(sql) # قراءة ملفات CSV games_df = pd.read_csv('processed_dataset/games.csv') categories_df = pd.read_csv('processed_dataset/categories.csv') tags_df = pd.read_csv('processed_dataset/tags.csv') # إدخال البيانات في الجداول games_df.to_sql('games', sql_connect, if_exists='append', index=False) categories_df.to_sql('categories', sql_connect, if_exists='append', index=False) tags_df.to_sql('tags', sql_connect, if_exists='append', index=False) sql_connect.commit() ``` التدريب باستخدام البيانات تقدم Vanna أداءً أفضل عندما تكون لديها سياق حول البيانات المستفسَر عنها والمصطلحات الخاصة بالعمل التجاري. توليد استعلامات SQL أصبحت الآن مستعدًا لبدء استفسار قاعدة البيانات باستخدام Vanna المدعومة بـ NIM. الخاتمة في هذا الدليل، تعلمت كيفية تسريع استدلال النص إلى SQL على منصة Vanna باستخدام NVIDIA NIM. مع مخطط قاعدة بيانات نظيف ومجموعة بيانات حقيقية ونقطة نهاية استدلال محسنة، يكون النظام جاهزًا لتقديم تحليلات أكثر استجابة للاستفسارات التي ينشئها المستخدمون. لمزيد من الاستكشاف - تجربة إضافة معلومات تدريب مختلفة لتحسين توليد الاستعلامات SQL. - استكشاف وثائق NVIDIA NIM للحصول على معلومات أكثر تفصيلاً حول الإعداد والتشغيل. - تجربة استخدام نماذج NVIDIA الأخرى لفهم مدى تأثيرها على الأداء والاستجابة.

الروابط ذات الصلة