ذكاء البيانات التوليدية

استكشاف البيانات بسهولة: استخدم SQL وText-to-SQL في دفاتر ملاحظات Amazon SageMaker Studio JupyterLab | خدمات الويب الأمازون

التاريخ:

أمازون ساجميكر ستوديو يوفر حلاً مُدارًا بالكامل لعلماء البيانات لإنشاء نماذج التعلم الآلي (ML) وتدريبها ونشرها بشكل تفاعلي. في عملية العمل على مهام التعلم الآلي الخاصة بهم، يبدأ علماء البيانات عادةً سير عملهم من خلال اكتشاف مصادر البيانات ذات الصلة والاتصال بها. ثم يستخدمون SQL لاستكشاف البيانات وتحليلها وتصورها ودمجها من مصادر مختلفة قبل استخدامها في التدريب والاستدلال على تعلم الآلة. في السابق، كان علماء البيانات غالبًا ما يجدون أنفسهم يستخدمون أدوات متعددة لدعم SQL في سير عملهم، مما أعاق الإنتاجية.

يسعدنا أن نعلن أن دفاتر ملاحظات JupyterLab في SageMaker Studio تأتي الآن مزودة بدعم مدمج لـ SQL. يمكن لعلماء البيانات الآن:

  • الاتصال بخدمات البيانات الشعبية بما في ذلك أمازون أثينا, الأمازون الأحمر, أمازون داتازونو ندفة الثلج مباشرة داخل دفاتر الملاحظات
  • تصفح قواعد البيانات والمخططات والجداول وطرق العرض وابحث عنها، وقم بمعاينة البيانات داخل واجهة دفتر الملاحظات
  • امزج كود SQL وPython في نفس دفتر الملاحظات لاستكشاف البيانات وتحويلها بكفاءة لاستخدامها في مشاريع تعلم الآلة
  • استخدم ميزات إنتاجية المطورين مثل إكمال أوامر SQL والمساعدة في تنسيق التعليمات البرمجية وتمييز بناء الجملة للمساعدة في تسريع تطوير التعليمات البرمجية وتحسين إنتاجية المطور بشكل عام

بالإضافة إلى ذلك، يمكن للمسؤولين إدارة الاتصالات بخدمات البيانات هذه بشكل آمن، مما يسمح لعلماء البيانات بالوصول إلى البيانات المصرح بها دون الحاجة إلى إدارة بيانات الاعتماد يدويًا.

في هذا المنشور، نوجهك خلال إعداد هذه الميزة في SageMaker Studio، ونوجهك عبر الإمكانات المتنوعة لهذه الميزة. ثم نعرض كيف يمكنك تحسين تجربة SQL داخل الكمبيوتر الدفتري باستخدام إمكانات تحويل النص إلى SQL التي توفرها نماذج اللغة الكبيرة المتقدمة (LLMs) لكتابة استعلامات SQL المعقدة باستخدام نص اللغة الطبيعية كمدخل. أخيرًا، لتمكين جمهور أوسع من المستخدمين من إنشاء استعلامات SQL من إدخال اللغة الطبيعية في دفاتر الملاحظات الخاصة بهم، نعرض لك كيفية نشر نماذج تحويل النص إلى SQL باستخدام الأمازون SageMaker نقاط النهاية.

حل نظرة عامة

من خلال تكامل SQL للكمبيوتر الدفتري SageMaker Studio JupyterLab، يمكنك الآن الاتصال بمصادر البيانات الشائعة مثل Snowflake وAthena وAmazon Redshift وAmazon DataZone. تمكنك هذه الميزة الجديدة من أداء وظائف مختلفة.

على سبيل المثال، يمكنك استكشاف مصادر البيانات بشكل مرئي مثل قواعد البيانات والجداول والمخططات مباشرة من نظام JupyterLab البيئي الخاص بك. إذا كانت بيئات الكمبيوتر الدفتري لديك تعمل على SageMaker Distribution 1.6 أو أعلى، فابحث عن عنصر واجهة مستخدم جديد على الجانب الأيسر من واجهة JupyterLab. تعمل هذه الإضافة على تحسين إمكانية الوصول إلى البيانات وإدارتها داخل بيئة التطوير الخاصة بك.

إذا لم تكن حاليًا في توزيعة SageMaker المقترحة (1.5 أو أقل) أو في بيئة مخصصة، فارجع إلى الملحق للحصول على مزيد من المعلومات.

بعد قيامك بإعداد الاتصالات (الموضح في القسم التالي)، يمكنك إدراج اتصالات البيانات واستعراض قواعد البيانات والجداول وفحص المخططات.

يمكّنك ملحق SQL المدمج في SageMaker Studio JupyterLab أيضًا من تشغيل استعلامات SQL مباشرة من جهاز كمبيوتر محمول. يمكن لأجهزة الكمبيوتر المحمولة Jupyter التمييز بين كود SQL وPython باستخدام %%sm_sql الأمر السحري، والذي يجب وضعه أعلى أي خلية تحتوي على تعليمات برمجية SQL. يشير هذا الأمر إلى JupyterLab أن الإرشادات التالية هي أوامر SQL وليست كود Python. يمكن عرض مخرجات الاستعلام مباشرة داخل دفتر الملاحظات، مما يسهل التكامل السلس لسير عمل SQL وPython في تحليل البيانات الخاصة بك.

يمكن عرض مخرجات الاستعلام بشكل مرئي كجداول HTML، كما هو موضح في لقطة الشاشة التالية.

ويمكن أيضًا كتابتها إلى أ الباندا DataFrame.

المتطلبات الأساسية المسبقة

