ساخت چت بات مشابه ChatGpt در پایتون

این روزا خیلی چت بات ها داغ شدن گفتم یاد بدم چجوری یک چت بات بسازین,بدون گفتن حرف های اضافه سریع بریم سر اصل مطلبچت بات چی هست؟ساده ترین توضیح به رباتی که باهاش چت میکنن چت بات میگن و اگه یکم با جزییات بیشتر بخوام بگم یک برنامه ای هست که بهش یک پیغامی رو میدیم پردازش میکنه و میخونه(یعنی میتونه متن رو درک کنه که چی توش گفته شده و خواسته چی هست) و بر اساس اون متن یک جوابی میدهحالا اگه قرار باشه یک چت بات خفن رو از صفر خودتون پیاده کنین خیلی چالشا هست از جمله:توانایی ایجاد یه مدل پردازش متن به همراه یه تیم حفن که روش زمان زیادی کار کنن شاید چنیدن سال و سرمایه مالی هنگفت.این که سخت شد !یه راه راحت تری هم وجود داره اونم استفاده از سرویس های ارایه دهنده چت بات که بر بستر api از اون میشه استفاده کرد(همون جمله معروف:همیشه که قرار نیس چرخو بسازیم)یکی از معروف ترین این سرویس ها کمپانی OpenAi که درواقع سازنده همین ChatGpt هستغیر از چت بات OpenAi سرویس های زیادی که با هوش مصنوعی کار میکنن داره از جمله تبدیل صدا به متن,تبدیل متن به عکس که از هرکدوم به راحتی میتونین استفاده بکنیندر ادامه میگم که چطور سوالاتونو رو به OpenAi برسونین و جواب بگیرین و باقی سرویس هارو به خودتون میسپرمدر این لینک میتونین داکیومنت رسمی خود OpenAi رو برای استفاده از سرویس ها ببینین.این نکته رو توجه داشته باشید که برای استفاده از این API نیاز به هزینه هست اما به بعضی اکانت ها چندین دلار استفاده رایگان میده برای مثال به اکانت من 18 دلار داد اما این مقدار شانسی هستاول از همه یک اکانت openai بسازید سپس در این لینک یک Secret Key بگیرید که در ادامه برای احراز هویت از اون استفاده میکنیمسپس پکیج openai رو نصب میکنیمpip install openaiو در ادامه با این قطعه کد میتوانید پیام خود را ارسال کنیدimport openaicompletion = openai.Completion.create(api_key='Secret Key',engine='text-davinci-003',prompt='What is bnana? ',max_tokens=1000,n=1,temperature=0.7)در اینجا ابتدا پکیج را وارد میکنیم کردیم و با استفاده از ابجکت Completion متد create را فراخوانی میکنیم و به این صورت پیام خود را ارسال میکنیم.ارگومان هایی که میگیره:api_key:سکرت کی که از سایت گرفتین اینجا قرار میدینengine:مدل انجینی که قراره از اپن استفاده بشه,openai برای ما مدل انجین های متنوعی قرار داده که هرکدوم برای کار های مختص خودش بهینه شده و هزینه های متفاوتی داره و میتونین از این لینک نگاهی به مدل ها بندازینprompt:پیغامی که قرار ارسال بکنیم کهmax_tokens:برای هر درخواست مقدار توکنی مصرف میشه که برای مشخص کردن اینکه حداکثر چقدر مصرف بشه مقدار ان را وارد میکنیم که باید یک عدد اینتیجر باشهn:تعدا پاسخ هایی که تولید کندtemperature:میزان خلاقیت را مشخص میکنیم که 0.1 تا 2 میشه مقدار داد و هرچه این عدد بیشتر باشه توکن بیشتری مصرف میشهپاسخ به کا یک json برمیگردونه که برای رسیدن مستقیم به جواب این مقدار رو قرار میدیمresponse = completion.choices[0].text.strip()در اینجا مقدار choices اولین ایندکس ان را میگیریم(اکر n را بیشتر از 1 بذاریم به همون تعداد جواب تولید میشه و در اینجا میشه حلقه فور زد و تمام جواب ها را در یک ارایه ریخت) سپس text ان را میگیریم و با متد strip فاصله های ان را حذف میکنیم در نهایت جواب خام ما در response قرار دارداین ساده ترین حالت ارسال یک متن و گرفتن جواب بود اپشن های زیادی وجود داره برای مثال چت هارو توی یک سشن قرار بدین تا به پیام های قبلی هم دسترسی داشته باشه یا خیلی اپشن های دیگ که برای مشاهده بیشتر میتونین داکیومنت رو مشاهده کنینیک پکیج پایتونی هم برای راحت تر کردن ساخت چت بات مشابه چت جی پی تی وجود به اسم revChatGPT داره اما متاسفانه داکیومنت کاملی نداره ,برای دسترسی به این پکیج میتونین از این لینک به گیت هاب پروژه دسترسی پیدا کنین.شما میتونین چت باتتون رو به هر برنامه ای وصل کنید و هرطور که دوست داشتید کاستومایز کنین و برای نمونه میتونین این کد رو در گیت هابم ببینین که من با استفاده از html,tailwind.css,js در فرانت اند و python,flask در بکند یک چت بات ساده رو پیاده کردم