ایجاد ارزش از داده های سازمانی: بهترین شیوه ها برای Text2SQL و هوش مصنوعی مولد | خدمات وب آمازون

ایجاد ارزش از داده های سازمانی: بهترین شیوه ها برای Text2SQL و هوش مصنوعی مولد | خدمات وب آمازون

هوش مصنوعی مولد پتانسیل های زیادی را در زمینه هوش مصنوعی باز کرده است. ما شاهد استفاده های متعددی از جمله تولید متن، تولید کد، خلاصه سازی، ترجمه، چت بات ها و غیره هستیم. یکی از این حوزه‌هایی که در حال تکامل است، استفاده از پردازش زبان طبیعی (NLP) برای باز کردن فرصت‌های جدید برای دسترسی به داده‌ها از طریق پرس‌وجوهای SQL بصری است. به جای پرداختن به کدهای فنی پیچیده، کاربران تجاری و تحلیلگران داده می توانند سوالات مربوط به داده ها و بینش ها را به زبان ساده بپرسند. هدف اصلی تولید خودکار پرس و جوهای SQL از متن زبان طبیعی است. برای انجام این کار، ورودی متن به یک نمایش ساخت یافته تبدیل می شود و از این نمایش، یک پرس و جوی SQL که می تواند برای دسترسی به پایگاه داده استفاده شود، ایجاد می شود.

در این پست، مقدمه‌ای بر متن در SQL (Text2SQL) ارائه می‌کنیم و موارد استفاده، چالش‌ها، الگوهای طراحی و بهترین شیوه‌ها را بررسی می‌کنیم. به طور خاص در مورد موارد زیر بحث می کنیم:

  • چرا به Text2SQL نیاز داریم؟
  • اجزای کلیدی برای متن به SQL
  • ملاحظات مهندسی سریع برای زبان طبیعی یا Text to SQL
  • بهینه سازی ها و بهترین شیوه ها
  • الگوهای معماری

چرا به Text2SQL نیاز داریم؟

امروزه، حجم زیادی از داده‌ها در تجزیه و تحلیل داده‌های سنتی، انبار داده‌ها و پایگاه‌های اطلاعاتی موجود است که ممکن است برای اکثر اعضای سازمان به راحتی قابل جستجو یا درک نباشد. هدف اصلی Text2SQL این است که پایگاه‌های اطلاعاتی پرس و جو را برای کاربران غیر فنی که می‌توانند درخواست‌های خود را به زبان طبیعی ارائه دهند، در دسترس‌تر قرار دهد.

NLP SQL به کاربران تجاری این امکان را می دهد که داده ها را تجزیه و تحلیل کنند و با تایپ کردن یا گفتن سؤالات به زبان طبیعی، مانند موارد زیر، پاسخ دریافت کنند:

  • "نمایش کل فروش برای هر محصول در ماه گذشته"
  • "کدام محصولات درآمد بیشتری ایجاد کردند؟"
  • "چند درصد از مشتریان از هر منطقه هستند؟"

بستر آمازون یک سرویس کاملاً مدیریت شده است که انتخابی از مدل‌های فونداسیون (FM) با کارایی بالا را از طریق یک API ارائه می‌دهد و امکان ساخت و مقیاس‌بندی برنامه‌های هوش مصنوعی نسل را به راحتی امکان‌پذیر می‌سازد. می توان از آن برای تولید پرس و جوهای SQL بر اساس سؤالات مشابه موارد ذکر شده در بالا و پرس و جو از داده های ساختاری سازمانی و ایجاد پاسخ های زبان طبیعی از داده های پاسخ پرس و جو استفاده کرد.

اجزای کلیدی برای متن به SQL

سیستم های متن به SQL شامل چندین مرحله برای تبدیل پرس و جوهای زبان طبیعی به SQL قابل اجرا است:

  • پردازش زبان طبیعی:
    • پرس و جوی ورودی کاربر را تجزیه و تحلیل کنید
    • عناصر کلیدی و هدف را استخراج کنید
    • تبدیل به فرمت ساختار یافته
  • تولید SQL:
    • نقشه جزئیات استخراج شده در نحو SQL
    • یک پرسش SQL معتبر ایجاد کنید
  • پرس و جو پایگاه داده:
    • کوئری SQL تولید شده توسط هوش مصنوعی را در پایگاه داده اجرا کنید
    • نتایج را بازیابی کنید
    • نتایج را به کاربر برگردانید

یکی از قابلیت های قابل توجه مدل های زبان بزرگ (LLM) تولید کد، از جمله زبان پرس و جو ساختاریافته (SQL) برای پایگاه های داده است. این LLM ها را می توان برای درک سوال زبان طبیعی و ایجاد یک پرس و جو SQL متناظر به عنوان خروجی مورد استفاده قرار داد. LLM ها با استفاده از یادگیری درون متنی و تنظیمات دقیق با ارائه داده های بیشتر سود خواهند برد.

نمودار زیر یک جریان اصلی Text2SQL را نشان می دهد.

متن 2 جریان فرآیند سطح بالا SQL

ملاحظات مهندسی سریع برای زبان طبیعی به SQL

اعلان هنگام استفاده از LLM برای ترجمه زبان طبیعی به پرس و جوهای SQL بسیار مهم است و چندین ملاحظات مهم برای مهندسی سریع وجود دارد.

موثر مهندسی سریع کلید توسعه زبان طبیعی برای سیستم های SQL است. اعلان های واضح و سرراست دستورالعمل های بهتری را برای مدل زبان ارائه می دهند. ارائه زمینه ای که کاربر درخواست یک پرس و جوی SQL را به همراه جزئیات طرح پایگاه داده مربوطه دارد، مدل را قادر می سازد تا هدف را به طور دقیق ترجمه کند. شامل چند نمونه حاشیه نویسی از دستورهای زبان طبیعی و پرس و جوهای SQL مربوطه به هدایت مدل برای تولید خروجی مطابق با نحو کمک می کند. علاوه بر این، استفاده از Retrieval Augmented Generation (RAG)، که در آن مدل نمونه های مشابه را در طول پردازش بازیابی می کند، دقت نقشه برداری را بیشتر بهبود می بخشد. اعلان‌های خوب طراحی‌شده که به مدل دستورالعمل، زمینه، مثال‌ها و تقویت بازیابی کافی می‌دهد، برای ترجمه قابل اعتماد زبان طبیعی به جستارهای SQL بسیار مهم هستند.

در زیر نمونه‌ای از یک دستور پایه با نمایش کد پایگاه داده از کاغذ سفید است افزایش قابلیت‌های چند شات متن به SQL مدل‌های زبان بزرگ: مطالعه‌ای در مورد استراتژی‌های طراحی سریع.

/* Given the following database schema : */
CREATE TABLE IF NOT EXISTS " gymnast " ( " Gymnast_ID " int , " Floor_Exercise_Points " real , " Pommel_Horse_Points " real , " Rings_Points " real , " Vault_Points " real , " Parallel_Bars_Points " real , " Horizontal_Bar_Points " real , " Total_Points " real , PRIMARY KEY ( " Gymnast_ID " ) , FOREIGN KEY ( " Gymnast_ID " ) REFERENCES " people " ( " People_ID " ) ) ; CREATE TABLE IF NOT EXISTS " people " ( " People_ID " int , " Name " text , " Age " real , " Height " real , " Hometown " text , PRIMARY KEY ( " People_ID " ) ) ; /* Answer the following : Return the total points of the gymnast with the lowest age .
*/ select t1 . total_points from gymnast as t1 join people as t2 on t1 . gymnast_id = t2 .
people_id order by t2 . age asc limit 1

