سوالی که هر صاحب فروشگاه دیر یا زود از خودش میپرسد
«کدام محصول بیشترین بازگشت را داشت؟» «فروش این ماه نسبت به ماه قبل چقدر رشد کرده؟» «کدام مشتریها بیش از سه ماه است خرید نکردهاند؟» جواب هر کدام از این سوالات جایی در دیتابیس فروشگاه هست — اما رسیدن به آن معمولاً یعنی درخواست از یک نفر که SQL بلد است، یا باز کردن یک داشبورد از پیشساخته که شاید اصلاً همان سوال دقیق را پوشش نمیدهد.
NL2SQL — یکی دیگر از لایههای آرتینبات که در این سری تا حالا کمتر به آن پرداختهایم — دقیقاً همین فاصله را حذف میکند.
NL2SQL چیست، دقیقاً؟
مخفف Natural Language to SQL — یعنی تبدیل یک سوال به زبان طبیعی فارسی به یک کوئری واقعی روی دیتابیس، و بازگرداندن جواب به زبانی که قابل فهم است، نه یک جدول خام. کافی است سوال را همانطور که به یک همکار میگویید بپرسید — مثلاً «لیست مشتریان فعال استان تهران را بده» — و سیستم مدل را تشخیص میدهد، کوئری را میسازد، و نتیجه دقیق را برمیگرداند.
چرا این با چتبات معمولی فرق دارد؟
چتبات معمولی — حتی هوشمندترین نسخهاش — روی دانش عمومی یا محتوایی که از قبل به آن آموزش دادهاید جواب میدهد. NL2SQL کار متفاوتی میکند: مستقیم به دیتابیس واقعی و زنده کسبوکار شما وصل میشود. جواب «فروش دیروز چقدر بود؟» یک عدد ثابت از یک سند نیست — نتیجه یک کوئری زنده روی دادهای است که همین الان در سیستم شماست.
چهار نوع خروجی که NL2SQL آرتینبات میتواند بدهد
عدد ساده
وقتی سوال یک پاسخ مشخص و تکی دارد — «چند سفارش امروز ثبت شده؟» — خروجی فقط یک عدد است، بدون نیاز به توضیح اضافه.
جدول
وقتی سوال به فهرستی از موارد نیاز دارد — «ده محصول پرفروش این ماه کداماند؟» — خروجی یک جدول مرتبشده است.
نمودار
وقتی سوال روند یا مقایسه را میطلبد — «فروش سه ماه اخیر را نشان بده» — خروجی یک نمودار است، چون یک عدد یا جدول بهتنهایی روند را بهخوبی نشان نمیدهد.
هشدار
وقتی سوال یک آستانه یا شرط دارد — «اگر موجودی کالای X زیر ده رسید به من خبر بده» — خروجی یک قانون هشدار است که از آن پس، بدون نیاز به پرسش دوباره، فعال میماند.
انتخاب نوع خروجی دستی نیست؛ بر اساس ماهیت خود سوال تعیین میشود — این یعنی کاربر لازم نیست بداند کدام قالب را بخواهد، فقط باید سوال درست را بپرسد.
نمونه سوالات واقعی — و خروجی که هرکدام تولید میکنند
«امروز چند سفارش داشتیم؟»
خروجی: یک عدد. مناسب صبح هر روز، برای دید سریع بدون باز کردن هیچ داشبوردی.
«پرفروشترین دسته محصول در سه ماه اخیر کدام است؟»
خروجی: جدول، بههمراه ستون درصد سهم هر دسته از کل فروش.
«روند فروش هفتگی از ابتدای فصل تا الان چطور بوده؟»
خروجی: نمودار خطی، برای دیدن الگوی رشد یا افت در نگاه اول.
«کدام مشتریها بیش از دو ماه خرید نکردهاند؟»
خروجی: جدول، قابل استفاده مستقیم برای یک کمپین بازگرداندن مشتری.
«اگر موجودی هر محصول زیر پنج عدد رسید، هشدار بده»
خروجی: یک قانون هشدار فعال، بدون نیاز به پرسیدن دوباره هر روز.
«کدام محصول بیشترین بازگشت (مرجوعی) را داشته؟»
خروجی: جدول، مرتبشده بر اساس تعداد یا درصد مرجوعی — سوالی که معمولاً بدون ابزار مناسب، هفتهها طول میکشد تا جوابش پیدا شود.