تأكد من استيفاء المتطلبات الأساسية التالية حتى تتمكن من استخدام تجربة SQL للكمبيوتر الدفتري SageMaker Studio:

  • سيج ميكر ستوديو V2 – تأكد من أنك تقوم بتشغيل أحدث إصدار من جهازك مجال SageMaker Studio وملفات تعريف المستخدمين. إذا كنت تستخدم حاليًا SageMaker Studio Classic، فارجع إلى الترحيل من Amazon SageMaker Studio Classic.
  • دور IAM - يتطلب SageMaker إدارة الهوية والوصول AWS (IAM) سيتم تعيينه لمجال SageMaker Studio أو ملف تعريف المستخدم لإدارة الأذونات بشكل فعال. قد تكون هناك حاجة لتحديث دور التنفيذ لجلب تصفح البيانات وميزة تشغيل SQL. يمكّن نموذج السياسة التالي المستخدمين من المنح والإدراج والتشغيل غراء AWSأثينا, خدمة تخزين أمازون البسيطة (Amazon S3) ، مدير أسرار AWS، وموارد Amazon Redshift:
    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Sid":"SQLRelatedS3Permissions",
             "Effect":"Allow",
             "Action":[
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetBucketLocation",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload",
                "s3:PutObject"
             ],
             "Resource":[
                "arn:aws:s3:::sagemaker*/*",
                "arn:aws:s3:::sagemaker*"
             ]
          },
          {
             "Sid":"GlueDataAccess",
             "Effect":"Allow",
             "Action":[
                "glue:GetDatabases",
                "glue:GetSchema",
                "glue:GetTables",
                "glue:GetDatabase",
                "glue:GetTable",
                "glue:ListSchemas",
                "glue:GetPartitions",
                "glue:GetConnections",
                "glue:GetConnection",
                "glue:CreateConnection"
             ],
             "Resource":[
                "arn:aws:glue:<region>:<account>:table/sagemaker*/*",
                "arn:aws:glue:<region>:<account>:database/sagemaker*",
                "arn:aws:glue:<region>:<account>:schema/sagemaker*",
                "arn:aws:glue:<region>:<account>:connection/sagemaker*",
                "arn:aws:glue:<region>:<account>:registry/sagemaker*",
                "arn:aws:glue:<region>:<account>:catalog"
             ]
          },
          {
             "Sid":"AthenaQueryExecution",
             "Effect":"Allow",
             "Action":[
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:ListTableMetadata",
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:RunQuery",
                "athena:StartSession",
                "athena:GetQueryResults",
                "athena:ListWorkGroups",
                "athena:GetDataCatalog",
                "athena:GetWorkGroup"
             ],
             "Resource":[
                "arn:aws:athena:<region>:<account>:workgroup/sagemaker*",
                "arn:aws:athena:<region>:<account>:datacatalog/sagemaker*"
             ]
          },
          {
             "Sid":"GetSecretsAndCredentials",
             "Effect":"Allow",
             "Action":[
                "secretsmanager:GetSecretValue",
                "redshift:GetClusterCredentials"
             ],
             "Resource":[
                "arn:aws:secretsmanager:<region>:<account>:secret:sagemaker*",
                "arn:aws:redshift:<region>:<account>:dbuser:sagemaker*/sagemaker*",
                "arn:aws:redshift:<region>:<account>:dbgroup:sagemaker*/sagemaker*",
                "arn:aws:redshift:<region>:<account>:dbname:sagemaker*/sagemaker*"
             ]
          }
       ]
    }

  • مساحة جوبيتر لاب - أنت بحاجة إلى الوصول إلى SageMaker Studio وJupyterLab Space المحدثين توزيع سيج ميكر v1.6 أو إصدارات الصور الأحدث. إذا كنت تستخدم صورًا مخصصة لـ JupyterLab Spaces أو الإصدارات الأقدم من SageMaker Distribution (الإصدار 1.5 أو أقل)، فارجع إلى الملحق للحصول على إرشادات لتثبيت الحزم والوحدات النمطية الضرورية لتمكين هذه الميزة في بيئاتك. لمعرفة المزيد حول مساحات SageMaker Studio JupyterLab، راجع تعزيز الإنتاجية في Amazon SageMaker Studio: تقديم مساحات JupyterLab وأدوات الذكاء الاصطناعي الإبداعية.
  • بيانات اعتماد الوصول إلى مصدر البيانات - تتطلب ميزة الكمبيوتر الدفتري SageMaker Studio اسم المستخدم وكلمة المرور للوصول إلى مصادر البيانات مثل Snowflake وAmazon Redshift. قم بإنشاء اسم مستخدم ووصول يعتمد على كلمة المرور إلى مصادر البيانات هذه إذا لم يكن لديك واحد بالفعل. الوصول المستند إلى OAuth إلى Snowflake ليس ميزة مدعومة حتى كتابة هذه السطور.
  • تحميل سحر SQL - قبل تشغيل استعلامات SQL من خلية دفتر ملاحظات Jupyter، من الضروري تحميل ملحق SQL السحري. استخدم الأمر %load_ext amazon_sagemaker_sql_magic لتمكين هذه الميزة. بالإضافة إلى ذلك، يمكنك تشغيل %sm_sql? أمر لعرض قائمة شاملة بالخيارات المدعومة للاستعلام من خلية SQL. تتضمن هذه الخيارات تعيين حد استعلام افتراضي يبلغ 1,000، وتشغيل الاستخراج الكامل، وإدخال معلمات الاستعلام، من بين خيارات أخرى. يسمح هذا الإعداد بمعالجة بيانات SQL بشكل مرن وفعال مباشرةً داخل بيئة الكمبيوتر المحمول لديك.

إنشاء اتصالات قاعدة البيانات

تم تحسين إمكانيات تصفح وتنفيذ SQL المضمنة في SageMaker Studio بواسطة اتصالات AWS Glue. اتصال AWS Glue هو كائن AWS Glue Data Catalog الذي يخزن البيانات الأساسية مثل بيانات اعتماد تسجيل الدخول وسلاسل URI ومعلومات السحابة الخاصة الافتراضية (VPC) لمخازن بيانات محددة. يتم استخدام هذه الاتصالات بواسطة برامج زحف AWS Glue والوظائف ونقاط نهاية التطوير للوصول إلى أنواع مختلفة من مخازن البيانات. يمكنك استخدام هذه الاتصالات لكل من بيانات المصدر والهدف، وحتى إعادة استخدام نفس الاتصال عبر العديد من برامج الزحف أو استخراج المهام وتحويلها وتحميلها (ETL).

لاستكشاف مصادر بيانات SQL في الجزء الأيمن من SageMaker Studio، تحتاج أولاً إلى إنشاء كائنات اتصال AWS Glue. تسهل هذه الاتصالات الوصول إلى مصادر البيانات المختلفة وتسمح لك باستكشاف عناصر البيانات التخطيطية الخاصة بها.

في الأقسام التالية، نستعرض عملية إنشاء موصلات AWS Glue الخاصة بـ SQL. سيمكنك هذا من الوصول إلى مجموعات البيانات وعرضها واستكشافها عبر مجموعة متنوعة من مخازن البيانات. للحصول على معلومات أكثر تفصيلاً حول اتصالات AWS Glue، راجع الاتصال بالبيانات.

أنشئ اتصال AWS Glue

الطريقة الوحيدة لجلب مصادر البيانات إلى SageMaker Studio هي باستخدام اتصالات AWS Glue. تحتاج إلى إنشاء اتصالات AWS Glue بأنواع اتصالات محددة. حتى كتابة هذه السطور، الآلية الوحيدة المدعومة لإنشاء هذه الاتصالات هي استخدام واجهة سطر الأوامر AWS (AWS CLI).

تعريف الاتصال بملف JSON

عند الاتصال بمصادر بيانات مختلفة في AWS Glue، يجب عليك أولاً إنشاء ملف JSON يحدد خصائص الاتصال - ويشار إليه باسم ملف تعريف الاتصال. يعد هذا الملف ضروريًا لإنشاء اتصال AWS Glue ويجب أن يتضمن تفاصيل جميع التكوينات اللازمة للوصول إلى مصدر البيانات. للحصول على أفضل الممارسات الأمنية، يوصى باستخدام Secrets Manager لتخزين المعلومات الحساسة بشكل آمن مثل كلمات المرور. وفي الوقت نفسه، يمكن إدارة خصائص الاتصال الأخرى مباشرةً من خلال اتصالات AWS Glue. يتأكد هذا الأسلوب من حماية بيانات الاعتماد الحساسة مع الاستمرار في إتاحة الوصول إلى تكوين الاتصال وإدارته.

