Md Daily – Telegram
Md Daily
726 subscribers
239 photos
15 videos
21 files
283 links
راجب مقالات و مستندات فنی یا غیر فنی که میخونم و علایقم اینجا مینویسم :)


گروه کانال: https://news.1rj.ru/str/MdDailyGap

کورس ها: https://news.1rj.ru/str/MdDaily/395

وبلاگ: https://mddaily.ir
Download Telegram
سلام دوستان :)
خیلی ممنون که کانال MD Daily رو حمایت می کنید و با شما خانوادمون بزرگ تر شده 🫶🏻
می خواهم یک آموزش با موضوع انتخابی شما در کانال بذارم و آموزش به صورت متنی و تصویری هست. تا جای ممکن ساده و قابل فهم برای همه هستش و بدون ترس از یادگیری قراره باهم پیش بریم :)
اگه استقبال خوبی شد بازم آموزش ها را ادامه میدیم .
موضوعاتی که انتخاب کردم تئوری نیستند . مثلا قرار نیست آموزش پایتون بذاریم در عوض قراره یه پروژه ی باحال با پایتون انجام بدیم .
توی پست بعدی موضوعات رو در قالب نظر سنجی میذارم.

🆔 @MdDaily
3👨‍💻1👀1🆒1
Md Daily
موضوعات آموزش:
با تشکر از تمام عزیزانی که توی نظر سنجی شرکت کردند.

توی ۵ هفته ی متوالی قراره باهم به ترتیب موضوعاتی که بیشترین رای را آوردند، آموزش هاشون را قرار بدم.

آموزش ها در 3 روز متوالی چهارشنبه و پنجشنبه و جمعه منتشر میشوند ‌و شما میتونید با هشتگ #ام_دی_کورس اون ها را توی کانال پیدا کنید.

@MdDaily
🔥3🌭1
#ام_دی_کورس

دانش پایه Exif Data و سعی در ادیت کردن Exif Byte Order عکس با Golang

خب قبل از اینکه بریم سراغ کد نویسی و کاری که میخوایم انجام بدیم باید با یک سری مفاهیم آشنا بشیم :)

💡خب اول از همه Exif data توی عکس ها چی هستند؟
فایل‌های EXIF (فرمت فایل تصویری قابل تعویض) داده‌های مهم عکس‌ها را ذخیره می‌کنند. تقریباً همه دوربین‌های دیجیتال هر بار که یک عکس جدید می‌گیرید، این فایل‌های داده را ایجاد می‌کنند. یک فایل EXIF تمام اطلاعات مربوط به خود تصویر را در خود نگه می‌دارد - مانند سطح نوردهی، جایی که عکس را گرفته‌اید و تنظیماتی که استفاده کرده‌اید.

🪄ما قراره Exif Byte Order را تغییرش بدیم که:
در متا دیتا های عکس مقدار Exif Byte Order دو حالت میتونه باشه: Little-endian و Big-endian که اگر عکس با گوشی اندرویدی گرفته شده باشه احتمالا Little-endian خواهد بود و اگر با گوشی آیفون گرفته شده باشه Big-endian هستش.


📄 تعریف little-endian: یک روش برای ذخیره سازی داده‌ها در رایانه است که در آن داده‌ها با توجه به کوچکترین بخش آن‌ها مرتب می‌شوند. به عبارتی در این روش، بیت‌های کم ارزش داده در مقابل بیت‌های با ارزش قرار می‌گیرند. 🔄
برای مثال، عدد ۳۰۰ با فرمت little-endian به این صورت ذخیره می‌شود: ۰۴۷۶

📄 تعریف big-endian: یک روش برای ذخیره سازی داده‌ها در رایانه است که در آن داده‌ها با توجه به بزرگترین بخش آن‌ها مرتب می‌شوند. به عبارتی در این روش، بیت‌های باارزش داده در مقابل بیت‌های کم‌ارزش قرار می‌گیرند. 🔄
برای مثال، عدد ۳۰۰ با فرمت big-endian به این صورت ذخیره می‌شود: ۷۶۰۴

💎 اما دقیقا endian ها چی هستند و چه کاربردی دارند؟

کاربرد اصلی endian ها در ذخیره سازی اعداد بیشتر برای پردازش رایانه‌ای است. وقتی داده‌ها به درستی بر اساس endian باشند، برنامه‌ها و سیستم‌ها می‌توانند آنها را به درستی تفسیر کنند.

