لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش تبدیل متن به SQL با Spring AI: تبدیل پرسشها به کوئریهای SQL توسط LLMها
- آخرین آپدیت
دانلود Spring AI Text-to-SQL: Turning Questions into SQL with LLMs
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
پیادهسازی سیستم Text-to-SQL آماده برای محیط عملیاتی با طراحی پرامپت، کنترل اسکیما، اعتبارسنجی SQL و یکپارچهسازی امن LLM
ساخت یک بکاند کامل Text-to-SQL در Spring Boot با استفاده از Spring AI
طراحی پرامپتهای آگاه از اسکیما (Schema-aware) برای بهبود دقت SQL بدون اتکا به RAG
کشف داینامیک اسکیماهای دیتابیس در زمان اجرا و استفاده از آنها در پرامپتهای LLM
پیادهسازی اعتبارسنجی SQL مبتنی بر AST برای اجرای ایمن تنها کوئریهای مورد اعتماد
اعمال محدودیتها، بررسی جداول/ستونها و جلوگیری از رسیدن SQLهای ناامن به دیتابیس
یکپارچهسازی یک رابط کاربری (UI) ساده با API برای مشاهده تولید SQL، نتایج و خطاهای اعتبارسنجی
پیشنیازها: دانش پایه جاوا و Spring Boot مورد نیاز است.
آشنایی با SQL و دیتابیسهای رابطهای (ترجیحاً PostgreSQL).
درک مفاهیم REST API و درخواستها/پاسخهای JSON.
عدم نیاز به دانش قبلی در مورد AI، LLMها یا توسعه فرانتاند.
تبدیل متن به SQL (Text-to-SQL) یکی از قدرتمندترین کاربردهای دنیای واقعی برای مدلهای زبانی بزرگ است. ایده ساده است: کاربر سوالی را به زبان ساده میپرسد و سیستم بهطور خودکار SQL را تولید و اجرا میکند.
> انجام این کار با ChatGPT آسان است.
> اما انجام آن بهصورت ایمن و صحیح در یک سیستم بکاند، دشوار است.
این دوره به شما میآموزد چگونه یک سیستم کامل و در سطح عملیاتی Text-to-SQL را با استفاده از Spring AI، Spring Bootو PostgreSQL، با معماری شفاف، کنترل شدید بکاند و بدون اتکا به «جادوی AI» بسازید.
شما یک چتبات نمیسازید. شما یک داشبورد نمیسازید.
شما یک سیستم بکاند میسازید که بتوانید با اطمینان در محیط کاری خود از آن استفاده کنید.
شامل زیرنویسهای حرفهای به زبانهای اسپانیایی، پرتغالی (برزیل)، ژاپنی و چینی.
شامل دسترسی رایگان ۹۰ روزه به IntelliJ IDEA Ultimate برای تجربه توسعه حرفهای.
چه چیزی این دوره را متفاوت میکند
بیشتر دموهای AI + SQL که در اینترنت میبینید از این الگو پیروی میکنند:
سوال کاربر →LLM →SQL →دیتابیس
این دوره نشان میدهد که چرا این روش خطرناک است و چگونه سیستم را بهدرستی طراحی کنید:
سوال کاربر →بکاند Spring Boot →LLM →اعتبارسنجی SQL →دیتابیس
مدل LLM پیشنهاد میدهد. بکاند همه چیز را کنترل میکند.
آنچه خواهید ساخت
در طول این دوره، روی یک پروژه واحد Spring Boot کار خواهید کرد که ماژول به ماژول تکامل مییابد. به جای مثالهای ساده، از یک دیتابیس واقعی شرکتی (کارمندان، پروژهها، مشتریان، سفارشات، فاکتورها، پرداختها) استفاده میکنید تا کوئریها شبیه به سیستمهای واقعی باشند.
شما موارد زیر را خواهید ساخت:
یک API تبدیل متن به SQL با استفاده از Spring AI
طراحی پرامپتهای آگاه از اسکیما برای بهبود دقت SQL
کشف داینامیک اسکیما از PostgreSQL در زمان اجرا
اعتبارسنجی SQL مبتنی بر AST برای مسدود کردن کوئریهای ناامن
اعتبارسنجی جداول و ستونها با استفاده از اسکیمای واقعی
اعمال LIMIT و کنترل دسترسی به اجرا
یک UI ساده که از API استفاده کرده و نتایج و خطاها را نمایش میدهد
در پایان، شما سیستمی خواهید داشت که در آن یک سوال به زبان ساده به یک SQL ایمن و اعتبارسنج شدهو نتایج واقعی دیتابیس تبدیل میشود.
آنچه خواهید آموخت
شما یاد خواهید گرفت که چگونه:
یک معماری تمیز Text-to-SQL در Spring Boot طراحی کنید
رفتار LLM را با استفاده از اسکیما، پرامپتها و منطق بکاند کنترل کنید
اسکیمای دیتابیس را بهصورت داینامیک شناسایی و مدیریت کنید
از رسیدن SQLهای خطرناک به دیتابیس خود جلوگیری کنید
یک UI ساده را با یک API مبتنی بر AI یکپارچه کنید
درک کنید که RAG در کجا مفید است و در کجا کاربردی ندارد
این دوره برای چه کسانی است
این دوره برای افراد زیر طراحی شده است:
توسعهدهندگان جاوا و Spring Boot که به دنبال کاربردهای واقعی AI هستند
مهندسان بکاند که به معماری و امنیت اهمیت میدهند
tوسعهدهندگانی که با SQL راحت هستند و میخواهند کوئریها را با AI خودکار کنند
مهندسانی که به دنبال یکپارچهسازی عملی AI هستند، نه فقط دموهای ساده
این دوره بر توسعه فرانتاند، داشبوردها یا آزمایشهای صرفاً مبتنی بر پرامپت تمرکز ندارد.
نتیجه نهایی
در پایان این دوره، شما درک خواهید کرد که چگونه LLMها را بهصورت کنترلشده و آماده برای محیط عملیاتی در سیستمهای بکاند ادغام کنید و یک سیستم Text-to-SQL ایمن را از ابتدا با استفاده از Spring AI بسازید.
سرفصل ها و درس ها
مقدمه، راهاندازی و مورد کاربرد Text to SQL
Introduction, Setup & Text-to-SQL Use Case
تبدیل متن به SQL چیست (از دیدگاه بکاند)
What Is Text-to-SQL (Backend Perspective)
جایگاه Text to SQL در سیستمهای واقعی
Where Text-to-SQL Fits in Real Systems
مرور کلی سیستم و مسئولیتهای هر بخش
System Overview & Component Responsibilities
دریافت رایگان IntelliJ IDEA (۹۰ روزه)
Free IntelliJ IDEA (90 Days)
راهاندازی Spring Boot با Spring AI
Setting Up Spring Boot with Spring AI
راهاندازی PostgreSQL با Docker
Setting Up PostgreSQL with Docker
مورد کاربرد NexaCorp و مرور مدل دادهها
NexaCorp Use Case & Data Model Overview
بارگذاری و بررسی مجموعه دادهها
Loading and Exploring the Dataset
محدوده دوره، محدودیتها و گامهای بعدی
Course Scope, Constraints & What’s Next
نحوه استفاده از مخزن Git دوره
How to Use the Course Git Repository
معماری هسته بکاند Text to SQL
Core Text-to-SQL Backend Architecture
جریان کامل (End to End) تبدیل متن به SQL
End-to-End Text-to-SQL Flow
طراحی قرارداد (Contract) برای API تبدیل متن به SQL
Designing the Text-to-SQL API Contract
مسئولیتهای سرویس هسته
Core Service Responsibilities
فراخوانی LLM برای تولید SQL
Calling the LLM to Generate SQL
اجرای SQL تولید شده
Executing Generated SQL
حالتهای شکست در سیستمهای ساده Text to SQL
Failure Modes in Naive Text-to-SQL Systems
خلاصه ماژول و تثبیت معماری
Module Summary & Architecture Freeze
سوالاتی که میتوانید با مجموعه داده NexaCorp امتحان کنید
Questions You Can Try with the NexaCorp Dataset
طراحی پرامپت آگاه از اسکیما
Schema-Aware Prompt Design
چرا پرامپتهای ساده در Text to SQL شکست میخورند
Why Naive Prompts Fail in Text-to-SQL
نمایش اسکیما دیتابیس در پرامپتها
Representing Database Schema in Prompts
افزودن توصیفات جداول و ستونها
Adding Table and Column Descriptions
کدگذاری قوانین کسبوکار در پرامپتها
Encoding Business Rules in Prompts
الگوهای طراحی پرامپت برای Text to SQL
Prompt Design Patterns for Text-to-SQL
کشف و مدیریت داینامیک اسکیما
Dynamic Schema Discovery & Management
چرا اسکیمای استاتیک کافی نیست
Why Static Schema Is Not Enough
کشف داینامیک اسکیما از PostgreSQL
Dynamic Schema Discovery from PostgreSQL
غنیسازی اسکیما با توصیفات
Enriching Schema with Descriptions
کوئریهای SQL مورد استفاده برای کشف داینامیک اسکیما
SQL Queries Used for Dynamic Schema Discovery (PostgreSQL)
کشینگ و پایداری اسکیمای داینامیک
Caching and Stability of Dynamic Schema
راستیآزمایی کامل (End to End) اسکیمای داینامیک
Dynamic Schema End-to-End Verification
امنیت و اعتبارسنجی SQL برای Text to SQL
SQL Safety & Validation for Text-to-SQL
چرا اعتبارسنجی SQL اجباری است
Why SQL Validation Is Mandatory
ساخت اعتبارسنج SQL با استفاده از تجزیه AST
Building the SQL Validator Using AST Parsing
درک کمکی SqlAstUtils برای اعتبارسنجی SQL
Understanding the SqlAstUtils Helper Used for SQL Validation
اعتبارسنجی جداول و ستونها با اسکیمای داینامیک
Validating Tables and Columns with Dynamic Schema
اعمال LIMIT و کنترل دسترسی به اجرا
LIMIT Enforcement and Execution Gating
قوانین اعتبارسنجی SQL اعمال شده توسط بکاند
SQL Validation Rules Enforced by the Backend
تضمینات فعلی سیستم بکاند
What the Backend Now Guarantees
یکپارچهسازی UI ساده با API تبدیل متن به SQL
Simple UI Integration with the Text-to-SQL API
فراخوانی API تبدیل متن به SQL از یک صفحه HTML
Calling the Text-to-SQL API from an HTML Page
نمایش خطاهای اعتبارسنجی در رابط کاربری
Displaying Validation Errors in the UI
نمایش نظرات