واحد 2 / 11

جاسازی و منطق پایگاه داده برداری

سود:

  • درک کنید که جاسازی متن را به یک برداری در فضای معنایی تبدیل می کند و معانی مشابه بردارهای نزدیک هستند.
  • توضیح اینکه چگونه جستجوی ANN با معیارهای شباهت کسینوس و نقطه کار می کند
  • انتخاب پایگاه های داده برداری رایج بر اساس هزینه، مقیاس و نیاز به فیلتر ابرداده

در قلب RAG یک سوال وجود دارد: "کدام متن بیشتر شبیه به سوال کاربر است؟" کامپیوتر متن را با اعداد پردازش می کند، نه به معنای واقعی کلمه. به همین دلیل است که ابتدا باید متن را به اعدادی تبدیل کنیم که معنای آن را دارند. این همان چیزی است که جاسازی است: فرآیند تبدیل یک متن به دنباله ای از اعداد (بردار) که معرف معنای آن متن است. وقتی این واحد را تمام کردید، خواهید دانست که جاسازی چگونه کار می کند، شباهت چگونه اندازه گیری می شود و چگونه پایگاه داده برداری مناسب را انتخاب کنید.

جاسازی: ترجمه معنا به مختصات

یک مدل جاسازی (یک هوش مصنوعی آموزش‌دیده ویژه) متنی را که ارائه می‌کنید به بردار مثلاً 1024 عدد تبدیل می‌کند. این بردار را به عنوان یک مختصات در یک فضای چند بعدی در نظر بگیرید. جادو این است: متونی که از نظر معنی مشابه هستند در این فضا در مختصات نزدیک قرار می گیرند.

یک مثال ساده: «مرخصی سالانه»، «حق مرخصی» و «مرخصی استحقاقی سالانه» از کلمات متفاوتی استفاده می‌کنند، اما معنی یکسانی دارند - بردارهای آنها به یکدیگر نزدیک هستند. "حساب حقوق و دستمزد" موضوع متفاوتی است - بردار آن دور است. بنابراین کاربر می پرسد "چند روز تعطیلات دارم؟" وقتی می‌پرسید، حتی می‌توانیم سندی را پیدا کنیم که حاوی کلمه "تعطیلات" نیست اما می‌گوید "مرخصی سالانه 14 روز است". این همان کاری است که جستجوی کلیدواژه کلاسیک (جستجوی که دقیقاً با کلمه مطابقت دارد) نمی تواند انجام دهد.

نکته: جاسازی را به عنوان «اثر انگشت معنا» در نظر بگیرید. اثر انگشت دو جمله با یک معنی مشابه به نظر می رسد. حتی اگر کلمات متفاوت باشند.

یک قانون مهم: مدلی که هنگام جاسازی سوال استفاده می کنید باید همان مدلی باشد که هنگام جاسازی اسناد استفاده می کنید. مدل های مختلف فضاهای متفاوتی را تولید می کنند. مختصات غیر قابل مقایسه می شوند.

چگونه شباهت را اندازه گیری کنیم؟

روش های مختلفی برای اندازه گیری شباهت دو بردار وجود دارد. رایج ترین شباهت کسینوس است: زاویه بین دو بردار را اندازه می گیرد. اگر زاویه کوچک باشد (بردارها در یک جهت هستند)، شباهت زیاد است. مقدار بین -1 و 1 است. نزدیک به 1 = بسیار شبیه.

معیار

چه چیزی را اندازه گیری می کند؟

چه زمانی ترجیح داده می شود؟

کسینوس

زاویه (جهت) بین بردارها

رایج ترین؛ پیش فرض در شباهت معنایی متن

محصول نقطه ای

جهت + قدر با هم

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

اقلیدسی (فاصله اقلیدسی)

فاصله مستقیم بین مختصات

در برخی سناریوهای خوشه بندی؛ کمتر در متن استفاده می شود

در عمل، بیشتر مدل‌های تعبیه‌شده، بردارهای نرمال‌سازی شده را تولید می‌کنند (اندازه 1 تنظیم شده است). در این حالت، حاصل ضرب کسینوس و نقطه‌ای ترتیب یکسانی را می‌دهند. فلج تصمیم نگیرید: با کسینوس شروع کنید.