برخی از کاربردهای endian شامل:
- ارتباط بین سیستم‌های مختلف: وجود استانداردهای انتقال داده که مشخص می‌کنند که در رابطه با endian چه روشی استفاده شود، تضمین می‌کند که اطلاعات به درستی تفسیر می‌شوند.
- پردازش تصویر و صدا: در برخی فرمت‌های تصویری و صوتی، endian می‌تواند تأثیری در نحوه تفسیر داده‌ها و کیفیت آنها داشته باشد.

به طور خلاصه با استفاده از endian، سیستم‌ها و برنامه‌ها می‌توانند به درستی با یکدیگر ارتباط برقرار کنند و داده‌ها را به درستی تفسیر کنند.

ادامه در پست بعدی...

🆔 @MdDaily
2
Md Daily
#ام_دی_کورس دانش پایه Exif Data و سعی در ادیت کردن Exif Byte Order عکس با Golang خب قبل از اینکه بریم سراغ کد نویسی و کاری که میخوایم انجام بدیم باید با یک سری مفاهیم آشنا بشیم :) 💡خب اول از همه Exif data توی عکس ها چی هستند؟ فایل‌های EXIF (فرمت فایل…
#ام_دی_کورس

خب از بخش تئوری که رد بشیم بریم این مفاهیم را توی عمل ببینیم :)

قبل از هر چیزی ما نیاز به یه عکس داریم که متادیتا هاش رو ببینیم . شما میتونید با گوشیتون یک عکس بگیرید و اون را زیپ کنید بفرستید روی دسکتاپ متا دیتا هاش رو ببینید یا هم راه ساده تر اینکه از ریپوی exif-samples که کلی عکس با فرمت های مختلف گذاشته یه عکس نمونه را به دلخواه دانلود کنید. من از عکس sanyo-vpcg250.jpg استفاده میکنم.

وارد سایت metadata2go.com میشیم و برای دیدن متا دیتا فایلمون رو توش آپلود میکنیم که اینجا من فایل sanyo-vpcg250.jpg را توش آپلود کردم .
همانطور که در تصویر بالا می بینید مقدار exif_byte_order برابر با Little-endian هستش که ما قراره تبدیل به Big-endian اش کنیم

همچنین میتونیم بجای وبسایت از ابزار exiftool استفاده کنیم:
exiftool MYFILE.JPG | grep "Exif Byte Order"

که خروجیش میشه :
Exif Byte Order: Little-endian (Intel, II)

ادامه در پست بعدی...

🆔 @MdDaily
👨‍💻2
Md Daily
#ام_دی_کورس خب از بخش تئوری که رد بشیم بریم این مفاهیم را توی عمل ببینیم :) قبل از هر چیزی ما نیاز به یه عکس داریم که متادیتا هاش رو ببینیم . شما میتونید با گوشیتون یک عکس بگیرید و اون را زیپ کنید بفرستید روی دسکتاپ متا دیتا هاش رو ببینید یا هم راه ساده…
#ام_دی_کورس


خب ما تا اینجا با مفهوم little-endian و big-endian آشنا شدیم و میدونیم چطوری کار میکنند.

حالا وقتشه یه نقشه ی راه از کاری که قراره بکنیم داشته باشیم.

> پست های مربوط به الگوریتم رو میتونید از اینجا بخونید

تسک های ما :

۱. یک پیام به کاربر نشون بدیم و ازش بخوایم مسیر تصویر مدنظرش را بهمون بده

۲. چک کنیم که اون عکس یک عکس ولید هستش یا نه

۳. بایت های عکس را بخونیم

۴- یک حلقه بنویسیم و در بایت ها دنبال Exif باشیم

۵- مقدار byte order را تغییر بدیم

۶. عکس جدید را ذخیره کنیم

۷. با exiftool یا وبسایت متا دیتا های عکس را بررسی کنیم که از درست کار کردن برنامه مطمئن بشم

ادامه در پست بعدی...

🆔 @MdDaily
👍1
Md Daily
#ام_دی_کورس خب ما تا اینجا با مفهوم little-endian و big-endian آشنا شدیم و میدونیم چطوری کار میکنند. حالا وقتشه یه نقشه ی راه از کاری که قراره بکنیم داشته باشیم. > پست های مربوط به الگوریتم رو میتونید از اینجا بخونید تسک های ما : ۱. یک پیام به کاربر…
#ام_دی_کورس