همانطور که در این مثال نشان داده شده است، یادگیری چند شات مبتنی بر سریع، تعداد انگشت شماری از مثال های مشروح را در خود درخواست به مدل ارائه می دهد. این نگاشت هدف بین زبان طبیعی و SQL را برای مدل نشان می دهد. به طور معمول، درخواست شامل حدود 2 تا 3 جفت است که یک پرس و جو زبان طبیعی و عبارت SQL معادل را نشان می دهد. این چند مثال، مدل را برای تولید پرس‌وجوهای SQL سازگار با نحو از زبان طبیعی بدون نیاز به داده‌های آموزشی گسترده راهنمایی می‌کند.

تنظیم دقیق در مقابل مهندسی سریع

هنگام ساخت زبان طبیعی برای سیستم‌های SQL، اغلب وارد این بحث می‌شویم که آیا تنظیم دقیق مدل تکنیک مناسبی است یا مهندسی سریع مؤثر راهی است که می‌توان انجام داد. هر دو رویکرد را می توان بر اساس مجموعه ای از الزامات مناسب در نظر گرفت و انتخاب کرد:

    • تنظیم دقیق – مدل پایه بر روی یک مجموعه متن کلی از قبل آموزش داده شده است و سپس می توان از آن استفاده کرد تنظیم دقیق مبتنی بر دستورالعمل، که از نمونه های برچسب گذاری شده برای بهبود عملکرد یک مدل پایه از پیش آموزش دیده در text-SQL استفاده می کند. این مدل را با وظیفه هدف تطبیق می دهد. تنظیم دقیق به طور مستقیم مدل را در کار پایانی آموزش می دهد اما به نمونه های متنی SQL زیادی نیاز دارد. می توانید از تنظیم دقیق نظارت شده بر اساس LLM خود برای بهبود اثربخشی متن به SQL استفاده کنید. برای این کار، می توانید از چندین مجموعه داده مانند عنکبوت, WikiSQL, تعقیب, BIRD-SQL، یا CoSQL.
    • مهندسی سریع – این مدل برای تکمیل اعلان‌های طراحی‌شده برای درخواست دستور SQL هدف آموزش داده شده است. هنگام تولید SQL از زبان طبیعی با استفاده از LLM، ارائه دستورالعمل‌های واضح در اعلان برای کنترل خروجی مدل مهم است. در اعلان برای حاشیه نویسی اجزای مختلف مانند اشاره به ستون ها، طرح و سپس دستور ایجاد نوع SQL. اینها مانند دستورالعمل هایی عمل می کنند که به مدل می گویند چگونه خروجی SQL را فرمت کند. اعلان زیر مثالی را نشان می دهد که در آن ستون های جدول را نشان می دهید و دستور ایجاد یک پرس و جو MySQL را می دهید:
Table offices, columns = [OfficeId, OfficeName]
Table employees, columns = [OfficeId, EmployeeId,EmployeeName]
Create a MySQL query for all employees in the Machine Learning Department

یک رویکرد موثر برای مدل‌های تبدیل متن به SQL این است که ابتدا با یک LLM پایه بدون هیچ گونه تنظیم دقیق کار خاص شروع کنید. سپس می‌توان از اعلان‌های خوش‌ساخت برای تطبیق و هدایت مدل پایه برای مدیریت نگاشت متن به SQL استفاده کرد. این مهندسی سریع به شما امکان می دهد بدون نیاز به تنظیم دقیق، قابلیت را توسعه دهید. اگر مهندسی سریع در مدل پایه دقت کافی را به دست نیاورد، تنظیم دقیق روی مجموعه کوچکی از نمونه‌های متنی SQL می‌تواند همراه با مهندسی سریع بیشتر مورد بررسی قرار گیرد.

