برنامه نویسی

تسلط بر بازیابی-آمریكا (RAG): از مبتدی تا متخصص

چرا باید به RAG اهمیت دهید؟

تصور کنید که در بخش HR یک شرکت کار می کنید که دارای PDF 100 صفحه ای پر از سیاست های کارمندان است. یک روز ، یک کارآموز به سمت میز شما می رود و می پرسد:

“چند روز کار از خانه برای کارورزان مجاز است؟”

شما سند را باز می کنید ، فشار دهید ctrl+f، و نوع “کار از خانه” را تایپ کنید. اما PDF از این اصطلاح استفاده می کند “انعطاف پذیری کار از راه دور.” شما بی پایان می روید ، بخش های تصادفی را می خوانید و هنوز هم نمی توانید پاسخ روشنی پیدا کنید. ناامید کننده است

اکنون یک چت بابات هوشمند را تصور کنید که می تواند کل PDF را بخواند ، معنی را درک کند و در 3 ثانیه بگوید:

“کارورزان واجد شرایط 5 روز کاری از راه دور در ماه هستند.”

این قدرت است RAG: نسل بازیابیبشر می دهد پاسخ های واقعی از اسناد واقعی – حدس نمی زند.


چرا مدل های بزرگ زبان به تنهایی کافی نیستند

LLMS مانند GPT-4 قدرتمند هستند اما محدودیت های کلیدی دارند:

  • بعضی اوقات توهین – آنها پاسخ هایی را تشکیل می دهند که واقعی به نظر می رسند اما درست نیستند.
  • دانش آنها یخ زده است. به عنوان مثال ، GPT-4 فقط تا زمانی که آموزش داده شد 2023، بنابراین هر چیزی پس از آن ناشناخته است.
  • آنها نمی توانند دسترسی پیدا کنند اسناد خصوصی مانند PDF یا سیاستهای داخلی.
  • آنها این کار را نمی کنند جستجو، آنها فقط از حافظه پاسخ می دهند.

راه بهتر: از پارچه استفاده کنید

RAG (نسل بازیابی-آمریكا) یک مدل زبان هوشمند را به اسناد خارجی متصل می کند. به جای حدس زدن ، آن اطلاعات صحیح را بازیابی می کند و پاسخ های دقیقی ایجاد می کند.

بنابراین اگر کارآموز دوباره همان سؤال را بپرسد ، سیستم خط مشی HR را جستجو می کند و پاسخ می دهد:

“کارورزان واجد شرایط 5 روز کاری از راه دور در ماه هستند.”

این سریع ، قابل اعتماد و مبتنی بر است محتوای واقعیبشر


مرحله 1: داده ها را آماده کنید (مصرف)

چاک دهی

سند شما مانند یک کیک بزرگ است. chunking آن را در قسمت های کوچک – 256 یا 512 نشانه – خرد می کند ، بنابراین جستجو ساده تر است.

تعبیه

هر قطعه با استفاده از مدل هایی مانند: به یک بردار (لیستی از اعداد) تبدیل می شود:

  • تعبیه Openai
  • برخاستن (بازنمایی رمزگذار دو طرفه از ترانسفورماتورها)

چرا؟ زیرا رایانه ها درک می کنند شماره، نه کلمات. تعبیه ها به دستگاه کمک می کند تا معنی پشت متن

مثال: “مرخصی تعطیلات” و “تعطیلات پرداخت شده” عبارات مختلفی هستند اما به معنای یکسان هستند. تعبیه ها می توانند بگویند.

ذخیره در یک پایگاه داده بردار

این بردارها به پایگاه داده های ویژه ساخته شده برای جستجوی سریع می روند:

  • کروما – مبتدی دوستانه و محلی
  • کلوچه -مبتنی بر ابر و مقیاس پذیر
  • خیانت -ابزار منبع باز توسط فیس بوک برای جستجوی پر سرعت

تعبیه ها چیست و چرا آنها اهمیت دارند؟

تعبیه متن را به بردارها تبدیل کنید تا بتوانیم معنی را جستجو و مقایسه کنیم – نه فقط کلمات.

تعبیه های پراکنده

  • ابزارها: TF-IDF (فرکانس فرکانس – فرکانس اسناد نهم) ، BM25
  • سریع ، با شرایط دقیق مطابقت دارد
  • معنای عمیق تر را درک نمی کند

نمونه: اگر در مورد “تعطیلات” سؤال کنید و دکتر می گوید “تعطیلات” ، تعبیه پراکنده از دست دادن آن

تعبیه های متراکم

  • ابزارها: برخاستنبا حکمبا تعبیه Openai
  • زمینه و معنی را درک می کند
  • مطابقت بهتر ، حتی اگر کلمات دقیق متفاوت باشند

نمونه: در مورد “سیاست تعطیلات” بپرسید ، و Doc می گوید “30 روز مرخصی پرداخت شده است.” جاسازی های متراکم تطبیق آن

تعبیه متراکم برای RAG ایده آل است زیرا معنی بیشتر از کلمات است.


مرحله 2: بازیابی (بخش های مناسب را پیدا کنید)

وقتی کاربر چیزی می پرسد:

  • این است تبدیل به یک بردار
  • در مقایسه با همه بردارهای سند
  • نزدیکترین مسابقات انتخاب می شوند

