دستیاران پژوهشی مکالمهای مبتنی بر RAG (Retrieval-Augmented Generation) محدودیتهای مدلهای زبانی سنتی را با ترکیب آنها با سیستمهای بازیابی اطلاعات برطرف میکنند. این سیستم در پایگاههای دانش خاص جستجو میکند، اطلاعات مرتبط را بازیابی کرده و آن را به صورت مکالمهای با ذکر منابع مناسب ارائه میدهد. این رویکرد توهمات را کاهش میدهد، دانش خاص دامنه را مدیریت میکند و پاسخها را در متن بازیابیشده قرار میدهد. در این آموزش، ما ساخت چنین دستیاری را با استفاده از مدل متنباز TinyLlama-1.1B-Chat-v1.0 از Hugging Face، FAISS از Meta و چارچوب LangChain برای پاسخ به سوالات مربوط به مقالات علمی نشان خواهیم داد.
ابتدا، کتابخانههای مورد نیاز را نصب میکنیم:
اکنون، کتابخانههای مورد نیاز را وارد میکنیم:
برای ذخیره مقاله در مرحله بعد، درایو را mount میکنیم:
برای پایگاه دانش خود، از اسناد PDF مقالات علمی استفاده خواهیم کرد. بیایید یک تابع برای بارگیری و پردازش این اسناد ایجاد کنیم:
در مرحله بعد، باید این اسناد را به قطعات کوچکتر تقسیم کنیم تا بازیابی کارآمدتر شود:
ما از sentence-transformers برای ایجاد embeddingهای برداری برای قطعات سند خود استفاده خواهیم کرد:
اکنون، بیایید یک مدل زبانی متنباز را برای تولید پاسخ بارگیری کنیم. ما از TinyLlama استفاده خواهیم کرد که به اندازه کافی کوچک است که روی Colab اجرا شود اما هنوز به اندازه کافی قدرتمند برای کار ما است:
اکنون، بیایید دستیار خود را با ترکیب فروشگاه برداری و مدل زبانی بسازیم:
در این آموزش، ما یک دستیار پژوهشی مکالمهای با استفاده از تولید تقویتشده با بازیابی (Retrieval-Augmented Generation) با مدلهای متنباز ساختیم. RAG مدلهای زبانی را با ادغام بازیابی سند، کاهش توهم و اطمینان از دقت خاص دامنه، بهبود میبخشد. این راهنما مراحل تنظیم محیط، پردازش مقالات علمی، ایجاد embeddingهای برداری با استفاده از FAISS و sentence transformers و ادغام یک مدل زبانی متنباز مانند TinyLlama را شرح میدهد. این دستیار قطعات سند مرتبط را بازیابی کرده و پاسخهایی با ذکر منابع تولید میکند. این پیادهسازی به کاربران امکان میدهد تا از یک پایگاه دانش پرس و جو کنند و تحقیقات مبتنی بر هوش مصنوعی را برای پاسخ به سوالات خاص دامنه قابل اعتمادتر و کارآمدتر میکند.
اینجا Colab Notebook است. همچنین، فراموش نکنید که ما را در توییتر دنبال کنید و به کانال تلگرام و گروه لینکدین ما بپیوندید. فراموش نکنید که به 85k+ ML SubReddit ما بپیوندید.