💡 اگر ما فایل تصویرمون را با یک Hex editor باز کنیم (اینجا من از xxd استفاده کردم یعنی : xxd filename.jpg ) . اگر exif byte order ما little-endian باشه با همچین چیزی مواجه هستیم :

0000000: 4949 2a00 0800 0600 ffff 0000 0000 ffff  II*.............


و اگر big-endian باشه با این مقدار :

0000000: 4d4d 002a 0006 0008 ffff 0000 0000 ffff  MM.*............

برای تغییر byte order از little-endian به big-endian و برعکس یکی از کار هایی که میتونیم انجام بدیم اینکه II رو به MM و یا MM را به II تغییر بدیم.

👨🏻‍💻پس بریم که توی پست بعدی برنامش رو بنویسیم :)

⚠️پی نوشت :
هدف این آموزش آشنایی شما با نحوه ی کار با binary در گولنگ و مفاهیم است و برای تغییر کامل metadata ها و انجام تبدیل endian ها ابزار های زیادی مثل exiftool وجود داره . اگر فایل مهمی دارید این کد را روی اون فایل اجرا نکنید چون ممکنه باعث خرابی فایل بشه.

🆔 @MdDaily
1
Md Daily
#ام_دی_کورس 💡 اگر ما فایل تصویرمون را با یک Hex editor باز کنیم (اینجا من از xxd استفاده کردم یعنی : xxd filename.jpg ) . اگر exif byte order ما little-endian باشه با همچین چیزی مواجه هستیم : 0000000: 4949 2a00 0800 0600 ffff 0000 0000 ffff II*.............…
#ام_دی_کورس

کد کامل پروژه را به همراه فایل نمونه را توی ریپوی mdpe-ir/md-course گذاشتم.

خب ما اول نیاز داریم که از کاربر بخوایم آدرس عکسش رو بهمون بده :

fmt.Print("Enter the image path: ")
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
imagePath := scanner.Text()

در مرحله ی بعد ما باید فایل تصویر را تبدیل به آرایه ای از byte ها کنیم :

data, err := ioutil.ReadFile(imagePath)

حالا که بایت های تصویر را داریم . باید با استفاده از یه حلقه توی بایت ها دنبال این باشیم که هدر Exif از کجا شروع شده پس :

for i := 0; i < len(data); i++ {
if i >= 6 && string(data[i:i+5]) == "Exif\x00" {
data = convertExifByteOrder(data, i+6)
break
}
}

و اما میریم سراغ تابع convertExifByteOrder توی این تابع قراره نوع endian را تشخیص بدیم و اگه little endian بود تبدیل بشه به big endian و برعکس :

func convertExifByteOrder(data []byte, offset int) []byte {
// Read exif byte order marker
order := binary.LittleEndian.Uint16(data[offset:])

// If little endian, convert to big endian
if order == 0x4949 {
binary.BigEndian.PutUint16(data[offset:], 0x4D4D)
}

// If big endian, convert to little endian
if order == 0x4D4D {
binary.LittleEndian.PutUint16(data[offset:], 0x4949)
}

return data
}


نکته: ما توی این تابع فقط hex کدی که مربوط به نوع endian هست را تغییر میدیم و بقیه ی متا دیتا ها را تغییر نمیدیم. چون که هر متا دیتایی مقدار خودش را داره و ما قرار نیست خیلی آموزش رو پیچیده کنیم

خب حالا فقط کافیه ی که عکس جدید را ذخیره کنیم :

err = ioutil.WriteFile("output.jpg", data, 0644)

و تمام . هر سوالی که داشتید فقط کافیه توی ایشو های mdpe-ir/md-course بپرسید :)

🆔 @MdDaily
1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#ام_دی_کورس

خب اینم از نتیجه ی کار

و پایان آموزش دانش پایه Exif Data و سعی در ادیت کردن Exif Byte Order عکس با Golang

🆔 @MdDaily
👍1
3 شهریور، تولد 32 سالگی لینوکس مبارک 🥳.

در سال 1991، دانشجوی فنلاندی، لینوس توروالدز، کار روی سیستم عامل آزاد برای کلون‌های 386(486) AT را به عنوان سرگرمی آغاز کرد.

32 سال از آن زمان می‌گذرد و لینوکس به چیزی بزرگ و مورد استفاده
میلیون‌ها کاربر در سراسر جهان تبدیل شده.

