Dev Tweet – Telegram
Dev Tweet
850 subscribers
113 photos
15 videos
3 files
98 links
گعده‌ای در باب برنامه نویسی، پایتون، هوش مصنوعی و داده
Download Telegram
روش جدید عقده‌ای بازی😜 در تعیین نقش نویسنده در کار علمی
👎2🤯1
یک شاخه کار دیتاساینس هست تو دنیا که خیلی جذابه تو ایران هم هست، نمیدونم عنوان درستش چی میتونه باشه. من بهش میگم «دیتاساینس ژورنالیستی».
تم این کار بین بچه‌هایی که اقتصاد سنجی خوندن برجسته‌تر و رایج‌تره تا بچه‌های کامپیوتری.
از طریق دوستان میدونم در ایران مثلا «موسسه دنیا اقتصاد» تیم تحلیل داده داره. احتمالا اگر «اکوایران» رو دیده باشید بعضی از گزارشهای این چنینی رو منتشر میکنه.
چند روز پیش توی توئیتر به چندتا اکانت در خبرگزاریهای خارجی برخوردم مثلا توی بیوش زده «ستون‌نویس دپارتمان دیتای واشنگتن پست»
اکانت جالبیه اکثر محتواش خبرهایی تحلیلی داده است مثلا این پستش.
تو دنیا امروز دیگه آدمهای با سواد رو کمتر میشه با خبر خام بایاس کرد ولی با خبرهای تحلیلی چرا هنوز میشه!
👍3
دیزاین‌ها فیگما تولید شده از سند PRD!

توضیحات کاملتر
Dev Tweet
اگر شما تجربه خرید اشتراک رو دارید بنویسید از چه سرویسی استفاده می‌کنید راضی هستید یا نه. من خودم دارم متقاعد می‌شم برم اشتراک text.cortex رو بگیرم. بعدا توضیح میدم چرا.
اشتراک Poe.com: اقتصادی‌ترین راه برای استفاده از مدل‌های زبانی پیشرفته(تجربه شخصی)
ست:

بعد از چند هفته بررسی برای خریدن یک اشتراک به‌صرفه برای دسترسی به انواع مدل‌های هوش مصنوعی، باید اعلام کنم که poe.com بهترین، به‌صرفه‌ترین و خفن‌ترین اشتراک ممکن است!
سرویس‌های اشتراک مدل‌های زبانی از GPT-4 گرفته تا Claude و Gemini Advanced و موتورهای جستجو جدید مبتنی بر مدل زبانی مثل Perplexity و You.com همگی حدود ۱۸ تا ۲۰ دلار قیمت دارند.
من سرویس‌های خیلی زیادی را بررسی کردم اما!
هیچ‌کدام به پای سرویس Poe.com نمی‌رسند! چرا؟
۱. مدل هزینه‌ی اشتراک
به این صورت که بشه یک میلیون پوینت امتیاز می‌دهد و برای هر کوئری و سوالی که کاربر به آن مدل زبانی می‌دهد، هزینه‌ای از آن پوینت کم می‌کند.
برای اینکه ملموس باشد، این‌طوری بگویم قیمت اکانتش با دلار الان حدود یک میلیون و پانصد هزار تومان است.
یعنی هر پوینت Poe می‌شود ۱.۵ تومان!
مثلاً هر درخواست gpt-4o به اندازه ۳۰۰ پوینت هزینه دارد، یعنی شما برای هر درخواست به این مدل زبانی دارید ۴۵۰ تومان خرج می‌کنید.
مثلاً فکر کنم گران‌ترینش که Claude Opus با کانتکست ۲۰۰k است، ۳۰۰۰ پوینت، یعنی می‌شود ۴۵۰۰ تومان.
مثلاً فرض کنید یک مقاله بزرگ را می‌دهید به او و از او ۱۰ تا سوال می‌پرسید، می‌شود ۴۵ هزار تومان. به نظر برخی‌ها این عدد به اینکه گران‌ترین واقعاً می‌ارزد، فرض کنید یک مقاله بزرگ که دو سه روز طول می‌کشد بخوانید، نکات لازمش را دو سه ساعته یاد بگیرید، واقعاً می‌ارزد!

۲. تنوع مدل‌های زبانی
من هیچ سرویسی ندیدم این تنوع مدل زبانی را داشته باشد. حیرت‌انگیز است.
من اینجا لیست مهم‌ترین این مدل‌ها را جمع کردم.(حتما زوم کنید عکس رو ببیند یا از اینجا ببینید)
مدل‌هایی که پوشش می‌دهد دو دسته‌اند: یک سری مدل اشتراکی که شما باید پول بدهید و بخرید که بخواهید استفاده کنید، مثلاً ۲۰ دلار بدهید جی‌پی‌تی بخرید که از همه ظرفیتش هم نمی‌توانید استفاده کنید، پولتان هدر می‌رود.
یک سری مدل اپن‌سورس هم هست که مثل لاما-۳ که یا باید از یک سری سرویس رایگان مثل lab.perplexity.com استفاده کنید یا اینکه یک GPU در حد 4090 انویدیا داشته باشید که برای خودتان ران کنید.
این Poe.com همه انواع این دو دسته مدل را ساپورت می‌کند.
ساپورت خوبی از مدل‌های کمتر شناخته شده مثل deepseek دارد و همچنین مدل زبانی چینی Qwen.
یا مدل‌های کمتر شناخته‌ای که در بنچمارک‌ها می‌بینید، مثل Command-R.
همچنین ساپورت خیلی خوبی از مدل‌های مولد تصویر مثل DALL-E, Playground و Stable Diffusion و Ideogram دارد.
👍6
Dev Tweet
اشتراک Poe.com: اقتصادی‌ترین راه برای استفاده از مدل‌های زبانی پیشرفته(تجربه شخصی) ست: بعد از چند هفته بررسی برای خریدن یک اشتراک به‌صرفه برای دسترسی به انواع مدل‌های هوش مصنوعی، باید اعلام کنم که poe.com بهترین، به‌صرفه‌ترین و خفن‌ترین اشتراک ممکن است! سرویس‌های…
یک نکته ای حسب تجربه خودم بگم اینکه من فکر میکردم چقدر این یک میلیون پوینتی که میده کمه!
مثلا تهش میشه باهاش در طول یک ماه 3000 تا درخواست به gpt-4o زد! این که چیزی نیست!
ولی الان که نزدیک یک هفته است دارم استفاده میکنم بهتون میگم خیلیه!
و حتی منی که از این سرویس خیلی خیلی استفاده میکنم خیلی بعیده تا ته ماه بتونم همه یک میلیون پوینتش رو هزینه کنم.

یک نکته دیگه، در یک برآورد سر انگشتی دارید یک ساله حدود ۱۸ میلیون تومن خرج این بات میشه که میتونید با دوستاتون اشتراکی استفاده کنید نصف بشه.
اگر فکر میکنید که مثلا ۳۰ درصد از وقت تحصیلی و کاری‌تون در یک سال اینقدر می ارزه حتما بخریدش چون به نظرم اقلا ۳۰ درصد بهره‌وری محقق و برنامه‌نویس رو بالا می‌بره به شرطی که بلد باشید درست استفاده کنید.


خودش هم چند تا قابلیت جذاب داره وبش یکی‌ش اینیه که تو عکس میذارم. فرض کنید یه سوال رو از gpt-4o پرسیدید خوب جواب نداده یا میخواهید جوابش رو از یک بات دیگه هم بپرسید که خودش برای این باتها رو پیشنهاد میده . مطابق عکس.
2👍2👏1
Dev Tweet
اشتراک Poe.com: اقتصادی‌ترین راه برای استفاده از مدل‌های زبانی پیشرفته(تجربه شخصی) ست: بعد از چند هفته بررسی برای خریدن یک اشتراک به‌صرفه برای دسترسی به انواع مدل‌های هوش مصنوعی، باید اعلام کنم که poe.com بهترین، به‌صرفه‌ترین و خفن‌ترین اشتراک ممکن است! سرویس‌های…
یه نکته دیگه اضافه کنم این Poe.com مثه سرویسهای دیگه یه شرکت استارت آپی نیست! برای شرکت Quoraاست که قطعا میشناسید و استفاده کردید ازش(ورژن انگلیسی نی‌نی سایت 😂😂)که واسه دو تا کارمند سابق فیس بوکه بیش از ۲۰۰ تا کارمند داره ارزشش نزدیک دو میلیارد دلاره!
👍4
فرمتینگ مناسب در پایتون (تجربه)
همیشه برام دغدغه بود که چه فرمتر (formatter) یا ابزار فرمت‌بندی کد رو برای پروژه‌های پایتون (Python) انتخاب کنم. فرمترها ابزارهایی هستند که کد منبع را مطابق با دستورالعمل‌های استایل خاصی تجزیه و تحلیل و بازنویسی می‌کنند تا خوانایی و یکنواختی کد افزایش پیدا کنه. این ابزارها به ما کمک می‌کنند تا اطمینان حاصل کنیم که کد ما نه تنها درست کار می‌کند، بلکه به زیبایی و به شکل استاندارد نوشته شده. برای پایتون سه تا formatter اصلی وجود داره.همیشه بین این سه گزینه گیر می‌کردم: Black، autopep8، و YAPF. هر بار در پروژه‌های یکی رو انتخاب می‌کردم ولی یه بار رفتم اساسی بررسی کردم اینا چه تفاوتهایی دارن. هر کدوم قابلیت‌ها و ویژگی‌های منحصر به فرد خودشون رو دارند و انتخاب بین این‌ها واقعا سخته. اما بزارید یه نگاه دقیق‌تر به هر کدوم بندازیم:

1. Black
فرمتر Black به شدت خودکار و بی‌طرفانه (opinionated) عمل می‌کنه. این فرمتر با اینکه خیلی سفت و سخته (uncompromising)، ولی به خاطر همین خصوصیتش خیلی هم محبوب شده. نظم خاصی به کد می‌ده و تقریبا هیچ جایی برای بحث و جدل در مورد سبک کدنویسی باقی نمی‌ذاره. ویژگی بارزش بخاطر این سختی‌گیری نسبت به yapf متعین(deterministic) بودنشه یعنی اگر روی یک کد اجرا کنی حتما به یک شکل مشخص در میاره. برای یک کد چند تا حالت مختلف رو به عنوان حالت معتبر از نظر فرمت در نظر نمی‌گیره ولی yapf اینطوری نیست جلوتر توضیح میدم.
یک مشکل بزرگ داره انعطاف‌پذیری کمی داره (less flexible) و شاید برای پروژه‌هایی که نیاز به سبک خاصی دارند مناسب نباشه.

2. autopep8
فرمتر autopep8 دقیقا روی استانداردهای PEP 8 (PEP 8) تمرکز داره. این فرمتر کدها رو به شکلی استاندارد و خوانا (readable) درمیاره ولی فقط مطابق autopep8. کد را آنالیز می‌کند و خطاهای استایل را اصلاح می‌کند تا با استانداردهای PEP 8 همخوانی داشته باشد.
گاهی اوقات نمی‌تونه به اندازه Black یا YAPF انعطاف‌پذیر باشه (not as flexible) و ولی تعداد قوانین‌ش به اندازه‌ی black‌ زیاد نیست.
معنی انعطاف پذیر بودنش اینه که اگر یک کدی با black فرمت شده باشه اینقدر قوانین خیلی سفت و سختی داره (strict rules) که قوانین Autopep هم درش رعایت شده مثلا PEP8 میگه طول خط از 79 بیشتر نشه ولی black میاد اینقدر طول خط رو کوتاه میکنه که از 79 خیلی کمتر و قواعد هر دو تا استاندارد رو پاس میکنه.

3. YAPF
فرمتر YAPF خیلی قابل تنظیم و انعطاف‌پذیره (highly configurable). این فرمتر بر اساس یک پروفایلی که شما تعیین می‌کنید، کد رو فرمت می‌کنه. YAPF کد را بازبینی کرده و بر اساس پروفایل تعیین شده تغییرات لازم را اعمال می‌کند تا کد هم خوانا و هم زیبا باشد.
اگر دنبال سفارشی‌سازی د
دقیق فرمت کدتان هستید (customization)، YAPF انتخاب خوبیه. خصوصا توی پروژه‌ها. البته اگر کسی باشه بشینه استاندارهای فرمت رو همه رو کانفیگ کنه.اما گاهی اوقات تنظیمات می‌تونه خیلی پیچیده بشه (complex configuration) و این ممکنه باعث سردرگمی شود.
خیلی ساده بخوام بگم YAPF بیشتر یک ابزار کانفیگ فرمته تا فرمتر با قواعد مشخص! یعنی میتونی یه جوری کانفیگ کنی که خروجی بشه مثه خروجی هر کدوم از دوتا قبلی، میتونی هم طوری کانفیگ کنی که اصلا هیچ شبیه دو تا قبلی نشه.


چند تا قطعه کد ببنید یه کم حس بگیرید به حرفام:
این کد رو در نظر بگیرید که فرمت خیلی بدی داره:
def compute(value1,value2,value3):return value1+value2+value3

Formatted by autopep8
def compute(value1, value2, value3): return value1 + value2 + value3

Formatted by Black
def compute(value1, value2, value3):
return value1 + value2 + value3

اما اینکه میگم به جز black اون دو تا دیگه متعین نیستن مثالش اینطوریه که فرض کنید کد ورودی این سه تا باشه. در این صورت با اینکه تابع یک چیزه ولی هر سه تا اینا قواعد YAPF رو رعایت کرد و هر سه تا میتونه تو پروژه باشه!

def function(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10):
print(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)

def function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10):
print(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)

def function(
arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10):
print(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)


طبق تجربه میگم اگر گیت در پروژه تون نقش پررنگی داره قواعد فرمتیگ رو همون اول ست کنید وسط پروژه اعمال کردن فرمت شدیدا روی مرج کانفلیکت میده!
قواعد black به نظر من از جهت deterministic بودن خیلی خوبن ولی در زمینه‌ی طول خط خیلی کوتاه و سختگیرانه است.

تجربه شما چیه؟
👍9
استفاده از llm در پزشکی
سوتی رو گرفتی؟
👍3👎1