اگر مهندسی سریع بر روی مدل خام از پیش آموزش دیده به تنهایی الزامات را برآورده نکند، ممکن است ترکیبی از تنظیم دقیق و مهندسی سریع مورد نیاز باشد. با این حال، بهتر است در ابتدا مهندسی سریع و بدون تنظیم دقیق انجام شود، زیرا این امکان تکرار سریع بدون جمع‌آوری داده‌ها را فراهم می‌کند. اگر این نتواند عملکرد مناسبی را ارائه دهد، تنظیم دقیق در کنار مهندسی سریع مرحله بعدی قابل دوام است. این رویکرد کلی کارایی را به حداکثر می‌رساند در حالی که در صورت ناکافی بودن روش‌های صرفاً مبتنی بر فوری، امکان سفارشی‌سازی را نیز فراهم می‌کند.

بهینه سازی و بهترین شیوه ها

بهینه سازی و بهترین شیوه ها برای افزایش اثربخشی و حصول اطمینان از استفاده بهینه از منابع و حصول نتایج صحیح به بهترین شکل ممکن ضروری است. این تکنیک ها به بهبود عملکرد، کنترل هزینه ها و دستیابی به یک نتیجه با کیفیت بهتر کمک می کنند.

هنگام توسعه سیستم های متن به SQL با استفاده از LLM، تکنیک های بهینه سازی می توانند عملکرد و کارایی را بهبود بخشند. موارد زیر برخی از زمینه های کلیدی هستند که باید در نظر گرفته شوند:

  • ذخیره سازی - برای بهبود تأخیر، کنترل هزینه و استانداردسازی، می‌توانید SQL تجزیه‌شده و درخواست‌های جستجوی شناسایی‌شده را از متن به SQL LLM در حافظه پنهان ذخیره کنید. این کار از پردازش مجدد پرس و جوهای مکرر جلوگیری می کند.
  • نظارت - گزارش‌ها و معیارهای مربوط به تجزیه پرس و جو، تشخیص سریع، تولید SQL و نتایج SQL باید برای نظارت بر سیستم متن به SQL LLM جمع‌آوری شوند. این امکان مشاهده نمونه بهینه‌سازی را فراهم می‌کند که به‌روزرسانی اعلان یا بازدید مجدد از تنظیم دقیق با یک مجموعه داده به‌روز شده است.
  • نماهای مادی شده در مقابل جداول - نماهای مادی شده می توانند تولید SQL را ساده کرده و عملکرد را برای پرس و جوهای رایج متن به SQL بهبود بخشند. جستجوی مستقیم جداول ممکن است منجر به SQL پیچیده شود و همچنین منجر به مشکلات عملکرد، از جمله ایجاد مداوم تکنیک‌های عملکردی مانند شاخص‌ها شود. علاوه بر این، زمانی که از همان جدول برای سایر حوزه‌های کاربردی به طور همزمان استفاده می‌شود، می‌توانید از مشکلات عملکرد جلوگیری کنید.
  • تازه کردن داده ها - نماهای مادی شده باید بر اساس یک برنامه به روز شوند تا داده ها برای درخواست های متن به SQL به روز نگه داشته شوند. می‌توانید از روش‌های به‌روزرسانی دسته‌ای یا افزایشی برای متعادل کردن سربار استفاده کنید.
  • کاتالوگ داده مرکزی - ایجاد یک کاتالوگ داده متمرکز، نمای شیشه ای واحدی را برای منابع داده سازمان فراهم می کند و به LLM ها کمک می کند تا جداول و طرحواره های مناسب را برای ارائه پاسخ های دقیق تر انتخاب کنند. بردار تعبیه ها ایجاد شده از یک کاتالوگ داده مرکزی می تواند به همراه اطلاعات درخواست شده برای تولید پاسخ های SQL مرتبط و دقیق به یک LLM ارائه شود.

با بکارگیری بهترین شیوه‌های بهینه‌سازی مانند ذخیره‌سازی، نظارت، نماهای تحقق‌یافته، بازخوانی برنامه‌ریزی‌شده، و یک کاتالوگ مرکزی، می‌توانید عملکرد و کارایی سیستم‌های تبدیل متن به SQL را با استفاده از LLM به میزان قابل توجهی بهبود بخشید.

الگوهای معماری

بیایید به برخی از الگوهای معماری که می توانند برای گردش کار متن به SQL پیاده سازی شوند، نگاهی بیاندازیم.