فيما يلي مثال لتعريف الاتصال JSON:

{
    "ConnectionInput": {
        "Name": <GLUE_CONNECTION_NAME>,
        "Description": <GLUE_CONNECTION_DESCRIPTION>,
        "ConnectionType": "REDSHIFT | SNOWFLAKE | ATHENA",
        "ConnectionProperties": {
            "PythonProperties": "{"aws_secret_arn": <SECRET_ARN>, "database": <...>}"
        }
    }
}

عند إعداد اتصالات AWS Glue لمصادر بياناتك، هناك بعض الإرشادات المهمة التي يجب اتباعها لتوفير الوظائف والأمان:

  • تقييد الخصائص - في حدود PythonProperties المفتاح، تأكد من أن كافة الخصائص أزواج ذات قيمة مفتاحية متشددة. من الضروري الهروب بشكل صحيح من علامات الاقتباس المزدوجة باستخدام حرف الشرطة المائلة العكسية () عند الضرورة. يساعد هذا في الحفاظ على التنسيق الصحيح وتجنب أخطاء بناء الجملة في JSON.
  • التعامل مع المعلومات الحساسة - على الرغم من أنه من الممكن تضمين جميع خصائص الاتصال بداخلها PythonProperties، فمن المستحسن عدم تضمين تفاصيل حساسة مثل كلمات المرور مباشرة في هذه الخصائص. بدلاً من ذلك، استخدم Secrets Manager للتعامل مع المعلومات الحساسة. يعمل هذا الأسلوب على تأمين بياناتك الحساسة عن طريق تخزينها في بيئة مشفرة ومسيطر عليها، بعيدًا عن ملفات التكوين الرئيسية.

قم بإنشاء اتصال AWS Glue باستخدام AWS CLI

بعد تضمين جميع الحقول الضرورية في ملف JSON لتعريف الاتصال، تصبح جاهزًا لإنشاء اتصال AWS Glue لمصدر بياناتك باستخدام AWS CLI والأمر التالي:

aws --region <REGION> glue create-connection 
--cli-input-json file:///path/to/file/connection/definition/file.json

يبدأ هذا الأمر اتصال AWS Glue جديد بناءً على المواصفات المفصلة في ملف JSON الخاص بك. وفيما يلي تفصيل سريع لمكونات الأمر:

  • -منطقة – يحدد هذا منطقة AWS حيث سيتم إنشاء اتصال AWS Glue الخاص بك. من الضروري تحديد المنطقة التي توجد بها مصادر بياناتك والخدمات الأخرى لتقليل زمن الوصول والامتثال لمتطلبات موقع البيانات.
  • –ملف cli-input-json:///path/to/file/connection/definition/file.json – تقوم هذه المعلمة بتوجيه AWS CLI لقراءة تكوين الإدخال من ملف محلي يحتوي على تعريف الاتصال الخاص بك بتنسيق JSON.

يجب أن تكون قادرًا على إنشاء اتصالات AWS Glue باستخدام أمر AWS CLI السابق من محطة Studio JupyterLab الخاصة بك. على ال قم بتقديم القائمة، اختر جديد و محطة.

إذا كان create-connection إذا تم تشغيل الأمر بنجاح، فيجب أن تشاهد مصدر البيانات الخاص بك مدرجًا في جزء متصفح SQL. إذا لم تتمكن من رؤية مصدر بياناتك مدرجًا، فاختر تحديث لتحديث ذاكرة التخزين المؤقت.

قم بإنشاء اتصال Snowflake

في هذا القسم، نركز على دمج مصدر بيانات Snowflake مع SageMaker Studio. يقع إنشاء حسابات وقواعد بيانات ومستودعات Snowflake خارج نطاق هذا المنشور. للبدء مع Snowflake، راجع دليل مستخدم ندفة الثلج. في هذا المنشور، نركز على إنشاء ملف JSON لتعريف Snowflake وإنشاء اتصال مصدر بيانات Snowflake باستخدام AWS Glue.

إنشاء سر مدير الأسرار

يمكنك الاتصال بحساب Snowflake الخاص بك إما باستخدام معرف المستخدم وكلمة المرور أو باستخدام المفاتيح الخاصة. للاتصال بمعرف مستخدم وكلمة مرور، تحتاج إلى تخزين بيانات الاعتماد الخاصة بك بشكل آمن في Secrets Manager. كما ذكرنا سابقًا، على الرغم من إمكانية تضمين هذه المعلومات ضمن PythonProperties، إلا أنه لا يوصى بتخزين المعلومات الحساسة بتنسيق نص عادي. تأكد دائمًا من التعامل مع البيانات الحساسة بشكل آمن لتجنب المخاطر الأمنية المحتملة.

لتخزين المعلومات في Secrets Manager، أكمل الخطوات التالية:

  1. في وحدة تحكم مدير الأسرار ، اختر قم بتخزين سر جديد.
  2. في حالة النوع السري، اختر نوع آخر من السر.
  3. بالنسبة لزوج المفتاح والقيمة، اختر نص عادي وأدخل ما يلي:
    {
        "user":"TestUser",
        "password":"MyTestPassword",
        "account":"AWSSAGEMAKERTEST"
    }

  4. أدخل اسمًا لسرك، مثل sm-sql-snowflake-secret.
  5. اترك الإعدادات الأخرى كإعداد افتراضي أو قم بتخصيصها إذا لزم الأمر.
  6. اصنع السر.

قم بإنشاء اتصال AWS Glue لـ Snowflake

كما تمت مناقشته سابقًا، تعد اتصالات AWS Glue ضرورية للوصول إلى أي اتصال من SageMaker Studio. يمكنك العثور على قائمة جميع خصائص الاتصال المدعومة لـ Snowflake. فيما يلي نموذج لتعريف اتصال JSON لـ Snowflake. استبدل قيم العنصر النائب بالقيم المناسبة قبل حفظها على القرص:

{
    "ConnectionInput": {
        "Name": "Snowflake-Airlines-Dataset",
        "Description": "SageMaker-Snowflake Airlines Dataset",
        "ConnectionType": "SNOWFLAKE",
        "ConnectionProperties": {
            "PythonProperties": "{"aws_secret_arn": "arn:aws:secretsmanager:<region>:<account>:secret:sm-sql-snowflake-secret", "database": "SAGEMAKERDEMODATABASE1"}"
        }
    }
}

لإنشاء كائن اتصال AWS Glue لمصدر بيانات Snowflake، استخدم الأمر التالي:

aws --region <REGION> glue create-connection 
--cli-input-json file:///path/to/file/snowflake/definition/file.json

يقوم هذا الأمر بإنشاء اتصال مصدر بيانات Snowflake جديد في جزء متصفح SQL الخاص بك والذي يمكن تصفحه، ويمكنك تشغيل استعلامات SQL مقابله من خلية دفتر ملاحظات JupyterLab.

قم بإنشاء اتصال Amazon Redshift

