در این پست یک مثال از نحوه طراحی و پیادهسازی یک چتبات با استفاده از یک RAG را بررسی خواهیم کرد. این چتبات قادر به انجام مکالمه و به خاطر سپاری تعاملات قبلی است. در این مثال میخواهیم از قابلیت های عامل (Agent) و Chains که از طریق پکیج LangChain قابل دسترس هستند استفاده کنیم.
آماده سازی محیط # برای این آموزش به langchain-core و langgraph نیاز خواهیم داشت:
...
این notebook نحوه استفاده از API Chat Completions را در ترکیب با توابع خارجی برای گسترش قابلیت های مدل های GPT را نشان می دهد.
پارامتر tools یک پارامتر اختیاری در API Chat Completion است که می تواند برای ارائه مشخصات تابع استفاده شود. هدف از این امر فراهم کردن امکان تولید آرگومان های تابعی است که با مشخصات ارائه شده مطابقت دارند.
توجه داشته باشید که API هیچ تابعی را اجرا نمی کند٬ بلکه مشخصات تابعی که متناسب با متن ورودی است را تعیین میکند و این بر عهده توسعه دهندگان است که با استفاده از خروجی های مدل توابع را اجرا کنند.
...
قابلیت فراخوانی تابع در مدلهای GPT به برنامه شما اجازه می دهد توابع داخلی برنامه را بر اساس ورودی های کاربر فراخوانی کند. این به این معنی است که برنامه می تواند عملیات مختلفی از جمله، جستجو در وب، ارسال ایمیل، یا رزرو بلیط از طرف کاربران را انجام دهد، که این امر برنامه شما را قدرتمندتر از یک چت بات معمولی می کند.
در این پست، شما برنامهای می سازید که از آخرین نسخه از OpenAI SDK Node.
...
این کد نحوه تعامل با توابع ChatGPT برای انجام کارهای مرتبط با Amazon S3 buckets را نشان میدهد. این notebook شامل عملکردهای کلیدی S3 bucket مانند اجرای دستورات ساده برای لیست کردن٬ جستجوی یک فایل خاص در تمامی buckets، آپلود یک فایل به یک bucket، و دانلود یک فایل از یک bucket است. Chat API این قابلیت را دارد که دستورات کاربر را درک کند، پاسخهای زبان طبیعی تولید کند و توابع مناسب را بر اساس ورودی کاربر انتخاب کند.
...
پکیج tiktoken یک توکن ساز سریع و open source است که توسط OpenAI توسعه پیدا کرده است. با دادن یک رشته متن (مثلاً، “tiktoken is great!”) و یک encoding (مثلاً، “cl100k_base”)، یک توکن ساز می تواند رشته متن را به یک لیست از توکن ها تقسیم کند (مثلاً، [“t”, “ik”, “token”, " is", " great", “!”]).
تقسیم کردن رشته های متن به توکن ها مفید است زیرا مدل های GPT متن را به صورت توکن می بینند.
...
به طور پیش فرض، هنگامی که شما از Gilas API درخواست تولید متن می کنید، کل متن تولید شده در یک رسپانس به کلاینت برگردانده می شود. اگر قصد تولید خروجیهای طولانی را دارید٬ تولید متن می تواند چندین ثانیه طول بکشد. برای دریافت سریعتر پاسخ ها٬ می توانید متن را در حالی که تولید می شود stream کنید. در این صورت پاسخ های ناتمام را به صورت استریم از سمت سرور دریافت خواهید کرد.
...
مدلهای چت، یگ سری از پیامها را به عنوان ورودی میپذیرند و یک پیام نوشته شده توسط AI را به عنوان خروجی برمیگردانند. این راهنما با چند نمونه فراخوانی API فرمت چت را نشان میدهد.
برای اجرای کدهای زیر ابتدا باید یک کلید API را از طریق پنل کاربری گیلاس تولید کنید. برای این کار ابتدا یک حساب کاربری جدید بسازید یا اگر صاحب حساب کاربری هستید وارد پنل کاربری خود شوید.
...
توسعهدهندگان اکنون میتوانند پارامتر seed را در درخواستهای Chat Completion استفاده کنند تا خروجیهای نسبتاً ثابتی دریافت کنند. لطفاً توجه داشته باشید که این ویژگی در مرحله بتا است و در حال حاضر فقط برای مدلهای gpt-4-1106-preview و gpt-3.5-turbo-1106 و مدلهای بعد از آنها پشتیبانی میشود.
خروجی APIهای Chat Completions و Completions به طور پیشفرض غیر قطعی هستند (که به این معناست که خروجیهای مدل ممکن است از درخواست به درخواست متفاوت باشند)، اما اکنون با استفاده از چند پارامتر در سطح مدل، میتوانید خروجیها را تا حدی کنترل کنید.
...
RAG چندوجهی با CLIP Embeddings و GPT-4 Vision # استفاده از سیستمهای RAG چندوجهی با افزودن حالتهای اضافی به RAG های سادهی مبتنی بر متن٬ قابلیت LLMها در پاسخدهی به سوالات را با ارائه زمینه اضافی و پایهگذاری دادههای متنی برای درک بهتر، بهبود میبخشد.
با اتخاذ رویکرد ارایه شده در پست ساخت اپلیکیشن تطبیق لباس، ما تصاویر را برای جستجوی شباهت میان آنها امبدینگ میکنیم و از فرآیند از دست دادن اطلاعات در کپشننویسی متنی جلوگیری میکنیم تا دقت بازیابی را افزایش دهیم.
...
ارزیابی RAG با LlamaIndex # در این پست به ساخت یک پایپلاین RAG و ارزیابی آن با LlamaIndex میپردازیم. این پست شامل سه بخش زیر است:
درک Retrieval Augmented Generation (RAG). ساخت RAG با LlamaIndex. ارزیابی RAG با LlamaIndex. Retrieval Augmented Generation (RAG)
مدلهای زبانی بزرگ (LLMs) بر روی دیتاستهای وسیعی آموزش دیدهاند، اما این دیتاستها شامل دادههای محرمانه یا شخصی شما نیستند. RAG این مشکل را با ادغام دینامیک دادههای شما در طول فرآیند تولید حل میکند.
...
این نوتبوک نحوه ساخت یک اپلیکیشن جستجوی معنایی در آرشیوی از فیلمها را با استفاده از جستجوی برداری MongoDB Atlas نشان میدهد.
مرحله 1: تنظیم محیط # دو پیشنیاز برای ساخت این اپلیکیشن وجود دارد:
کلاستر MongoDB Atlas: برای ایجاد یک کلاستر رایگان MongoDB Atlas، ابتدا باید یک حساب کاربری MongoDB Atlas ایجاد کنید. برای این کار به وبسایت MongoDB Atlas مراجعه کرده و روی “Register” کلیک کنید. به داشبورد MongoDB Atlas بروید و کلاستر خود را تنظیم کنید.
...
استفاده از Redis به عنوان پایگاه داده وکتور # این پست مقدمهای بر استفاده از Redis به عنوان پایگاه داده وکتور است. Redis یک پایگاه داده مقیاسپذیر است که میتواند با استفاده از ماژول RediSearch به عنوان پایگاه داده وکتور استفاده شود. ماژول RediSearch به شما امکان میدهد وکتورها را در Redis ایندکس و جستجو کنید. این نوتبوک به شما نشان میدهد که چگونه از ماژول RediSearch برای ایندکس و جستجوی وکتورهایی که با استفاده از Gilas API ایجاد و در Redis ذخیره شدهاند، استفاده کنید.
...