🚀 🤑 مثال عملی پیاده‌سازی RAG (قسمت ۱)

Post Image

🚀 🤑 مثال عملی پیاده‌سازی RAG (قسمت ۱)

پاسخ به پرسش‌های ارزی! با دیتای لحظه‌ای... 😎🤑


گفتیم برای اینکه مدل‌های زبانی دیتای به‌روز یا دلخواه ما رو داشته باشن، باید با استفاده از روش‌هایی مثل RAG داده‌های دلخواهمون رو بهشون ارائه کنیم. برای ارائه دیتا از وکتور دیتابیس یا ساختارهای دیگه‌ی حافظه‌ای استفاده می‌کنیم. حالا برای اینکه دست‌به‌کد شیم، تصمیم گرفتم قبل از توضیح دقیق‌تر وکتور دیتابیس، یه مثال بنویسیم تا با ساختارهای ساده و فرایند کلی آشنا شیم. البته توی این مثال اول از memory store استفاده می‌کنم، و در ادامه می‌ریم سراغ وکتور دیتابیس.


سناریو:

هر مدل هوش‌مصنوعی هر چقدر کامل یا باهوش باشه، ۲ چیز در جهان رو نمی‌تونه پیش‌بینی کنه: اولیش قیمت ارز در ایرانه. دومیش هم فعلا بماند 😉؛ حالا می‌خواهیم توی این مثال بریم از یکی از سایت‌های اعلام نرخ ارز، قیمت ارزها رو بگیریم ولی با RAG به مدلمون دیتا بدیم. بعدش که از مدل سوال بپرسیم دیگه می‌دونه مثلا دلار چنده. دقت کنید که اینجا منظورم چپوندن «متن» در قالب پرامپت نیست. بلکه استفاده از ساختار RAG است.


روی کامپیوتر خودمون ollama نصب می‌کنیم و از مدل Phi استفاده می‌کنیم که کوچیک باشه و سخت‌افزار خاصی نیاز نداشته باشه.


موافقید با این مثال پیش بریم؟

اگر موافقید

اول: ollama رو نصب کنید

دوم: بعد از نصب، دستور زیر رو برای دریافت مدل phi3 mini که حدود ۲.۲ گیگابایت است توی ترمینالتون اجرا کنید


ollama pull phi3:mini


بعدش برگردید به همین پست یک عدد ⚙️ بکارید اینجا تا بریم سراغ قسمت بعدی یعنی کد #C که با استفاده از semantic kernel دیتا رو RAG می‌کنیم. البته قبلش هم با HtmlAgilityPack دیتا رو از bonbast.org کرال می‌کنیم.


* دلیل انتخاب سی‌شارپ این بود که حس کردم اعضا کانال عموما به سمت سی‌شارپ گرایش دارن (اگر هر کدوم از پایتون یا گو به حدنصاب برسه، با اون هم می‌نویسم)


* ادامه مثال، و اینکه تا چه حدی عمیق شیم بسته به بازخوردها داره.


💬 نظر؟ سوال؟