Amazon Redshift عبارة عن خدمة مستودع بيانات مُدارة بالكامل بحجم بيتابايت تعمل على تبسيط وتقليل تكلفة تحليل جميع بياناتك باستخدام SQL القياسي. يعكس الإجراء الخاص بإنشاء اتصال Amazon Redshift بشكل وثيق الإجراء الخاص باتصال Snowflake.

إنشاء سر مدير الأسرار

على غرار إعداد Snowflake، للاتصال بـ Amazon Redshift باستخدام معرف المستخدم وكلمة المرور، تحتاج إلى تخزين المعلومات السرية بشكل آمن في Secrets Manager. أكمل الخطوات التالية:

  1. في وحدة تحكم مدير الأسرار ، اختر قم بتخزين سر جديد.
  2. في حالة النوع السري، اختر بيانات الاعتماد لمجموعة Amazon Redshift.
  3. أدخل بيانات الاعتماد المستخدمة لتسجيل الدخول للوصول إلى Amazon Redshift كمصدر بيانات.
  4. اختر مجموعة Redshift المرتبطة بالأسرار.
  5. أدخل اسمًا للسر، مثل sm-sql-redshift-secret.
  6. اترك الإعدادات الأخرى كإعداد افتراضي أو قم بتخصيصها إذا لزم الأمر.
  7. اصنع السر.

باتباع هذه الخطوات، فإنك تتأكد من التعامل مع بيانات اعتماد الاتصال الخاصة بك بشكل آمن، وذلك باستخدام ميزات الأمان القوية في AWS لإدارة البيانات الحساسة بشكل فعال.

قم بإنشاء اتصال AWS Glue لـ Amazon Redshift

لإعداد اتصال مع Amazon Redshift باستخدام تعريف JSON، املأ الحقول الضرورية واحفظ تكوين JSON التالي على القرص:

{
    "ConnectionInput": {
        "Name": "Redshift-US-Housing-Dataset",
        "Description": "sagemaker redshift us housing dataset connection",
        "ConnectionType": "REDSHIFT",
        "ConnectionProperties": {
            "PythonProperties": "{"aws_secret_arn": "arn:aws:secretsmanager:<region>:<account>:sm-sql-redshift-secret", "database": "us-housing-database"}"
        }
    }
}

لإنشاء كائن اتصال AWS Glue لمصدر بيانات Redshift، استخدم أمر AWS CLI التالي:

aws --region <REGION> glue create-connection 
--cli-input-json file:///path/to/file/redshift/definition/file.json

يقوم هذا الأمر بإنشاء اتصال في AWS Glue مرتبط بمصدر بيانات Redshift الخاص بك. إذا تم تشغيل الأمر بنجاح، فستتمكن من رؤية مصدر بيانات Redshift داخل دفتر ملاحظات SageMaker Studio JupyterLab، وهو جاهز لتشغيل استعلامات SQL وإجراء تحليل البيانات.

إنشاء اتصال أثينا

Athena عبارة عن خدمة استعلام SQL مُدارة بالكامل من AWS تتيح تحليل البيانات المخزنة في Amazon S3 باستخدام SQL القياسي. لإعداد اتصال Athena كمصدر بيانات في متصفح SQL الخاص بدفتر JupyterLab، تحتاج إلى إنشاء نموذج تعريف اتصال Athena JSON. تقوم بنية JSON التالية بتكوين التفاصيل اللازمة للاتصال بـ Athena، مع تحديد كتالوج البيانات والدليل المرحلي S3 والمنطقة:

{
    "ConnectionInput": {
        "Name": "Athena-Credit-Card-Fraud",
        "Description": "SageMaker-Athena Credit Card Fraud",
        "ConnectionType": "ATHENA",
        "ConnectionProperties": {
            "PythonProperties": "{"catalog_name": "AwsDataCatalog","s3_staging_dir": "s3://sagemaker-us-east-2-123456789/athena-data-source/credit-card-fraud/", "region_name": "us-east-2"}"
        }
    }
}

لإنشاء كائن اتصال AWS Glue لمصدر بيانات Athena، استخدم أمر AWS CLI التالي:

aws --region <REGION> glue create-connection 
--cli-input-json file:///path/to/file/athena/definition/file.json

إذا نجح الأمر، فستتمكن من الوصول إلى كتالوج بيانات Athena وجداولها مباشرةً من متصفح SQL داخل دفتر ملاحظات SageMaker Studio JupyterLab.

الاستعلام عن البيانات من مصادر متعددة

إذا كان لديك مصادر بيانات متعددة مدمجة في SageMaker Studio من خلال متصفح SQL المدمج وميزة SQL للكمبيوتر الدفتري، فيمكنك تشغيل الاستعلامات بسرعة والتبديل بسهولة بين الواجهات الخلفية لمصدر البيانات في الخلايا اللاحقة داخل دفتر الملاحظات. تسمح هذه الإمكانية بإجراء انتقالات سلسة بين قواعد البيانات أو مصادر البيانات المختلفة أثناء سير عمل التحليل.

يمكنك تشغيل الاستعلامات مقابل مجموعة متنوعة من الواجهات الخلفية لمصدر البيانات وإحضار النتائج مباشرة إلى مساحة Python لمزيد من التحليل أو التصور. ويتم تسهيل ذلك من خلال %%sm_sql يتوفر الأمر السحري في أجهزة الكمبيوتر المحمولة SageMaker Studio. لإخراج نتائج استعلام SQL الخاص بك إلى Pandas DataFrame، هناك خياران:

  • من شريط أدوات خلية الكمبيوتر الدفتري، اختر نوع الإخراج DataFrame وقم بتسمية متغير DataFrame الخاص بك
  • قم بإلحاق المعلمة التالية بملفك %%sm_sql أمر:
    --output '{"format": "DATAFRAME", "dataframe_name": "df"}'

يوضح الرسم التخطيطي التالي سير العمل هذا ويعرض كيف يمكنك تشغيل الاستعلامات بسهولة عبر مصادر متنوعة في خلايا دفتر الملاحظات اللاحقة، بالإضافة إلى تدريب نموذج SageMaker باستخدام وظائف التدريب أو مباشرة داخل دفتر الملاحظات باستخدام الحوسبة المحلية. بالإضافة إلى ذلك، يسلط الرسم التخطيطي الضوء على كيفية قيام تكامل SQL المدمج في SageMaker Studio بتبسيط عمليات الاستخراج والبناء مباشرة داخل البيئة المألوفة لخلية دفتر JupyterLab.

تحويل النص إلى SQL: استخدام اللغة الطبيعية لتحسين تأليف الاستعلام