در میان میلیون ها بردار، مقایسه یک به یک آنها در یک زمان کند است. به همین دلیل است که پایگاه های داده برداری از الگوریتم های ANN (تقریبی نزدیکترین همسایه) استفاده می کنند. ANN خیلی سریع «تقریباً دقیق‌ترین» را به جای «دقیق نزدیک‌ترین» پیدا می‌کند. به عنوان مثال، روشی به نام HNSW می تواند نتایج را در چند میلی ثانیه حتی برای 10 میلیون بردار برگرداند. شما برای یک فداکاری کوچک از دقت، سرعت زیادی به دست می آورید.

پایگاه داده برداری چه کاری انجام می دهد؟

یک پایگاه داده برداری سه کار را همزمان انجام می دهد: (1) بردارها را ذخیره می کند، (2) به سرعت بردارهایی را که بیشتر شبیه به یک بردار پرس و جو هستند، (3) با ابرداده در کنار هر بردار فیلتر می کند. فراداده برچسب هایی هستند که به آن قطعه پیوست می کنید: فایل منبع، تاریخ، بخش، سطح حریم خصوصی، و غیره. فیلتر کردن ابرداده در RAG سازمانی حیاتی است. زیرا باید بتوانید محدودیت هایی مانند "تنها در اسناد 2025 بخش مالی جستجو کنید" را تعیین کنید.

# ثبت نام در پایگاه داده برداری (مفهومی)vektor_db.add( id="izin-politikasi-parca-3", vektor=embed("مرخصی استحقاقی سالانه 14 روز است..."), text="مرخصی استحقاقی سالانه 14 روز است...", metadata={"منبع": "ik_el_kitabi.pdf"،"de" "2025-06"، "privacy": "ic"})

# جستجوی فیلتر شده فراداده (مفهومی)نتیجه = vektor_db.search( vektor=embed("چند روز مرخصی دارم؟")، top_k=4، filter={"بخش": "HR"، "privacy": ["internal", "on"]})

انتخاب پایگاه داده مناسب

وسیله نقلیه

جنبه برجسته

وضعیت مناسب

داخلی / مبتنی بر فایل (کتابخانه تعبیه شده)

بدون نصب، تک دستگاه

نمونه اولیه، کیت کوچک (< چند صد هزار قطعه)

سرویس ابری مدیریت شده

جرم گیری و نگهداری مسئولیت شما نیست

تولید، داده در حال رشد سریع، تیم کوچک

منبع باز روی سرور خودتون

کنترل کامل، داده های شما مال شما می ماند

تعهد حریم خصوصی، زیرساخت های موجود

اضافه شدن به پایگاه داده موجود

شما سیستم های جداگانه ای را مدیریت نمی کنید

افزودن پشتیبانی برداری به DB که قبلاً استفاده می کنید

هنگام انتخاب بپرسید: چند قطعه خواهد بود؟ فیلتر ابرداده چقدر مهم است؟ آیا داده ها می توانند به خارج از شرکت بروند (محرمانه بودن)؟ آیا تیم می تواند زیرساختی را راه اندازی کند؟ اغلب عاقلانه است که از کوچک شروع کنید و در صورت نیاز گسترش دهید.

رویکرد ضعیف / رویکرد قوی

ضعیف (ذخیره سازی جاسازی ساده، بدون ابرداده):

فقط متن و وکتور را ذخیره کنید. جستجو: 4 بردار مشابه را برگردانید.# مشکل: نمی توان مانند "فقط اسناد منابع انسانی فعلی" فیلتر کرد؛# قسمت های قدیمی/غیر مجاز نیز ممکن است در پاسخ گنجانده شود.

قدرتمند (فراداده غنی + جستجوی فیلتر شده):

منبع، تاریخ، بخش و برچسب حریم خصوصی را به هر قطعه اضافه کنید. با توجه به اختیارات و وضعیت فعلی کاربر در هنگام جستجو فیلتر کنید: filter = {"privacy": user_authority, "date_date": "2024-01"}# بنابراین، نتیجه هم امن و هم به روز است.

سه کیف کوچک

مورد 1 - ترکیب مدل اشتباه. یک تیم اسنادی را با مدل A و سوالاتی را با مدل B جاسازی کردند. جستجوها نتایج بی‌معنی به دست آوردند و نرخ پاسخ صحیح در 31٪ باقی ماند. هنگامی که من به یک مدل (هر دو یک مدل تعبیه شده) تغییر مکان دادم، نرخ به 88٪ افزایش یافت. درس: سوال و سند باید در یک فضا باشند.