امروز، لینوکس در همه‌جا حضور دارد، از تلفن‌های هوشمند تا اینترنت و ماهواره و هواپیما ها .

32 سال لینوکس در زندگی‌های ما بوده و حتی اگر از آن استفاده نکنید، همیشه وجود داره :)

🆔 @MdDaily
2🎉1
برای فان یه پروژه ی اسپاتیفای دانلودر با Pure Golang نوشتم.

سعی کردم تا جای ممکن کد ها ساده و تمیز باشند که اگر کسی خواست به توسعش کمک کنه یا گولنگ را تازه شروع کرده و دنبال یه پروژه ی تمرینیه بتونه ازش استفاده کنه

برنامه اینطوری کار میکنه که میاد از شما لینک اسپاتیفای رو میگیره و به اسپاتیفای وصل میشه (کلاینت سکرت و آیدی اسپاتیفای هم توی کد هارد کد شده اگه پروژه ی اسپاتیفای دیگه ای هم داشتید میتونید ازشون استفاده کنید 🙃 )

توی اسپاتیفای دنبال اهنگ میگرده بعد از اینکه پیداش کرد میره از یوتیوب دانلودش میکنه و در نهایت با ffmpeg صدا را از تصویر جدا میکنه و به شما دوتا فایل .mp4 و .mp3 تحویل میده (قبل از دانلود هم ازتون میپرسه که کدوم کیفیت رو دانلود کنه)

از بخش ریلیز میتونید نسخه ویندوز، مک و لینوکسش رو دانلود کنید و تحت ترمینال با دستور
./md_spotify_dl [url]
ازش استفاده کنید


لینک ریپو:
https://github.com/mdpe-ir/md_spotify_dl


🆔 @MdDaily
👨‍💻2🆒1
سایت Datacamp به مدت یک هفته تمام دوره‌هاشو رایگان کرده. میتونید شرکت کنید، یاد بگیرید و مدرک دوره رو هم بگیرید

https://www.datacamp.com/blog/data-camp-free-access-week-aug-2023

🆔 @MdDaily
🔥2💯1
Md Daily
موضوعات آموزش:
خب طبق نظر سنجی، از فردا تا جمعه توی ۳ روز متوالی قراره آموزش پروژه ی هوش مصنوعی پرسشو پاسخ بر اساس متن و مستندات با استفاده از مدل Llama 7b را داشته باشیم .

قراره توی این دوره از Google Colab استفاده کنیم.

اگه با google colab آشنایی ندارید یه سرویس گوگل برای توسعه دهنده هاس که به شما یه Jupyter notebook میده که میتونید کد پایتون و بش اسکریپت ران کنید. توی پلن رایگانش تا ۱۲ گیگ رم و ۱۰۰ گیگ فضا و تا ۱۲ گیگ gpu nvidia در اختیار دارید

توی دوره ی فردا این مباحث قراره پوشش داده بشن:

- آموزش راه اندازی Google colab

-دانلود مدل تمرین داده شده

-آموزش پرامپت نویسی

-طراحی یه صفحه ی ui تحت وب که ما بیایم متن ، مستندات یا ... خودمون رو یهش بدیم و بر اساس اون به سوالاتمون پاسخ داده باشه

-در پایان هم راجب کار ها و ایده هایی که میشه روش سوار کرد صحبت میکنیم

🆔 @MdDaily
#ام_دی_کورس

آموزش پروژه ی هوش مصنوعی پرسشو پاسخ بر اساس متن و مستندات با استفاده از مدل Llama 7b و Longchain

خب ما دقیقا قرار چیکار کنیم؟
قراره محیط توسعه ی خودمون رو راه اندازی کنیم
دپندسی ها را نصب کنیم و مدلمون رو از huggingface دانلود کنیم
و شروع کنیم به کشف چیز های جدید و از همه مهم تر خندون باشیم :)

خب اول از همه بریم با مفاهیم آشنا بشیم که توی هر پست به صورت مجزا راجبشون توضیح میدم .

ادامه در پست بعدی...

🆔 @MdDaily
Md Daily
#ام_دی_کورس آموزش پروژه ی هوش مصنوعی پرسشو پاسخ بر اساس متن و مستندات با استفاده از مدل Llama 7b و Longchain خب ما دقیقا قرار چیکار کنیم؟ قراره محیط توسعه ی خودمون رو راه اندازی کنیم دپندسی ها را نصب کنیم و مدلمون رو از huggingface دانلود کنیم و…
#ام_دی_کورس