مهندسی سریع

نمودار زیر معماری ایجاد پرس و جو با یک LLM با استفاده از مهندسی سریع را نشان می دهد.

معماری برای ایجاد پرس و جو با یک LLM با استفاده از مهندسی سریع را نشان می دهد

در این الگو، کاربر یادگیری چند شات مبتنی بر سریع ایجاد می‌کند که نمونه‌های حاشیه‌نویسی شده را در خود اعلان به مدل ارائه می‌دهد، که شامل جزئیات جدول و طرح و برخی پرس‌وجوهای نمونه با نتایج آن است. LLM از دستور ارائه شده برای برگرداندن SQL تولید شده توسط هوش مصنوعی استفاده می کند، که اعتبارسنجی می شود و سپس برای دریافت نتایج در مقابل پایگاه داده اجرا می شود. این ساده ترین الگو برای شروع با استفاده از مهندسی سریع است. برای این، می توانید استفاده کنید بستر آمازون or مدل های پایه in Amazon SageMaker JumpStart.

در این الگو، کاربر یک یادگیری چند شات مبتنی بر اعلان ایجاد می‌کند که نمونه‌های حاشیه‌نویسی شده را در خود فرمان به مدل ارائه می‌دهد که شامل جزئیات جدول و طرح‌واره و برخی پرس‌وجوهای نمونه با نتایج آن است. LLM از دستور ارائه شده برای برگرداندن SQL تولید شده توسط هوش مصنوعی استفاده می کند که اعتبارسنجی شده و برای دریافت نتایج در مقابل پایگاه داده اجرا می شود. این ساده ترین الگو برای شروع با استفاده از مهندسی سریع است. برای این، می توانید استفاده کنید بستر آمازون که یک سرویس کاملاً مدیریت شده است که انتخابی از مدل‌های پایه (FM) با کارایی بالا را از شرکت‌های پیشرو هوش مصنوعی از طریق یک API ارائه می‌دهد، همراه با مجموعه گسترده‌ای از قابلیت‌هایی که برای ساخت برنامه‌های هوش مصنوعی مولد با امنیت، حفظ حریم خصوصی و هوش مصنوعی مسئولانه نیاز دارید. یا مدل های بنیاد جامپ استارت که مدل های بنیادی پیشرفته ای را برای موارد استفاده از جمله نوشتن محتوا، تولید کد، پاسخ به سوال، کپی رایتینگ، خلاصه سازی، طبقه بندی، بازیابی اطلاعات و موارد دیگر ارائه می دهد.

مهندسی سریع و تنظیم دقیق

نمودار زیر معماری ایجاد پرس و جو با یک LLM با استفاده از مهندسی سریع و تنظیم دقیق را نشان می دهد.

معماری برای ایجاد پرس و جو با یک LLM با استفاده از مهندسی سریع و تنظیم دقیق را نشان می دهد.

این جریان شبیه به الگوی قبلی است، که بیشتر بر مهندسی سریع متکی است، اما با یک جریان اضافی از تنظیم دقیق در مجموعه داده های خاص دامنه. LLM دقیق تنظیم شده برای ایجاد پرس و جوهای SQL با حداقل مقدار درون متنی برای درخواست استفاده می شود. برای این کار، می‌توانید از SageMaker JumpStart برای تنظیم دقیق یک LLM در مجموعه داده‌های خاص دامنه، به همان روشی که هر مدلی را آموزش داده و استقرار می‌دهید، استفاده کنید. آمازون SageMaker.

مهندسی سریع و RAG

نمودار زیر معماری ایجاد پرس و جو با یک LLM با استفاده از مهندسی سریع و RAG را نشان می دهد.

معماری برای ایجاد پرس و جو با یک LLM با استفاده از مهندسی سریع و RAG را نشان می دهد.

