ایجاد یک برنامه مولد SQL با ChatGPT، PostgreSQL و ToolJet
در این آموزش، نحوه ساخت یک برنامه SQL Generator با استفاده از ChatGPT، ToolJet و PostgreSQL را یاد خواهید گرفت.
کاربران میتوانند نوع دادههایی را که میخواهند از پایگاه داده بازیابی کنند در جملات انگلیسی ساده بیان کنند، سپس ChatGPT آنها را به نحو SQL مناسب مورد نیاز برای واکشی دادهها از پایگاه داده تبدیل میکند.
ما از ToolJet برای رابط برنامه استفاده خواهیم کرد.
ToolJet چیست؟
ToolJet یک چارچوب کم کد منبع باز است که ما را قادر می سازد تا در عرض چند دقیقه برنامه های تحت وب کامل پشته بسازیم. با ToolJet، میتوانید برنامههای تمامپشته مستقل و کاملاً کاربردی ایجاد کنید یا برنامهها را در وبسایتهای دیگر جاسازی کنید.
ToolJet به شما امکان می دهد برنامه هایی بسازید که از پایگاه داده های رابطه ای و غیر رابطه ای، REST API و فضای ذخیره سازی ابری مانند Google Cloud Storage، AWS S3 و Minio استفاده می کنند. این یک ابزار توسعه عالی است که به افراد، توسعه دهندگان و کسب و کارها کمک می کند تا محصولات را سریعتر ایجاد و ارسال کنند.
قبل از اینکه ادامه دهیم
بسیار خوشحال خواهم شد اگر بتوانید به ما یک ستاره بدهید! و همچنین در قسمت نظرات به من اطلاع دهید. ❤️
https://github.com/ToolJet/ToolJet
ChatGPT چیست؟
ChatGPT بیشترین صحبت در مورد فناوری در حال حاضر است. این یک مدل زبان هوش مصنوعی است که توسط OpenAI برای پاسخ دادن به سوالات، ارائه اطلاعات و مشارکت در مکالمات زبان انسانی با کاربران آموزش دیده است.
ChatGPT کارهایی مانند نوشتن، اشکال زدایی، و توضیح تکه های کد را انجام می دهد. ChatGPT با آخرین مدل زبان GPT-4 خود میتواند تصاویر را بهعنوان اعلان بپذیرد و بر اساس فرمان یا دستورات داده شده پاسخ دهد.
در این مقاله، ما از ChatGPT برای ایجاد نحو پرس و جو SQL از کلمات ساده انگلیسی استفاده خواهیم کرد. قبل از شروع، بیایید پایگاه داده برنامه را تنظیم کنیم.
راه اندازی پایگاه داده ElephantSQL (PostgreSQL).
ElephantSQL ما را قادر می سازد تا به جای ماشین محلی شما، یک پایگاه داده PostgreSQL در فضای ابری ایجاد کنیم. برای ایجاد پایگاه داده PostgreSQL مراحل زیر را دنبال کنید:
در اینجا یک حساب کاربری ElephantSQL ایجاد کنید.
یک نمونه پایگاه داده جدید اضافه کنید. کارت اعتباری یا اطلاعات صورتحساب مورد نیاز نیست.
هنگامی که نمونه پایگاه داده را ایجاد کردید، اطلاعات پایگاه داده شما نمایش داده می شود.
تبریک می گویم! شما با موفقیت پایگاه داده مورد نیاز برای این برنامه را ایجاد کردید. بعد، بیایید رابط برنامه را طراحی کنیم و پایگاه داده را به برنامه متصل کنیم.
طراحی رابط برنامه با ToolJet
در اینجا، نحوه ایجاد یک حساب کاربری ToolJet و طراحی یک برنامه کاربردی کاملاً کاربردی با ToolJet را یاد خواهید گرفت.
اگر تازه وارد ToolJet هستید، یک حساب کاربری ایجاد کنید.
یک Workspace و یک برنامه جدید به نام SQL Generator ایجاد کنید.
یک رابط کاربری مشابه تصویر زیر طراحی کنید. ToolJet شما را قادر می سازد تا رابط های برنامه ها را با کشیدن و رها کردن اجزای مختلف UI ایجاد کنید.
از تصویر بالا موارد زیر را اضافه کردم:
- جزء جدول با نام ستون و سن،
- جزء متنی که به عنوان برچسب فرم عمل می کند،
- جزء TextInput که پرس و جوی SQL را به زبان انگلیسی ساده می پذیرد.
- یک جزء ورودی متنی فقط خواندنی که پرس و جوی SQL تولید شده را نمایش می دهد و
- دو دکمه یکی برای تولید کوئری SQL از ChatGPT و دیگری برای اجرای پرس و جو در پایگاه داده PostgreSQL.
نحوه ارتباط با ChatGPT در ToolJet
در اینجا، نحوه برقراری ارتباط با ChatGPT از طریق Rest API در ToolJet را خواهید آموخت.
ToolJet به ما این امکان را می دهد که با منابع خارجی ارتباط برقرار کنیم یا توابع سفارشی را از طریق یک پنل به نام Query Panel ایجاد کنیم. در ToolJet، هر تابعی که با یکی از موارد زیر ارتباط برقرار کند: پایگاه داده، API، فضای ذخیره سازی ابری، و یک کد جاوا اسکریپت یا پایتون را اجرا می کند، Query نامیده می شود.
راه اندازی یک حساب OpenAI
وارد شوید یا یک حساب OpenAI در اینجا ایجاد کنید.
کلیک Personal
در نوار پیمایش و انتخاب کنید View API keys
از نوار منو برای ایجاد یک کلید مخفی جدید.
یک کلید API جدید ایجاد کنید و آن را در جایی از رایانه خود کپی کنید. در بخش آینده از آن استفاده خواهیم کرد.
برقراری ارتباط با ChatGPT API در ToolJet
در پنل Query خود، REST API را انتخاب کنید و یک درخواست POST به نقطه پایانی ChatGPT ایجاد کنید – https://api.openai.com/v1/chat/completions
.
همانطور که در تصویر بالا نشان داده شده است، موارد زیر را به متغیرهای Query Headers اضافه کردم.
Content-Type: application/json
Authorization: Bearer <YOUR_CHATGPT_API_KEY>
Transformations را فعال کنید و کد زیر را در ویرایشگر کد کپی کنید تا پاسخ دقیق مورد نیاز از درخواست را بازیابی کنید.
const choices = data.choices[0];
return choices.message.content;
روی Body کلیک کنید، JSON خام را فعال کنید و کد زیر را در ویرایشگر کد کپی کنید – این کد حاوی پارامترهایی است که همراه با درخواست POST ارسال شده است.
{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "Write the SQL query for this operation: {{components.textarea1.value}}. I need only the SQL query. No explanations, please."
}
]
}
قطعه کد بالا از مدل GPT-3.5 Turbo ارائه شده توسط OpenAI استفاده می کند و متغیر محتوا حاوی دستور ارسال شده به ChatGPT API است.
ToolJet به کاربران اجازه می دهد تا به ویژگی ها و مقادیر هر جزء دسترسی داشته باشند. از این رو {{components.textarea1.value}}
نشان دهنده مقدار (فرمان انگلیسی ساده) ارائه شده توسط کاربر است.
PS: ممکن است مال شما نباشد
textarea1
، اگر چنین است، آن را به نام مؤلفه برای ورودی کاربر تغییر دهید.
در نهایت بر روی Save
دکمه.🎉
تا کنون، ما پرس و جو ChatGPT را پیکربندی کرده ایم. در مرحله بعد، اجازه دهید زمانی که کاربر روی آن کلیک می کند، پرس و جو را اجرا کنیم Generate SQL Command
دکمه.
از تصویر بالا، من اضافه کردم on Click
رویداد به دکمه، و پرس و جو ChatGPT زمانی که کاربر روی دکمه کلیک می کند اجرا می شود. ورودی کاربر را می گیرد و زمانی که کاربر روی دکمه کلیک می کند، درخواستی برای نحو معادل SQL خود ارسال می کند.
برای نمایش نتیجه، مقدار پیشفرض مؤلفه ورودی متن فقط خواندنی را با تنظیم آن بهروزرسانی کنید {{queries.chatgptQuery.data}}
.
تبریک میگوییم!🎊 شما توانستید با ChatGPT ارتباط برقرار کنید. در مرحله بعد، بیایید نحوه اتصال و ارتباط با پایگاه داده PostgreSQL که قبلاً ایجاد شده است را بیاموزیم.
نحوه ارتباط با پایگاه داده PostgreSQL در ToolJet
در اینجا، نحوه برقراری ارتباط با پایگاه داده PostgreSQL در ToolJet را یاد خواهید گرفت. ابتدا اجازه دهید شما را از طریق اتصال پایگاه داده PostgreSQL به ToolJet راهنمایی کنم.
اتصال پایگاه داده PostgreSQL به ToolJet
کلیک Add a Datasource
از پنل Query در ToolJet، PostgreSQL را از لیست پایگاه های داده انتخاب کنید و اطلاعات مورد نیاز را مطابق شکل زیر ارائه دهید.
از تصویر بالا، میزبان همان نام سرور در ElephantSQL است (به استثنای براکت ها). نام کاربری و نام پایگاه داده یکسان است و رمز عبور را کپی کرده و در قسمت آن قرار دهید.
صفحه را به پایین اسکرول کرده و کلیک کنید Test Connection
.
اگر اتصال تأیید شد، میتوانیم درخواستهایی را در پایگاه داده شروع کنیم.
برقراری ارتباط با پایگاه داده PostgreSQL در ToolJet
در اینجا، نحوه ارسال پرس و جوهای SQL تولید شده توسط ChatGPT را به پایگاه داده PostgreSQL و مشاهده داده های درخواست شده در جزء Table در رابط کاربری خواهید آموخت.
قبل از شروع، اجازه دهید مقداری داده به پایگاه داده اضافه کنیم. روی کوئری PostgreSQL کلیک کنید، حالت SQL را انتخاب کنید و قطعه کد زیر را اجرا کنید تا یک جدول جدید حاوی داده های زیر ایجاد کنید.“
CREATE TABLE People(NAME varchar(255), AGE int);
INSERT INTO People(name, age) VALUES(‘David’, 19);
INSERT INTO People(name, age) VALUES(‘Tabby’, 21);
INSERT INTO People(name, age) VALUES('Teja', 24);
INSERT INTO People(name, age) VALUES('Julius', 27);
INSERT INTO People(name, age) VALUES('Kedrick', 26);
SELECT * FROM people;
پس از آپلود، می توانید داده ها را در ElephantSQL مشاهده کنید.
در مرحله بعد، دستور SQL را از ChatGPT دریافت می کنیم و داده های موجود در جزء Table را در رابط کاربری نمایش می دهیم.
ویرایشگر SQL را بهروزرسانی کنید تا شامل درخواست بازیابی شده از ChatGPT باشد و آن را ذخیره کنید.
یک را اضافه کنید on Click
رویدادی که کوئری پایگاه داده را روی Execute
دکمه.
در نهایت، مؤلفه Table را برای نمایش داده های بازیابی شده از پایگاه داده به روز کنید.
تبریک می گویم! 🎉 شما درخواست این آموزش را تکمیل کرده اید. برای میزبانی و عمومی کردن برنامه، روی دکمه Release و نماد اشتراکگذاری کلیک کنید.
در اینجا نسخه دسکتاپ برنامه است: https://app.tooljet.com/applications/480a5bbb-3607-4c19-ac95-038d4e56cc2a.
همچنین می توانید با دانلود فایل JSON این برنامه را به فضای کاری ToolJet خود وارد کنید
نتیجه
تاکنون یاد گرفته اید که چگونه:
- یک پایگاه داده PostgreSQL را به ToolJet اضافه کنید
- با ChatGPT از طریق REST API در ToolJet ارتباط برقرار کنید و
- طراحی اپلیکیشن در چند دقیقه با ToolJet.
ToolJet هم یک ابزار توسعه عالی و هم منبع باز است – به این معنی که کد آن به راحتی در دسترس همه است تا آن را اصلاح و بهبود بخشد. جامعه بزرگی از توسعه دهندگان و مشارکت کنندگان با استعداد دارد که به طور مداوم نرم افزار را حفظ و بهبود می بخشند. به عنوان یک کاربر، هنگام استفاده از ToolJet، می توانید مطمئن باشید که بهترین عملکرد را خواهید داشت.
آیا شما علاقه مند به مشارکت در ToolJet هستید؟ با خیال راحت به مخزن GitHub ما مراجعه کنید – https://github.com/ToolJet/ToolJet تا در مورد ToolJet مشارکت کنید و مشکلاتی را مطرح کنید.
با تشکر از شما برای خواندن!