SQL هي لغة معقدة تتطلب فهم قواعد البيانات والجداول وبناء الجملة والبيانات الوصفية. اليوم، يمكن للذكاء الاصطناعي التوليدي (AI) أن يمكّنك من كتابة استعلامات SQL معقدة دون الحاجة إلى خبرة متعمقة في SQL. لقد أثر تقدم LLMs بشكل كبير على إنشاء SQL القائم على معالجة اللغة الطبيعية (NLP)، مما يسمح بإنشاء استعلامات SQL دقيقة من أوصاف اللغة الطبيعية - وهي تقنية يشار إليها باسم Text-to-SQL. ومع ذلك، فمن الضروري الاعتراف بالاختلافات المتأصلة بين اللغة البشرية وSQL. يمكن أن تكون اللغة البشرية في بعض الأحيان غامضة أو غير دقيقة، في حين أن لغة SQL منظمة وصريحة ولا لبس فيها. يمكن أن يمثل سد هذه الفجوة وتحويل اللغة الطبيعية بدقة إلى استعلامات SQL تحديًا هائلاً. عندما يتم تزويد حاملي شهادات LLM بالمطالبات المناسبة، يمكنهم المساعدة في سد هذه الفجوة من خلال فهم القصد من وراء اللغة البشرية وإنشاء استعلامات SQL دقيقة وفقًا لذلك.

مع إصدار ميزة استعلام SQL داخل الكمبيوتر المحمول SageMaker Studio، يجعل SageMaker Studio من السهل فحص قواعد البيانات والمخططات وتأليف استعلامات SQL وتشغيلها وتصحيح أخطائها دون مغادرة Jupyter Notebook IDE على الإطلاق. يستكشف هذا القسم كيف يمكن لإمكانيات تحويل النص إلى SQL الخاصة ببرامج LLM المتقدمة أن تسهل إنشاء استعلامات SQL باستخدام اللغة الطبيعية داخل دفاتر ملاحظات Jupyter. نحن نستخدم نموذج تحويل النص إلى SQL المتطور defog/sqlcoder-7b-2 بالتعاون مع Jupyter AI، وهو مساعد الذكاء الاصطناعي التوليدي المصمم خصيصًا لأجهزة الكمبيوتر المحمولة Jupyter، لإنشاء استعلامات SQL معقدة من اللغة الطبيعية. باستخدام هذا النموذج المتقدم، يمكننا إنشاء استعلامات SQL معقدة بسهولة وكفاءة باستخدام اللغة الطبيعية، وبالتالي تعزيز تجربة SQL داخل دفاتر الملاحظات.

النماذج الأولية للكمبيوتر المحمول باستخدام Hugging Face Hub

لبدء النماذج الأولية، تحتاج إلى ما يلي:

  • كود جيثب - الكود المعروض في هذا القسم متوفر فيما يلي جيثب ريبو وبالرجوع إلى سبيل المثال دفتر.
  • مساحة جوبيتر لاب - يعد الوصول إلى مساحة SageMaker Studio JupyterLab المدعومة بمثيلات قائمة على وحدة معالجة الرسومات أمرًا ضروريًا. ل defog/sqlcoder-7b-2 يوصى باستخدام نموذج المعلمة 7B، باستخدام مثيل ml.g5.2xlarge. البدائل مثل defog/sqlcoder-70b-alphأ أو defog/sqlcoder-34b-alpha كما أنها قابلة للتطبيق لتحويل اللغة الطبيعية إلى SQL، ولكن قد تكون هناك حاجة إلى أنواع مثيلات أكبر للنماذج الأولية. تأكد من أن لديك الحصة الكافية لتشغيل مثيل مدعوم بوحدة معالجة الرسومات (GPU) من خلال الانتقال إلى وحدة تحكم Service Quotas، والبحث عن SageMaker، والبحث عن Studio JupyterLab Apps running on <instance type>.

أطلق مساحة JupyterLab جديدة مدعومة بوحدة معالجة الرسومات من SageMaker Studio الخاص بك. يوصى بإنشاء مساحة JupyterLab جديدة بمساحة لا تقل عن 75 جيجابايت متجر أمازون مطاط بلوك تخزين (Amazon EBS) لنموذج المعلمة 7B.

  • معانقة الوجه المحور – إذا كان مجال SageMaker Studio الخاص بك لديه حق الوصول لتنزيل النماذج من معانقة الوجه المحور، يمكنك استخدام ال AutoModelForCausalLM فئة من تعانق الوجه/المحولات لتنزيل النماذج تلقائيًا وتثبيتها على وحدات معالجة الرسومات المحلية لديك. سيتم تخزين أوزان النموذج في ذاكرة التخزين المؤقت لجهازك المحلي. انظر الكود التالي:
    model_id = "defog/sqlcoder-7b-2" # or use "defog/sqlcoder-34b-alpha", "defog/sqlcoder-70b-alpha
    
    # download model and tokenizer in fp16 and pin model to local notebook GPUs
    model = AutoModelForCausalLM.from_pretrained(
        model_id, 
        device_map="auto",
        torch_dtype=torch.float16
    )
    
    tokenizer = AutoTokenizer.from_pretrained(model_id)
    tokenizer.pad_token = tokenizer.eos_token

بعد أن يتم تنزيل النموذج بالكامل وتحميله في الذاكرة، يجب أن تلاحظ زيادة في استخدام وحدة معالجة الرسومات على جهازك المحلي. يشير هذا إلى أن النموذج يستخدم موارد GPU بشكل نشط للمهام الحسابية. يمكنك التحقق من ذلك في مساحة JupyterLab الخاصة بك عن طريق التشغيل nvidia-smi (للعرض لمرة واحدة) أو nvidia-smi —loop=1 (لتكرار كل ثانية) من محطة JupyterLab الخاصة بك.

تتفوق نماذج تحويل النص إلى SQL في فهم غرض وسياق طلب المستخدم، حتى عندما تكون اللغة المستخدمة تحادثية أو غامضة. تتضمن العملية ترجمة مدخلات اللغة الطبيعية إلى عناصر مخطط قاعدة البيانات الصحيحة، مثل أسماء الجداول وأسماء الأعمدة والشروط. ومع ذلك، فإن نموذج تحويل النص إلى SQL الجاهز لن يعرف بطبيعته بنية مستودع البيانات لديك، أو مخططات قاعدة البيانات المحددة، أو لن يكون قادرًا على تفسير محتوى جدول بدقة استنادًا إلى أسماء الأعمدة فقط. لاستخدام هذه النماذج بشكل فعال لإنشاء استعلامات SQL عملية وفعالة من اللغة الطبيعية، من الضروري تكييف نموذج إنشاء نص SQL مع مخطط قاعدة بيانات المستودع الخاص بك. يتم تسهيل هذا التكيف من خلال استخدام يطالب LLM. فيما يلي قالب المطالبة الموصى به لنموذج defog/sqlcoder-7b-2 Text to-SQL، مقسم إلى أربعة أجزاء:

  • مهمة - يجب أن يحدد هذا القسم المهمة عالية المستوى التي يتعين على النموذج إنجازها. ويجب أن يتضمن نوع الواجهة الخلفية لقاعدة البيانات (مثل Amazon RDS أو PostgreSQL أو Amazon Redshift) لتوعية النموذج بأي اختلافات نحوية دقيقة قد تؤثر على إنشاء استعلام SQL النهائي.
  • تعليمات - يجب أن يحدد هذا القسم حدود المهام والوعي بالمجال للنموذج، وقد يتضمن أمثلة قليلة لتوجيه النموذج في إنشاء استعلامات SQL مضبوطة بدقة.
  • مخطط قاعدة البيانات – يجب أن يقدم هذا القسم تفاصيل مخططات قاعدة بيانات المستودعات الخاصة بك، مع تحديد العلاقات بين الجداول والأعمدة لمساعدة النموذج في فهم بنية قاعدة البيانات.
  • إجابة – هذا القسم مخصص للنموذج لإخراج استجابة استعلام SQL لإدخال اللغة الطبيعية.