در این الگو استفاده می کنیم بازیابی نسل افزوده با استفاده از فروشگاه های جاسازی برداری، مانند آمازون تایتان Embeddings or Cohere Embed، در بستر آمازون از یک کاتالوگ داده مرکزی، مانند چسب AWS کاتالوگ داده ها، از پایگاه های داده در یک سازمان. جاسازی های برداری در پایگاه داده های برداری مانند ذخیره می شوند موتور برداری بدون سرور جستجوی باز آمازون, سرویس پایگاه داده رابطه ای آمازون (آمازون RDS) برای PostgreSQL با pgvector پسوند، یا آمازون کندرا. LLM ها از جاسازی های برداری برای انتخاب سریعتر پایگاه داده، جداول و ستون های مناسب از جداول هنگام ایجاد پرس و جوهای SQL استفاده می کنند. استفاده از RAG زمانی مفید است که داده ها و اطلاعات مرتبطی که باید توسط LLM ها بازیابی شوند در چندین سیستم پایگاه داده جداگانه ذخیره می شوند و LLM باید بتواند داده ها را از همه این سیستم های مختلف جستجو یا پرس و جو کند. اینجاست که ارائه جاسازی های برداری از یک کاتالوگ داده متمرکز یا یکپارچه به LLM ها منجر به اطلاعات دقیق و جامع تری می شود که توسط LLM ها بازگردانده می شود.

نتیجه

در این پست، نحوه تولید ارزش از داده های سازمانی با استفاده از زبان طبیعی برای تولید SQL بحث کردیم. ما اجزای کلیدی، بهینه‌سازی و بهترین شیوه‌ها را بررسی کردیم. ما همچنین الگوهای معماری را از مهندسی اولیه تا تنظیم دقیق و RAG یاد گرفتیم. برای کسب اطلاعات بیشتر به ادامه مطلب مراجعه نمایید بستر آمازون برای ساختن و مقیاس‌بندی آسان برنامه‌های هوش مصنوعی مولد با مدل‌های پایه


درباره نویسنده

ایجاد ارزش از داده های سازمانی: بهترین شیوه ها برای Text2SQL و هوش مصنوعی مولد | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.رندی دیفاو یک معمار ارشد راه حل در AWS است. او دارای مدرک MSEE از دانشگاه میشیگان است، جایی که روی بینایی کامپیوتری برای وسایل نقلیه خودران کار می کرد. او همچنین دارای مدرک MBA از دانشگاه ایالتی کلرادو است. رندی موقعیت های مختلفی را در فضای فناوری از مهندسی نرم افزار گرفته تا مدیریت محصول داشته است. In در سال 2013 وارد فضای Big Data شد و به کاوش در آن منطقه ادامه می دهد. او به طور فعال روی پروژه هایی در فضای ML کار می کند و در کنفرانس های متعددی از جمله Strata و GlueCon ارائه کرده است.

ایجاد ارزش از داده های سازمانی: بهترین شیوه ها برای Text2SQL و هوش مصنوعی مولد | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.نیتین اوسبیوس یک معمار راه حل های سازمانی Sr. در AWS، با تجربه در مهندسی نرم افزار، معماری سازمانی، و AI/ML است. او عمیقاً مشتاق کشف امکانات هوش مصنوعی مولد است. او با مشتریان همکاری می کند تا به آنها کمک کند تا برنامه های کاربردی با معماری خوب بر روی پلت فرم AWS بسازند، و به حل چالش های فناوری و کمک به سفر ابری آنها اختصاص دارد.

ایجاد ارزش از داده های سازمانی: بهترین شیوه ها برای Text2SQL و هوش مصنوعی مولد | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.ارغیا بانرجی یک معمار Sr. Solutions در AWS در منطقه خلیج سانفرانسیسکو است که بر کمک به مشتریان در پذیرش و استفاده از AWS Cloud تمرکز دارد. Arghya بر روی Big Data، Data Lakes، Streaming، Batch Analytics و خدمات و فناوری های AI/ML متمرکز است.

تمبر زمان:

بیشتر از آموزش ماشین AWS