مورد 2 - خطر حفظ حریم خصوصی بدون ابرداده. در یک شرکت مراقبت‌های بهداشتی، تمام اسناد بخش بدون ابرداده در یک استخر واحد ریخته می‌شد. هنگامی که یکی از همکاران فروش سوالی می‌پرسید، سیستم بخشی از داده‌های بیمار را به صورت متنی در می‌آورد. هنگامی که ابرداده + فیلتر اضافه شد (با توجه به سطح مجوز)، این خطر حذف شد. در بازیابی 12 قطعه غیر مجاز اصلا آورده نمی شود.

مورد 3 - گلوگاه مقیاس. یک شرکت تجارت الکترونیک 8 میلیون توصیف محصول را با روش ساده "اسکن همه" جستجو کرد. هر پرس و جو 6 ثانیه طول کشید. هنگامی که ما به ANN مبتنی بر HNSW تغییر مکان دادیم، زمان به 45 میلی ثانیه کاهش یافت و تنها 1٪ از دست دادن دقت داشت. درس: ANN در مجموعه بزرگ اجباری است.

اشتباهات رایج

  • تعبیه سوال و سند با مدل های مختلف: نتایج بی معنی هستند. همیشه یک مدل
  • رد شدن از ابرداده: نمی توانید فیلتر کنید. شما کنترل حریم خصوصی و به روز بودن را از دست می دهید.
  • اشتباه در جاسازی برای رمزگذاری: جاسازی اطلاعات قابل برگشتی را حمل می کند. این اشتباه است که فرض کنیم داده های حساس "پنهان" هستند.
  • ساختن زیرساخت های بزرگ غیرضروری بر روی یک مجموعه کوچک: یک خوشه غول پیکر که برای 5000 قسمت مدیریت می شود، پیچیدگی غیر ضروری است.
  • در مورد معیار تشابه زیاد نگران نباشید: با کسینوس در متن شروع کنید. تنظیم دقیق بعداً انجام می شود.
احتیاط: جاسازی معنای متن را در اعداد قرار می دهد، اما محتوا را «تخریب» نمی کند. اگر یک پایگاه داده برداری فاش شود، متون ذخیره شده اصلی (در اکثر نصب ها، متن نیز ذخیره می شود) نیز به خطر می افتد. مخزن برداری را به اندازه اسناد موجود در آن محرمانه نگه دارید.

به طور خلاصه

  • جاسازی متن را به بردار اعداد تبدیل می کند که معنای آن را حمل می کند. معانی مشابه بردارهای نزدیک هستند.
  • شباهت اغلب با کسینوس اندازه گیری می شود. برای بردارهای نرمال شده، حاصلضرب نقطه همان نتیجه را می دهد.
  • در داده‌های بزرگ، ANN (به عنوان مثال، HNSW) جایگزین جستجوی دقیق می‌شود: سرعت عالی با کاهش دقت.
  • پایگاه داده برداری ذخیره برداری + جستجوی شباهت + فیلتر ابرداده را انجام می دهد. ابرداده برای RAG سازمانی ضروری است.
  • سوال و سند باید با همان مدل تعبیه ترجمه شود. در غیر این صورت مختصات قابل مقایسه نیستند.

وظیفه کاربردی

10 قسمت کوتاه (هر کدام 3-6 جمله) را از سندی که در بخش قبلی انتخاب کرده اید استخراج کنید. (1) حداقل سه تگ فراداده برای هر قطعه طراحی کنید (منبع، تاریخ و یک سوم مناسب با زمینه کسب و کار شما: بخش، محصول، حریم خصوصی و غیره). (2) بنویسید که کدام فیلتر ابرداده باید برای 3 سوال مختلف کاربر اعمال شود. (3) 3 جفت سوال-بخشی را پیدا کنید که معنی یکسانی را در کلمات مختلف بیان می‌کنند (مثلاً «حق مرخصی» ↔ «مرخصی سالانه») و در یک جمله توضیح دهید که چرا با جستجوی کلمه کلیدی مطابقت ندارند، اما با جاسازی مطابقت دارند.

چک لیست

  • [ ] می توانم بگویم جاسازی متن را به بردار در فضای معنایی تبدیل می کند و معانی مشابه نزدیک هستند.
  • من می دانم که [ ] شباهت کسینوس زاویه را اندازه گیری می کند و اولویت پیش فرض در متن است.
  • [ ] می توانم توضیح دهم که چرا ANN در کلان داده ضروری است.
  • [ ] می دانم چرا ابرداده برای محرمانه بودن و کنترل تازگی حیاتی است.
  • [ ] من از قانون ترجمه سوال و سند با همان مدل تعبیه پیروی می کنم.