این روزها همه درباره ChatGPT و کاربردهای آن صحبت میکنند. قابلیتها و ویژگیهای این چتبات باعث شده تا هر کس در هر صنعت و حوزهای تلاش کند به نحوی از آن برای کارهای خود بهره ببرد. قابلیتهای ChatGPT در همین مدت کم به افراد و کسبوکارهای زیادی کمک کرده است تا بخشی از کارها و وظایف خود را سریعتر، بهتر و سادهتر انجام دهند. این موضوع باعث شد تا از خود بپرسیم میتوان یک API با استفاده از ChatGPT توسعه داد؟
یکی از قابلیتهای مهم و اصلی چتبات ChatGPT، برنامهنویسی به زبانهای مختلف و دیباگ کردن کد است. در این پست ما از ChatGPT برای توسعه یک API ساده استفاده میکنیم که نقلقولها را از حافظه داخلی و بر اساس دستهبندی انتخاب کرده و نمایش میدهد. اگر هنوز نتوانستید در ChatGPT ثبتنام کنید (به دلیل محدودیتهایی که شرکت OpenAI برای کاربران ایرانی قرار داده است)، در انتهای مقاله نحوه ثبتنام را توضیح دادهایم.
ساخت یک API با استفاده از ChatGPT که نقلقول تولید میکند
پس از ورود به ChatGPT، از آن میخواهیم تا یک کد net. برای ما بنویسد که نقلقولها را بر اساس
دستهبندی تولید میکند.
کد کاملی که ChatGPT به ما داده است را اینجا مشاهده میکنید:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ ۴۵ ۴۶ ۴۷ ۴۸ |
using System; using Microsoft.AspNetCore.Mvc; namespace QuoteGeneratorAPI.Controllers { &#۰۹۱;ApiController] &#۰۹۱;Route("[controller]")] public class QuotesController : ControllerBase { private static readonly Dictionary<string, List<string>> _quotes = new Dictionary<string, List<string>> { { "inspirational", new List<string> { "Believe you can and you're halfway there.", "The only limit to our realization of tomorrow will be our doubts of today.", "Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do." } }, { "motivational", new List<string> { "Success is not final, failure is not fatal: It is the courage to continue that counts.", "Don't watch the clock; do what it does. Keep going.", "The best and most beautiful things in the world cannot be seen or even touched - they must be felt with the heart." } }, { "funny", new List<string> { "I'm not arguing, I'm just explaining why I'm right.", "I'm not always the sharpest tool in the shed, but I'm pretty good at pretending to be.", "I'm not short, I'm just concentrated awesome." } } }; &#۰۹۱;HttpGet] public ActionResult<string> Get(string category) { if (!_quotes.ContainsKey(category)) return BadRequest($"Invalid category: {category}"); var quotes = _quotes&#۰۹۱;category]; var random = new Random(); var quote = quotes&#۰۹۱;random.Next(quotes.Count)]; return Ok(quote); } } } |
حالا کافی است تا یک پروژه NET Core API در ویژوال استودیو (یا ادیتور انتخابی خود) بسازید، یک کنترلر جدید ایجاد و کد را در آن کپی کنید.
نکته: این کد از حافظه داخلی برای نقلقولها استفاده میکند. شما میتوانید نقلقولها و دستهبندیها را به دلخواه خود ویرایش کنید و یا از یک پایگاه داده برای ذخیره نقلقولها بهره ببرید.
کجا API را میزبانی کنیم؟
بگذارید این سوال را از ChatGPT بپرسیم:
همانطور که ChatGPT پاسخ داده است، راههای متفاوتی مانند Azure App Service، Heroku، GitHub Pages، OpenFaaS و Glitch وجود دارد که با کمک آنها میتوان به صورت رایگان API را میزبانی کنید.
در کشور ما نیز گزینههای مختلفی برای میزبانی API وجود دارد که با یک جستجوی ساده میتوانید آنها را پیدا کرده و بسته به نیازها و منابع خود، یکی از گزینههای موجود را انتخاب کنید.
چطور API را بفروشیم؟
این سوال را از ChatGPT پرسیدیم:
همانطور که در پاسخ مشخص است، گزینههای مختلفی از جمله موارد زیر برای فروش و درآمدزایی از API وجود دارد:
- پلتفرمهای فروش سرویس و نرمافزار
- فروش از طریق وبسایت شخصی
- فروش از طریق پلتفرمهای فریلنسینگ
- بازارچههای API و خدمات دیجیتال
بازارچههای API و خدمات دیجیتال مانند پادیوم پلتفرمهای دوسویهای هستند که از یک طرف شرایط مناسب برای ارائه API توسط تامینکنندگان (اشخاص یا شرکتها و سازمانها) و گسترش دایره مشتریان آنها را فراهم آورده و از سوی دیگر با ایجاد یک بازار شفاف و رقابتی، به دریافتکنندگان کمک میکنند تا بسته به نیازهای خود، بهترین گزینه را برای توسعه محصول انتخاب و پیادهسازی کنند.
چطور این API را به یک زبان دیگر بنویسیم؟
همانطور که در پادکست هگزاگون گفتیم، APIها مستقل از زبان هستند. یعنی شما میتوانید یک API را به زبانهای مختلف و برای ماشینهای مختلف توسعه دهید. این کار با ChatGPT بیش از پیش راحت شده است. برای مثال ما از ChatGPT میخواهیم تا همین API نقلقول را به زبان جاوا اسکریپت برای ما بنویسد:
کد کامل ارائه شده توسط ChatGPT را در ادامه مشاهده میکنید:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ |
const express = require('express'); const app = express(); const quotes = { "inspirational": &#۰۹۱; "Believe you can and you're halfway there.", "The only limit to our realization of tomorrow will be our doubts of today.", "Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do." ], "motivational": &#۰۹۱; "Success is not final, failure is not fatal: It is the courage to continue that counts.", "Don't watch the clock; do what it does. Keep going.", "The best and most beautiful things in the world cannot be seen or even touched - they must be felt with the heart." ], "funny": &#۰۹۱; "I'm not arguing, I'm just explaining why I'm right.", "I'm not always the sharpest tool in the shed, but I'm pretty good at pretending to be.", "I'm not short, I'm just concentrated awesome." ] }; app.get('/quotes/:category', (req, res) => { const category = req.params.category; if (!quotes&#۰۹۱;category]) { return res.status(۴۰۰).send({ error: `Invalid category: ${category}` }); } const quoteList = quotes&#۰۹۱;category]; const randomIndex = Math.floor(Math.random() * quoteList.length); const quote = quoteList&#۰۹۱;randomIndex]; return res.send({ quote }); }); const port = ۳۰۰۰; app.listen(port, () => { console.log(`Server running at http://localhost:${port}`); }); |
این کد از فریمورک اسکپرس برای ساخت یک سرور ساده استفاده میکند که به درخواست GET گوش داده با دریافت دستهبندی ذکرشده در درخواست، اعتبار آن را میسنجد. سپس در صورت وجود دستهبندی، یک نقلقول به صورت تصادفی انتخاب کرده و برمیگرداند و چنانچه دستهبندی درخواستشده وجود نداشته باشد، خطای ۴۰۴ را ارسال میکند.
چطور ایده برای توسعه API پیدا کنیم؟
اینجا هم میتوانیم از ChatGPT کمک بگیریم:
همانطور که ChatGPT پاسخ داده، گزینههای مختلفی مانند API هواشناسی، API ترجمه، API اخبار و… وجود دارند که میتوانیم با توسعه و فروش آنها، درآمد کسب کنیم.
ثبتنام در ChatGPT
برای ثبتنام در ChatGPT کافی است به لینک زیر بروید:
پس از باز کردن لینک، صفحه زیر را مشاهده میکنید. روی Sign Up کلیک کرده و به مرحله بعد بروید:
اینجا پس از وارد کردن ایمیل و رمز عبور، باید ثابت کنید که ربات نیستید!
در مرحله بعد از شما یک شماره تلفن خواسته میشود. متاسفانه این سرویس در برخی از کشورها (از جمله ایران) محدود است و نمیتوانید از شماره خودتان برای این کار استفاده کنید. همچنین شمارههای مجازی برای ثبتنام مورد تایید نیستند. برای عبور از این مشکل، میتوانید از سرویسهای تایید دومرحلهای مانند سرویس زیر استفاده کنید.
پس از کلیک روی لینک، در سایت ثبتنام کرده و با استفاده از رمزارز پنل خود را شارژ کنید. سپس در قسمت چپ سرویس OpenAI را اپیدا و یکی از کشورها را انتخاب کنید (ما از هند استفاده کردیم):
در ادامه، شماره تلفن داده شده را در سایت OpenAI وارد کرده و گزینه ارسال کد را انتخاب کنید. کد ارسالی پس از چند ثانیه در پنل سایت تایید دومرحلهای نمایش داده میشود که باید آن را در سایت OpenAI وارد کنید.
به دنیای بزرگ ChatGPT خوش آمدید!