تکنیک های شباهت

  • شباهت: اندازه گیری زاویه بین بردارها زاویه کوچکتر = مشابه بیشتر.
  • فاصله اقلیدسی: اندازه گیری فاصله بین نقاط نزدیکتر = شبیه تر.

روشهای بازیابی

  1. بازیابی استاندارد

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

  2. بازیابی پنجره

    مسابقه را انتخاب می کند و جملات اطراف را اضافه می کند – بنابراین مدل زمینه را بهتر می فهمد.

  3. بازیابی گروه

    چندین اندازه تکه (128 ، 256 ، 512) را امتحان می کند ، بهترین تکه ها را ترکیب می کند و آنها را با یک مرتب می کند مجدداًبشر


مرحله 3: رتبه بندی مجدد

ممکن است 10 قطعه دریافت کنید-اما LLMS فقط می تواند 3-5 را کنترل کند. بنابراین ، ما مرتب آنها را از نظر اهمیت.

انواع رتبه بندی مجدد:

  • واژگانی: بر اساس کلمات کلیدی (TF-IDF ، BM25)
  • معنایی: بر اساس معنی (برت ، هماهنگ)
  • LTR (یادگیری رتبه بندی): مدل ML برای انتخاب بهترین ها آموزش دیده است
  • ترکیبی: ترکیب کلمات کلیدی و روشهای مبتنی بر معنی

فکر کنید مانند قاضی که بهترین پاسخ ها را برای انتقال به LLM انتخاب می کند ، دوباره رتبه بندی کنید.


مشکلاتی که ممکن است با آن روبرو شوید

در وسط گمشده

LLMS بیشتر روی شروع و پایان از ورودی – اغلب از وسط پرش می کند.

ثابت کردن: محتوای کلید را برای شروع/پایان حرکت دهید ، تکه های کل را محدود کنید و از رتبه بندی مجدد بهتر استفاده کنید.

نمونه: اگر جواب در بند 3 از 5 است ، تکه را مجدداً تنظیم کنید یا آن را تقسیم کنید تا اطلاعات کلیدی را به سمت بالا بکشید.


بازیابی اشتباه

بعضی اوقات تکه های بی ربط بازیابی می شوند – منجر به پاسخ های اشتباه می شوند.

ثابت کردن:

  • بهبود chunking (به عنوان مثال ، از شکستن جملات خودداری کنید)
  • از تعبیه بهتر استفاده کنید (متراکم در مقابل پراکنده)
  • فیلترها را برای بهبود دقت جستجو اضافه کنید

نمونه: یک سوال سیاست داده های مالی را به ارمغان می آورد؟ به احتمال زیاد شما نیاز به پالایش فروشگاه بردار یا اندازه تکه خود دارید.


تنظیم دقیق در مقابل RAG

تنظیم دقیق

شما LLM را بازیابی کنید برای صحبت با لحن یا سبک خاص.

  • عالی برای شخصی سازی یا مارک تجاری
  • گران ، آهسته ، به داده های زیادی نیاز دارد

نمونه: شما یک مدل را به خوبی تنظیم می کنید تا مانند شکسپیر به نظر برسد.

خیش

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

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

نمونه: شما سیاست های HR را بارگذاری می کنید. اکنون Chatbot به سؤالات HR فوراً پاسخ می دهد.

با پارچه شروع کنید -فقط در صورتی که مورد استفاده شما باشد شخصیت یا تغییر لحن را تغییر می دهد.


ابزارهای مشترک و فرم های کامل

  • خیش: نسل بازیابی
  • LLM: مدل زبان بزرگ
  • برخاستن: بازنمایی رمزگذار دو طرفه از ترانسفورماتورها
  • خیانت: جستجوی شباهت AI فیس بوک
  • TF-IDF: فرکانس فرکانس فرکانس مستند
  • ltr: یادگیری رتبه بندی
  • NLTK: مجموعه ابزار زبان طبیعی

افکار نهایی

پارچه یک است تعویض بازیبشر این LLMS را به دانش واقعی و به روز می کند – دستیاران هوش مصنوعی باهوش تر و قابل اعتماد تر می شوند.

من در حال حاضر در حال آماده سازی هستم مصاحبه های مهندسی نرم افزار، و هوش مصنوعی در همه جا است. من فکر کردم ، اگر این را یاد می گیرم ، چرا به دیگران نیز کمک نمی کنم؟

به همین دلیل من این پست را نوشتم تا RAG برای هر کسی که به هوش مصنوعی علاقه مند باشد ساده و مفید باشد.

من مطالب بیشتری را در مورد هوش مصنوعی ، ابزار و مصاحبه آماده می کنم. در ارتباط باشید


5 سوال مصاحبه RAG باید

  1. نسل بازیابی (RAG) چیست و با LLM های سنتی چه تفاوتی دارد؟
  2. تفاوت بین تعبیه های پراکنده و متراکم چیست؟ چه زمانی باید از هر کدام استفاده کنید؟
  3. مشکل “گمشده در وسط” و نحوه رسیدگی به آن را توضیح دهید.
  4. چگونه شباهت کسین و فاصله اقلیدسی در یافتن تکه های مربوط به اسناد مربوطه کمک می کنند؟
  5. چه موقع باید تنظیم دقیق بر روی Rag را انتخاب کنید ، و چه معاملات با آن به وجود آمده است؟

🖊 نوشته شده توسط Shaik Salma Aga

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا