MODULE 03 / LESSON 16

مقدمه Module 3: انتقال Retrieval به محیط Production و آشنایی با Vector Database

مفهوم اصلی بعد از یادگیری مبانی Information Retrieval ، در این ماژول هدف این است که این مفاهیم را به یک محیط واقعی و Production منتقل کنیم. اگرچه می‌توان بسیاری از تکنیک‌های Retrieval را با استفاده از یک Relational Database سنتی…

نویسنده: محمد ابوطالبی۴۳۸ واژهماژول ۳: Vector Database

مفهوم اصلی

بعد از یادگیری مبانی Information Retrieval، در این ماژول هدف این است که این مفاهیم را به یک محیط واقعی و Production منتقل کنیم.

اگرچه می‌توان بسیاری از تکنیک‌های Retrieval را با استفاده از یک Relational Database سنتی پیاده‌سازی کرد، اما زمانی که تعداد اسناد بسیار زیاد شود، مشکلات عملکردی ایجاد می‌شوند.


مشکل دیتابیس‌های سنتی در مقیاس بزرگ

در سیستم‌های کوچک:

  • یک دیتابیس رابطه‌ای می‌تواند برای ذخیره و جستجوی اطلاعات کافی باشد.

اما وقتی تعداد اسناد به:

  • میلیون‌ها Document
  • حتی میلیاردها Document

برسد، برخی عملیات‌ها به‌شدت کند می‌شوند.


مشکل اصلی: عملیات Vector

این مشکل به‌خصوص در عملیات Vector که پایه اصلی Semantic Search هستند، دیده می‌شود.

در Semantic Search باید:

  • Vector مربوط به Prompt
  • با Vector تعداد زیادی Document

مقایسه شود.

با افزایش حجم داده:

  • تعداد محاسبات افزایش می‌یابد.
  • سرعت Retrieval کاهش پیدا می‌کند.

راه‌حل: Vector Database

برای حل این مشکل از:

Vector Database

استفاده می‌شود.


Vector Database چیست؟

Vector Database نوعی دیتابیس است که به‌طور خاص برای:

  • ذخیره Vectorهای بسیار زیاد
  • جستجوی سریع در میان Vectorها

بهینه شده است.


اهمیت Vector Database در RAG

به دلیل قابلیت‌های آن، Vector Databaseها تقریباً با سیستم‌های:

RAG (Retrieval-Augmented Generation)

همراه شده‌اند.

زیرا بخش مهمی از RAG، مخصوصاً:

  • Semantic Search
  • Vector Retrieval

به جستجوی سریع Vectorها نیاز دارد.


اهداف Module 3

در این ماژول موارد زیر بررسی می‌شوند:


1. دلیل بهینه بودن Vector Databaseها

یاد می‌گیریم:

  • چرا Vector Databaseها برای Vector Retrieval سریع‌تر هستند.
  • چگونه برای جستجوی حجم زیادی از Vectorها طراحی شده‌اند.

2. کار عملی با Vector Database

در این بخش:

  • استفاده عملی از یک Vector Database انجام می‌شود.
  • انواع جستجوهای مختلف اجرا خواهند شد.

تکنیک‌های Production در RAG

علاوه بر Vector Database، در سیستم‌های واقعی RAG تکنیک‌های دیگری نیز برای بهبود Retriever استفاده می‌شوند.

مهم‌ترین آن‌ها:


1. Document Chunking

تقسیم Documentهای بزرگ به بخش‌های کوچک‌تر.

هدف:

  • افزایش کیفیت Retrieval
  • پیدا کردن بخش دقیق‌تر اطلاعات مورد نیاز

2. Query Parsing

پردازش و تحلیل Query کاربر قبل از انجام Retrieval.

هدف:

  • درک بهتر درخواست کاربر.
  • بهبود کیفیت جستجو.

3. Re-ranking

مرتب‌سازی دوباره نتایج Retrieval.

هدف:

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

تمرین عملی Module 3

در پایان این ماژول:

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

جمع‌بندی

  • برای سیستم‌های کوچک می‌توان از Relational Database استفاده کرد، اما در مقیاس میلیون‌ها یا میلیاردها سند محدودیت ایجاد می‌شود.
  • عملیات Vector، مخصوصاً در Semantic Search، در مقیاس بزرگ بسیار سنگین می‌شوند.
  • Vector Databaseها برای ذخیره و جستجوی سریع Vectorها طراحی شده‌اند.
  • Vector Database یکی از اجزای اصلی سیستم‌های RAG Production است.
  • در این ماژول علاوه بر Vector Database، تکنیک‌هایی مانند Chunking، Query Parsing و Re-ranking برای بهبود Retriever بررسی می‌شوند.