هوش مصنوعی (Artificial Intelligence): سیستم‌هایی که می‌تونن کارایی مشابه انسان داشته باشن، مثل تشخیص چهره، ترجمه زبان، بازی شطرنج و غیره. 🧠🤖

- یادگیری ماشین (Machine Learning): شاخه‌ای از هوش مصنوعی که به سیستم‌های کامپیوتری امکان می‌دهد تا از داده‌ها یاد بگیرند و خودشون رو بهبود ببخشند، بدون اینکه نیاز به برنامه‌نویسی دقیق داشته باشند. 📊👩‍🎓

- مدل (Model): مجموعه‌ای از قوانین و دستورالعمل‌هایی که به کامپیوترها اجازه می‌دهد تا داده‌ها را پردازش و پیش‌بینی کنند 🧮

- تمرین مدل (Model Training): فرآیند آموزش یک مدل با استفاده از داده‌های مربوط به مسئله‌ای که قصد حل آن را داریم، تا مدل بتواند پاسخ‌های درست را بدهد. 🏋️‍♂️🎯

- مدل تمرین داده شده (Trained Model): یک مدل که با داده‌های آموزش دیده است و حالا قادر است به سوالات جدید پاسخ دهد. 🎓🗣

- مدل LLM : مخفف Large language model (مدل زبانی بزرگ) است که یک نوع خاص از مدل هوش مصنوعی است که قادر است با استفاده از داده‌های متنی محتوا تولید کند، زبان‌ها را ترجمه کند و به سوالات شما پاسخ دهد 🤖✍️

ادامه در پست بعدی...

🆔 @MdDaily
1
Md Daily
#ام_دی_کورس هوش مصنوعی (Artificial Intelligence): سیستم‌هایی که می‌تونن کارایی مشابه انسان داشته باشن، مثل تشخیص چهره، ترجمه زبان، بازی شطرنج و غیره. 🧠🤖 - یادگیری ماشین (Machine Learning): شاخه‌ای از هوش مصنوعی که به سیستم‌های کامپیوتری امکان می‌دهد تا…
#ام_دی_کورس

و اما LangChain 🔗🦜 چیه؟

یک فریم‌ورک قدرتمند و متن باز است که به توسعه‌دهندگان امکان می‌دهد با استفاده از LLM ها، برنامه‌هایی در زمینه‌های گوناگون از جمله چت‌بات‌ها، پرسش و پاسخ تولیدی و خلاصه‌سازی ایجاد کنند. LangChain با اتصال دادن اجزای مختلف از ماژول‌های گوناگون، امکان ساخت برنامه‌های عالی مبتنی بر قدرت LLMs را فراهم می‌کند.

گیت هاب:‌ https://github.com/langchain-ai/langchain
مستندات رسمی: https://python.langchain.com/

ادامه در پست بعدی...

🆔 @MdDaily
1👍1
Md Daily
#ام_دی_کورس و اما LangChain 🔗🦜 چیه؟ یک فریم‌ورک قدرتمند و متن باز است که به توسعه‌دهندگان امکان می‌دهد با استفاده از LLM ها، برنامه‌هایی در زمینه‌های گوناگون از جمله چت‌بات‌ها، پرسش و پاسخ تولیدی و خلاصه‌سازی ایجاد کنند. LangChain با اتصال دادن اجزای…
#ام_دی_کورس

خب ما قراره از یه LLM به نام Llama 2 استفاده کنیم اما این مدل زبانی چه مزیتی برای ما داره و دقیقا چیکار میکنه ؟

یک مدل زبانی متن باز هستش که توسط متا/فیس‌بوک به عنوان جایگزینی برای مدل‌های متن‌بسته مانند GPT و PaLM ایجاد شده و بر خلاف بقیه ی مدل های متن‌بسته امکان استفاده ی تجاری داره.

این مدل توی چند نسخه ی مختلف قابل استفادس:

نسخه Llama 2 7B: یعنی ۷ میلیارد پارمتر داره
نسخه Llama 2 13B: یعنی ۱۳ میلیارد پارمتر داره
نسخه Llama 2 70B: یعنی ۷۰ میلیارد پارمتر داره


این مدل با داده‌های عمومی مانند داده های استخراج شده از اینتنرت آموزش دیده و با امتیاز دادن به جواب هاش توسط نیرو های انسانی بهینه‌سازی شده. همچنین این امکان وجود داره که با داده های خودمون این مدل رو آموزش بدیم.

در آزمون‌های استاندارد، Llama 2 عملکردی مشابه GPT-3.5 داشته و از دیگر مدل‌های متن‌باز بهتر عملکرده اما به اندازه GPT-4 و PaLM 2 خوب عمل نمی‌کنه.

باید این نکته را در نظر بگیریم که Llama 2 70B درسته 70 میلیارد پارامتر داره ولی GPT-4 چیزی حدود 100 تریلیون پارامتر داره :)

ادامه در پست بعدی...

🆔 @MdDaily
Md Daily
#ام_دی_کورس خب ما قراره از یه LLM به نام Llama 2 استفاده کنیم اما این مدل زبانی چه مزیتی برای ما داره و دقیقا چیکار میکنه ؟ یک مدل زبانی متن باز هستش که توسط متا/فیس‌بوک به عنوان جایگزینی برای مدل‌های متن‌بسته مانند GPT و PaLM ایجاد شده و بر خلاف بقیه ی…
#ام_دی_کورس

پلتفرم Huggingface مجموعه ایه که برای توسعه و به اشتراک گذاری مدل های هوش مصنوعی و ابزارهای مربوط به پردازش زبان طبیعی فعالیت می کنه.

این شرکت در سال 2016 تأسیس شد. هدف اونها ایجاد یک اکوسیستم باز برای توسعه هوش مصنوعی بود که همه بتونند ازش استفاده کنند.

شما در این پلتفرم میتونید به مخزن بزرگی از مدل های تمرین داده شده، دیتاست ها و ابزارهای مربوط به پردازش زبان طبیعی دسترسی پیدا کنید.

لینک های مفید:
https://huggingface.co/
https://huggingface.co/openlm-research
https://en.wikipedia.org/wiki/Hugging_Face

ادامه در پست بعدی...

🆔 @MdDaily
Md Daily
#ام_دی_کورس پلتفرم Huggingface مجموعه ایه که برای توسعه و به اشتراک گذاری مدل های هوش مصنوعی و ابزارهای مربوط به پردازش زبان طبیعی فعالیت می کنه. این شرکت در سال 2016 تأسیس شد. هدف اونها ایجاد یک اکوسیستم باز برای توسعه هوش مصنوعی بود که همه بتونند ازش…
#ام_دی_کورس

خب بریم برای ادامه ی آموزش و شروع کار به کد نویسی :)

به دلیل اینکه LLM ها نیاز به منابع زیادی برای پردازش دارند ما قرار از colab استفاده کنیم که به ما یه محیط توسعه میده با run time های متفاوت.

وارد سایت https://colab.google/ بشید و روی دکمه ی New Note book کلیک کنید

ادامه در پست بعدی...

🆔 @MdDaily
This media is not supported in your browser
VIEW IN TELEGRAM
#ام_دی_کورس

خب توی این ویدیو با هم یک note book جدید می سازیم و اسمش را تغییر میدیم. در نهایت با تغییر rune time از CPU به T4 GPU و اجرای کامند های لینوکس میزان منابعی که در اختیار داریم رو میبینیم.
برای فان هم چنتا کامند لینوکس رو تست میگریم

ادامه در پست بعدی...
🆔 @MdDaily
This media is not supported in your browser
VIEW IN TELEGRAM
#ام_دی_کورس

خب توی این ویدیو پیش نیاز هامون را نصب میکنیم و مدلمون رو از Huggingface دانلود میکنیم. به دلیل اینکه Llama 2 برای دسترسی نیاز به ثبت نام داره ما از open_llama_7b استفاده می کنیم که نیاز به ثبت نام نداره.

لینک مدل در Huggingface
لینک مدل در گیت هاب

کد های استفاده شده در این ویدیو:

Install prerequisites:

!pip install -q transformers einops accelerate langchain bitsandbytes
!pip install sentencepiece

Import packages:

from langchain import HuggingFacePipeline
from transformers import AutoTokenizer, pipeline
from transformers import LlamaTokenizer, LlamaForCausalLM
import torch


Download model:

model_path = "openlm-research/open_llama_7b" # Hugging Face
tokenizer = LlamaTokenizer.from_pretrained(model_path)
model = LlamaForCausalLM.from_pretrained(
model_path, torch_dtype=torch.float16, device_map='auto',
)

ادامه در پست بعدی...

🆔 @MdDaily