يتوفر مثال لمخطط قاعدة البيانات والموجه المستخدم في هذا القسم في جيثب ريبو.

### Task
Generate a SQL query to answer [QUESTION]{user_question}[/QUESTION]

### Instructions
- If you cannot answer the question with the available database schema, return 'I do not know'

### Database Schema
The query will run on a database with the following schema:
{table_metadata_string_DDL_statements}

### Answer
Given the database schema, here is the SQL query that 
 [QUESTION]
    {user_question}
 [/QUESTION]

[SQL]

لا تقتصر الهندسة السريعة على صياغة الأسئلة أو البيانات فحسب؛ إنه فن وعلم دقيق يؤثر بشكل كبير على جودة التفاعلات مع نموذج الذكاء الاصطناعي. يمكن للطريقة التي تكتب بها موجهًا أن تؤثر بشكل عميق على طبيعة استجابة الذكاء الاصطناعي وفائدتها. تعتبر هذه المهارة محورية في تعظيم إمكانات تفاعلات الذكاء الاصطناعي، خاصة في المهام المعقدة التي تتطلب فهمًا متخصصًا واستجابات مفصلة.

من المهم أن يكون لديك خيار إنشاء استجابة النموذج واختبارها بسرعة لموجه معين وتحسين الموجه بناءً على الاستجابة. توفر دفاتر ملاحظات JupyterLab القدرة على تلقي تعليقات فورية للنموذج من نموذج يعمل على الحوسبة المحلية وتحسين المطالبة وضبط استجابة النموذج بشكل أكبر أو تغيير النموذج بالكامل. في هذا المنشور، نستخدم جهاز كمبيوتر دفتري SageMaker Studio JupyterLab مدعومًا بوحدة معالجة الرسوميات NVIDIA A5.2G سعة 10 جيجابايت الخاصة بـ ml.g24xlarge لتشغيل استدلال نموذج تحويل النص إلى SQL على دفتر الملاحظات وإنشاء موجه النموذج الخاص بنا بشكل تفاعلي حتى يتم ضبط استجابة النموذج بشكل كافٍ لتوفير الاستجابات القابلة للتنفيذ مباشرة في خلايا SQL الخاصة بـ JupyterLab. لتشغيل استدلال النموذج ودفق استجابات النموذج في نفس الوقت، نستخدم مزيجًا من model.generate و TextIteratorStreamer كما هو محدد في الكود التالي:

streamer = TextIteratorStreamer(
    tokenizer=tokenizer, 
    timeout=240.0, 
    skip_prompt=True, 
    skip_special_tokens=True
)


def llm_generate_query(user_question):
    """ Generate text-gen SQL responses"""
    
    updated_prompt = prompt.format(question=user_question)
    inputs = tokenizer(updated_prompt, return_tensors="pt").to("cuda")
    
    return model.generate(
        **inputs,
        num_return_sequences=1,
        eos_token_id=tokenizer.eos_token_id,
        pad_token_id=tokenizer.eos_token_id,
        max_new_tokens=1024,
        temperature=0.1,
        do_sample=False,
        num_beams=1, 
        streamer=streamer,
    )

يمكن تزيين مخرجات النموذج باستخدام SageMaker SQL السحري %%sm_sql ...، والذي يسمح لدفتر JupyterLab بتعريف الخلية كخلية SQL.

استضافة نماذج تحويل النص إلى SQL كنقاط نهاية SageMaker

في نهاية مرحلة النماذج الأولية، اخترنا Text-to-SQL LLM المفضل لدينا، وتنسيق موجه فعال، ونوع مثيل مناسب لاستضافة النموذج (إما وحدة معالجة رسومات مفردة أو وحدة معالجة رسومات متعددة). يعمل SageMaker على تسهيل الاستضافة القابلة للتطوير للنماذج المخصصة من خلال استخدام نقاط نهاية SageMaker. يمكن تعريف نقاط النهاية هذه وفقًا لمعايير محددة، مما يسمح بنشر LLMs كنقاط نهاية. تمكنك هذه الإمكانية من توسيع نطاق الحل ليشمل جمهورًا أوسع، مما يسمح للمستخدمين بإنشاء استعلامات SQL من مدخلات اللغة الطبيعية باستخدام LLMs المستضافة المخصصة. ويوضح الرسم البياني التالي هذه البنية.

لاستضافة LLM الخاص بك كنقطة نهاية SageMaker، يمكنك إنشاء العديد من العناصر.

القطعة الأثرية الأولى هي الأوزان النموذجية. خدمة مكتبة SageMaker Deep Java (DJL). تسمح لك الحاويات بإعداد التكوينات من خلال meta خدمة الملف، الذي يمكّنك من توجيه كيفية الحصول على النماذج - إما مباشرةً من Hugging Face Hub أو عن طريق تنزيل عناصر النماذج من Amazon S3. إذا قمت بتحديد model_id=defog/sqlcoder-7b-2، سيحاول DJL Serving تنزيل هذا النموذج مباشرةً من Hugging Face Hub. ومع ذلك، قد تتحمل رسوم الدخول/الخروج للشبكة في كل مرة يتم فيها نشر نقطة النهاية أو تغيير حجمها بشكل مرن. لتجنب هذه الرسوم وتسريع عملية تنزيل العناصر النموذجية، يوصى بتخطي الاستخدام model_id in serving.properties وحفظ أوزان النماذج كمصنوعات S3 وتحديدها فقط s3url=s3://path/to/model/bin.

يمكن حفظ النموذج (مع الرمز المميز الخاص به) على القرص وتحميله إلى Amazon S3 باستخدام بضعة أسطر فقط من التعليمات البرمجية:

# save model and tokenizer to local disk
model.save_pretrained(local_model_path)
tokenizer.save_pretrained(local_model_path)
...
...
...
# upload file to s3
s3_bucket_name = "<my llm artifact bucket name>>"
# s3 prefix to save model weights and tokenizer defs
model_s3_prefix = "sqlcoder-7b-instruct/weights"
# s3 prefix to store s
meta_model_s3_prefix = "sqlcoder-7b-instruct/meta-model"

sagemaker.s3.S3Uploader.upload(local_model_path,  f"s3://{s3_bucket_name}/{model_s3_prefix}")

يمكنك أيضًا استخدام ملف موجه قاعدة البيانات. في هذا الإعداد، يتكون موجه قاعدة البيانات من Task, Instructions, Database Schemaو Answer sections. بالنسبة للبنية الحالية، نقوم بتخصيص ملف مطالبة منفصل لكل مخطط قاعدة بيانات. ومع ذلك، هناك مرونة لتوسيع هذا الإعداد ليشمل قواعد بيانات متعددة لكل ملف موجه، مما يسمح للنموذج بتشغيل الصلات المركبة عبر قواعد البيانات على نفس الخادم. خلال مرحلة النماذج الأولية، نقوم بحفظ موجه قاعدة البيانات كملف نصي اسمه <Database-Glue-Connection-Name>.prompt، حيث Database-Glue-Connection-Name يتوافق مع اسم الاتصال المرئي في بيئة JupyterLab الخاصة بك. على سبيل المثال، يشير هذا المنشور إلى اتصال Snowflake المسمى Airlines_Dataset، لذلك تم تسمية ملف موجه قاعدة البيانات Airlines_Dataset.prompt. يتم بعد ذلك تخزين هذا الملف على Amazon S3 ثم تتم قراءته وتخزينه مؤقتًا بواسطة منطق تقديم النموذج الخاص بنا.

علاوة على ذلك، تسمح هذه البنية لأي مستخدم معتمد لنقطة النهاية هذه بتعريف اللغة الطبيعية لاستعلامات SQL وتخزينها وإنشاءها دون الحاجة إلى عمليات إعادة نشر متعددة للنموذج. نحن نستخدم ما يلي مثال على موجه قاعدة البيانات لتوضيح وظيفة تحويل النص إلى SQL.

بعد ذلك، يمكنك إنشاء منطق خدمة النموذج المخصص. في هذا القسم، يمكنك تحديد منطق الاستدلال المخصص المسمى model.py. تم تصميم هذا البرنامج النصي لتحسين أداء وتكامل خدمات تحويل النص إلى SQL الخاصة بنا:

  • تحديد منطق التخزين المؤقت لملف قاعدة البيانات - لتقليل زمن الوصول إلى الحد الأدنى، نقوم بتنفيذ منطق مخصص لتنزيل ملفات موجه قاعدة البيانات وتخزينها مؤقتًا. تتأكد هذه الآلية من أن المطالبات متاحة بسهولة، مما يقلل من الحمل المرتبط بالتنزيلات المتكررة.
  • تحديد منطق استنتاج النموذج المخصص - لتعزيز سرعة الاستدلال، يتم تحميل نموذج تحويل النص إلى SQL بتنسيق الدقة float16 ثم تحويله إلى نموذج DeepSpeed. تتيح هذه الخطوة إجراء عمليات حسابية أكثر كفاءة. بالإضافة إلى ذلك، ضمن هذا المنطق، يمكنك تحديد المعلمات التي يمكن للمستخدمين ضبطها أثناء استدعاءات الاستدلال لتخصيص الوظيفة وفقًا لاحتياجاتهم.
  • تحديد منطق الإدخال والإخراج المخصص - يعد إنشاء تنسيقات إدخال/إخراج واضحة ومخصصة أمرًا ضروريًا للتكامل السلس مع التطبيقات النهائية. أحد هذه التطبيقات هو JupyterAI، والذي سنناقشه في القسم التالي.
%%writefile {meta_model_filename}/model.py
...

predictor = None
prompt_for_db_dict_cache = {}

def download_prompt_from_s3(prompt_filename):

    print(f"downloading prompt file: {prompt_filename}")
    s3 = boto3.resource('s3')
    ...


def get_model(properties):
    
    ...
    print(f"Loading model from {cwd}")
    model = AutoModelForCausalLM.from_pretrained(
        cwd, 
        low_cpu_mem_usage=True, 
        torch_dtype=torch.bfloat16
    )
    model = deepspeed.init_inference(
        model, 
        mp_size=properties["tensor_parallel_degree"]
    )
    
    ...


def handle(inputs: Input) -> None:

    ...

    global predictor
    if not predictor:
        predictor = get_model(inputs.get_properties())

    ...
    result = f"""%%sm_sql --metastore-id {prompt_for_db_key.split('.')[0]} --metastore-type GLUE_CONNECTIONnn{result}n"""
    result = [{'generated_text': result}]
    
    return Output().add(result)

بالإضافة إلى ذلك، فإننا ندرج أ serving.properties الملف، الذي يعمل كملف تكوين عام للنماذج المستضافة باستخدام خدمة DJL. لمزيد من المعلومات، راجع التكوينات والإعدادات.

وأخيرًا، يمكنك أيضًا تضمين أ requirements.txt ملف لتحديد الوحدات الإضافية المطلوبة للاستدلال وحزم كل شيء في كرة قطران للنشر.

انظر الكود التالي:

os.system(f"tar czvf {meta_model_filename}.tar.gz ./{meta_model_filename}/")

>>>./deepspeed-djl-serving-7b/
>>>./deepspeed-djl-serving-7b/serving.properties
>>>./deepspeed-djl-serving-7b/model.py
>>>./deepspeed-djl-serving-7b/requirements.txt

قم بدمج نقطة النهاية الخاصة بك مع مساعد SageMaker Studio Jupyter AI

جوبيتر AI هي أداة مفتوحة المصدر توفر الذكاء الاصطناعي التوليدي إلى أجهزة الكمبيوتر المحمولة Jupyter، مما يوفر منصة قوية وسهلة الاستخدام لاستكشاف نماذج الذكاء الاصطناعي التوليدية. إنه يعزز الإنتاجية في أجهزة الكمبيوتر المحمولة JupyterLab وJupyter من خلال توفير ميزات مثل سحر %%ai لإنشاء ملعب ذكاء اصطناعي مولد داخل أجهزة الكمبيوتر المحمولة، وواجهة مستخدم أصلية للدردشة في JupyterLab للتفاعل مع الذكاء الاصطناعي كمساعد محادثة، ودعم مجموعة واسعة من ماجستير إدارة الأعمال من مقدمي الخدمات مثل أمازون تيتانو AI21 و Anthropic و Cohere و Hugging Face أو الخدمات المُدارة مثل أمازون بيدروك ونقاط نهاية SageMaker. في هذا المنشور، نستخدم التكامل الجاهز لـ Jupyter AI مع نقاط نهاية SageMaker لجلب إمكانية تحويل النص إلى SQL في دفاتر ملاحظات JupyterLab. تأتي أداة Jupyter AI مثبتة مسبقًا في جميع مساحات SageMaker Studio JupyterLab المدعومة بـ صور توزيع SageMaker; لا يُطلب من المستخدمين النهائيين إجراء أي تكوينات إضافية لبدء استخدام ملحق Jupyter AI للتكامل مع نقطة النهاية المستضافة من SageMaker. في هذا القسم، نناقش طريقتين لاستخدام أداة Jupyter AI المدمجة.

Jupyter AI داخل دفتر ملاحظات باستخدام السحر

Jupyter AI %%ai يتيح لك الأمر السحري تحويل دفاتر ملاحظات SageMaker Studio JupyterLab إلى بيئة ذكاء اصطناعي منتجة وقابلة للتكرار. للبدء في استخدام الذكاء الاصطناعي السحري، تأكد من تحميل ملحق jupyter_ai_magics لاستخدامه %%ai السحر، بالإضافة إلى تحميل amazon_sagemaker_sql_magic لاستخدام %%sm_sql سحر:

# load sm_sql magic extension and ai magic extension
%load_ext jupyter_ai_magics
%load_ext amazon_sagemaker_sql_magic

لإجراء مكالمة إلى نقطة نهاية SageMaker الخاصة بك من الكمبيوتر المحمول الخاص بك باستخدام %%ai الأمر السحري، قم بتوفير المعلمات التالية وقم ببناء الأمر على النحو التالي:

  • -اسم المنطقة – حدد المنطقة التي يتم نشر نقطة النهاية الخاصة بك فيها. وهذا يضمن توجيه الطلب إلى الموقع الجغرافي الصحيح.
  • -مخطط الطلب – تضمين مخطط بيانات الإدخال. يوضح هذا المخطط التنسيق المتوقع وأنواع بيانات الإدخال التي يحتاجها النموذج الخاص بك لمعالجة الطلب.
  • – مسار الاستجابة - حدد المسار داخل كائن الاستجابة حيث يوجد مخرجات النموذج الخاص بك. يتم استخدام هذا المسار لاستخراج البيانات ذات الصلة من الاستجابة التي يتم إرجاعها بواسطة النموذج الخاص بك.
  • -و (اختياري) - هذا منسق الإخراج علامة تشير إلى نوع الإخراج الذي يتم إرجاعه بواسطة النموذج. في سياق دفتر ملاحظات Jupyter، إذا كان الإخراج عبارة عن رمز، فيجب تعيين هذه العلامة وفقًا لذلك لتنسيق الإخراج كرمز قابل للتنفيذ في الجزء العلوي من خلية دفتر Jupyter، متبوعة بمنطقة إدخال نص مجانية لتفاعل المستخدم.

على سبيل المثال، قد يبدو الأمر الموجود في خلية دفتر Jupyter بالشكل التالي:

%%ai sagemaker-endpoint:<endpoint-name> --region-name=us-east-1 
--request-schema={
    "inputs":"<prompt>", 
    "parameters":{
        "temperature":0.1,
        "top_p":0.2,
        "max_new_tokens":1024,
        "return_full_text":false
    }, 
    "db_prompt":"Airlines_Dataset.prompt"
  } 
--response-path=[0].generated_text -f code

My natural language query goes here...

نافذة الدردشة Jupyter AI

وبدلاً من ذلك، يمكنك التفاعل مع نقاط نهاية SageMaker من خلال واجهة مستخدم مدمجة، مما يبسط عملية إنشاء الاستعلامات أو المشاركة في الحوار. قبل البدء في الدردشة مع نقطة نهاية SageMaker الخاصة بك، قم بتكوين الإعدادات ذات الصلة في Jupyter AI لنقطة نهاية SageMaker، كما هو موضح في لقطة الشاشة التالية.

وفي الختام

يعمل SageMaker Studio الآن على تبسيط وتبسيط سير عمل عالم البيانات من خلال دمج دعم SQL في دفاتر ملاحظات JupyterLab. يتيح ذلك لعلماء البيانات التركيز على مهامهم دون الحاجة إلى إدارة أدوات متعددة. علاوة على ذلك، يتيح تكامل SQL المدمج الجديد في SageMaker Studio لمستخدمي البيانات إمكانية إنشاء استعلامات SQL بسهولة باستخدام نص اللغة الطبيعية كمدخل، وبالتالي تسريع سير العمل.

نحن نشجعك على استكشاف هذه الميزات في SageMaker Studio. لمزيد من المعلومات، راجع تحضير البيانات باستخدام SQL في الاستوديو.

الزائدة الدودية

قم بتمكين متصفح SQL وخلية SQL للكمبيوتر الدفتري في البيئات المخصصة

إذا كنت لا تستخدم صورة توزيع SageMaker أو تستخدم صور التوزيع 1.5 أو أقل، فقم بتشغيل الأوامر التالية لتمكين ميزة تصفح SQL داخل بيئة JupyterLab الخاصة بك:

npm install -g vscode-jsonrpc
npm install -g sql-language-server
pip install amazon-sagemaker-sql-execution==0.1.0
pip install amazon-sagemaker-sql-editor
restart-jupyter-server

قم بنقل عنصر واجهة مستخدم متصفح SQL

تسمح عناصر واجهة المستخدم JupyterLab بالنقل. اعتمادًا على تفضيلاتك، يمكنك نقل عناصر واجهة المستخدم إلى أي من جانبي جزء عناصر واجهة مستخدم JupyterLab. إذا كنت تفضل ذلك، يمكنك نقل اتجاه عنصر واجهة المستخدم SQL إلى الجانب الآخر (من اليمين إلى اليسار) من الشريط الجانبي من خلال النقر بزر الماوس الأيمن البسيط على أيقونة عنصر واجهة المستخدم واختيار تبديل جانب الشريط الجانبي.


عن المؤلفين

براناف مورثي هو مهندس حلول متخصص في الذكاء الاصطناعي/تعلم الآلة في AWS. وهو يركز على مساعدة العملاء في بناء أعباء عمل التعلم الآلي (ML) وتدريبها ونشرها وترحيلها إلى SageMaker. وقد عمل سابقًا في صناعة أشباه الموصلات في تطوير نماذج الرؤية الحاسوبية الكبيرة (CV) ومعالجة اللغة الطبيعية (NLP) لتحسين عمليات أشباه الموصلات باستخدام أحدث تقنيات تعلم الآلة. وفي أوقات فراغه يستمتع بلعب الشطرنج والسفر. يمكنك العثور على براناف على لينكدين:.

فارون شاه هو مهندس برمجيات يعمل على Amazon SageMaker Studio في Amazon Web Services. وهو يركز على بناء حلول تعلم الآلة التفاعلية التي تعمل على تبسيط رحلات معالجة البيانات وإعداد البيانات. في أوقات فراغه، يستمتع فارون بالأنشطة الخارجية بما في ذلك المشي لمسافات طويلة والتزلج، وهو دائمًا على استعداد لاكتشاف أماكن جديدة ومثيرة.

سوميدا سوامي هو مدير المنتج الرئيسي في Amazon Web Services حيث يقود فريق SageMaker Studio في مهمته لتطوير بيئة التطوير المتكاملة (IDE) المفضلة لعلوم البيانات والتعلم الآلي. لقد كرس السنوات الـ 15 الماضية لبناء منتجات المستهلكين والمؤسسات القائمة على التعلم الآلي.

بوسكو البوكيرك هو مهندس حلول شريك كبير في AWS ولديه أكثر من 20 عامًا من الخبرة في العمل مع منتجات قواعد البيانات والتحليلات من بائعي قواعد بيانات المؤسسة وموفري السحابة. لقد ساعد شركات التكنولوجيا في تصميم وتنفيذ حلول ومنتجات تحليلات البيانات.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة

الدردشة معنا

أهلاً! كيف يمكنني مساعدك؟