کتاب Vector Databases: A Practical Introduction (پایگاههای داده برداری: معرفی عملی) نوشتهی Nitin Borwankar، یک راهنمای عملی و دستی برای توسعهدهندگان، مهندسان داده و فعالان حوزهی یادگیری ماشین است تا بتوانند از پایگاههای دادهی برداری در پروژههای هوش مصنوعی خود استفاده کنند.
در ادامه مقدمهای از کتاب Vector Databases را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Vector Databases:
برای تکرار یک عبارت کلیشهای، این همان کتابی است که آرزو میکردم وقتی شروع به بررسی پایگاههای دادهٔ برداری (Vector Databases) کردم در اختیار داشتم. بهدنبال منبعی واحد بودم که هم نظریهٔ پایه و هم کاربردهای عملی پایگاههای دادهٔ برداری را توضیح دهد، اما چنین منبعی پیدا نکردم.
منابع موجود دربارهٔ پایگاههای دادهٔ برداری پراکندهاند: مستندات شرکتهای ارائهدهنده، پستهای وبلاگی، ویدئوهای یوتیوب و کدهای گیتهاب. من بیشتر به مثالهای عملی و قابل اجرا علاقه داشتم تا پوشش صرفاً نظری. همچنین ترجیح شخصیام این است که مطالب بهصورت نظاممند از مبانی شروع شوند و به سیستمهای سادهٔ عملی برسند—بهویژه برای کمک به سازماندهی دادهها در محیط محلی، مخصوصاً دادههای خصوصی.
به همین دلیل سفر من برای گردآوری اطلاعات از منابع مختلف و از زوایای گوناگون آغاز شد تا آنها را به یک مجموعهٔ منسجم تبدیل کنم. نتیجهٔ این تلاش همین کتاب است. این کتاب برای توسعهدهندگان در سطح متوسط نوشته شده است؛ از کسانی که به مباحث نظری علاقه دارند تا کسانی که میگویند «فقط کد را نشانم بده». برای همه چیزی در آن پیدا میشود.
کتاب Vector Databases یک مسیر آموزشی روشن را دنبال میکند:
مفاهیم → ابزارها → کاربردها → جهتگیریهای آینده.
هر فصل بر فصلهای قبلی بنا میشود و در عین حال با مثالهای کد عملی همراه است. روند کتاب از درک پایگاههای دادهٔ برداری شروع میشود و به ساخت برنامههای کاربردی واقعی میرسد که برای استفادهٔ شخصی، تعامل عملی و توسعه توسط برنامهنویسانی طراحی شدهاند که میخواهند سیستمهای مدیریت دادهٔ شخصی بسازند. در نهایت نیز به پیشنهادی آیندهنگرانه برای استانداردسازی صنعتی یک «زبان پرسوجوی برداری» (Vector Query Language) شبیه SQL ختم میشود.
بخش نسبتاً دیدگاهمحور این کتاب تمرکز آن بر پایگاههای دادهٔ ترکیبی سادهٔ برداری–رابطهای است—که با افزودن افزونههای برداری به پایگاههای دادهٔ متنباز شناختهشدهٔ SQLite3 و PostgreSQL ساخته میشوند. دلیل این انتخاب آن است که این پایگاههای داده برای توسعهدهندگان بسیار آشنا هستند. تنها با افزودن یک نوع دادهٔ «بردار» میتوان دنیای کاملاً جدیدی از کاربردهای داده در هوش مصنوعی را گشود. این کار فرایند شروع کار (onboarding) را تا حد ممکن ساده میکند.
نکته
باید تأکید کرد که این برنامهها برای یادگیری عملی طراحی شدهاند و برای استقرار در مقیاس وب مناسب نیستند. آنها را هرطور که میخواهید تغییر دهید و مطابق نیاز خودتان بسازید.
و حالا بیایید وارد محتوای کتاب شویم.
آنچه در این کتاب خواهید یافت:
فصلهای ۱ و ۲ کتاب Vector Databases مفاهیم پایه را معرفی میکنند—پایگاههای دادهٔ برداری، امبدینگها (Embeddings) و اصول جستوجوی معنایی.
فصل ۱: «مقدمهای بر پایگاههای دادهٔ برداری»
در این فصل پایگاههای دادهٔ برداری بهعنوان فناوری بنیادی برای برنامههای هوش مصنوعی معرفی میشوند و توضیح داده میشود که چرا دادههای بدون ساختار (متن، تصویر، صدا، ویدئو) به جستوجوی معنایی نیاز دارند نه صرفاً تطبیق کلمات کلیدی.
موضوعات اصلی:
- نوع دادهٔ برداری
- جستوجوی شباهت
- عملیات کلیدی مانند شباهت کسینوسی، جستوجوی نزدیکترین همسایه و حساب برداری
- مقایسهٔ پایگاههای دادهٔ برداری با پایگاههای SQL و NoSQL
- معرفی معماریهای ترکیبی که متادادهٔ ساختیافته را با جستوجوی شباهت برداری ترکیب میکنند
این فصل از کتاب Vector Databases پایهٔ مفهومی درک این موضوع را فراهم میکند که چگونه امبدینگها معنای معنایی را در فضای برداری حفظ میکنند.
فصل ۲: «امبدینگها»
در این فصل تاریخچه، تکامل و کاربردهای امبدینگهای برداری بررسی میشود و مثالهای کد برای کاربردهای مدلهای زبانی ارائه میگردد.
این فصل از کتاب Vector Databases توضیح میدهد که چگونه امبدینگها فاصلهٔ بین دادههای بدون ساختار و نمایشهای قابل پردازش برای ماشین را پر میکنند و دادهٔ خام را به بردارهایی تبدیل میکنند که روابط معنایی را ثبت میکنند.
همچنین شامل:
- مبانی ریاضی امبدینگها
- اینکه چگونه نزدیکی در فضای برداری نشاندهندهٔ شباهت معنایی است
این فصل از کتاب Vector Databases چارچوب مفهومی لازم برای کاربردهای عملی بعدی کتاب را فراهم میکند.
فصلهای ۳ و ۴ پیادهسازیهای عملی با استفاده از FAISS و SQLite را بررسی میکنند و نشان میدهند چگونه میتوان سیستمهای جستوجوی در مقیاس شخصی ساخت.
فصل ۳: «جستوجوی شباهت با FAISS»
در این فصل FAISS هم بهعنوان یک موتور جستوجوی شباهت در محیطهای تولیدی و هم بهعنوان ابزاری انعطافپذیر برای ساخت پایگاههای دادهٔ برداری سفارشی بررسی میشود.
این فصل از کتاب Vector Databases برای توسعهدهندگانی طراحی شده است که:
- به سازوکار داخلی جستوجوی برداری علاقه دارند
- میخواهند قابلیتهای سیستمهایی مانند sqlitevss را توسعه دهند
همچنین مبانی ریاضی و جزئیات پیادهسازی جستوجوی شباهت کارآمد در مقیاس بزرگ را پوشش میدهد و بر پیادهسازیهای مبتنی بر CPU تمرکز دارد تا دسترسیپذیری بیشتر باشد.
فصل ۴: «جستوجوی معنایی با SQLite3»
در این فصل یک سیستم مدیریت دانش شخصی ساخته میشود که با استفاده از جستوجوی معنایی روی محتوای Reddit کار میکند و تفاوت جستوجوی معنایی با جستوجوی مبتنی بر کلمهٔ کلیدی را نشان میدهد.
موضوعات کلیدی:
- معرفی sqlitevss (افزونهٔ SQLite برای جستوجوی برداری با استفاده از FAISS)
- ترکیب جستوجوی معنایی با فیلترهای متاداده در SQL
- استفاده از الگوی «ابتدا بازیابی زیاد، سپس فیلتر» (overfetchthenfilter)
فصلهای ۵ تا ۸ بهتدریج کاربردهای پیشرفتهتر را معرفی میکنند—از جستوجوی مقالات ArXiv تا سیستمهای RAG محلی و جستوجوی مکالمات شخصی.
فصل ۵: «ساخت سیستم جستوجوی مقالات ArXiv با PostgreSQL و pgvector»
در این فصل یک سیستم جستوجوی مقالات علمی ساخته میشود که مشکل یافتن پژوهشهای مرتبط میان میلیونها مقاله را حل میکند.
این سیستم نشان میدهد که چگونه امبدینگها روابط معنایی را کشف میکنند که جستوجوی کلمات کلیدی قادر به یافتن آنها نیست—مثلاً ارتباط بین «بهینهسازی شبکههای عصبی» و «بهبودهای گرادیان نزولی».
فصل ۶: «ساخت سیستم RAG با SQLite VSS و Ollama»
در این فصل از کتاب Vector Databases یک سیستم کامل RAG ساخته میشود که جستوجوی برداری را با یک مدل زبانی بزرگ محلی ترکیب میکند.
ویژگیها:
- اجرای کامل بهصورت محلی روی یک رایانهٔ شخصی
- استفاده از SQLite VSS و Ollama
- رفع محدودیت اصلی LLMها: دانش ثابت در زمان آموزش
این سیستم پاسخهای مدل را به دادههای واقعی بازیابیشده متصل میکند تا خطاهای ساختگی (hallucination) کاهش یابد.
فصل ۷: «ساخت سیستم RAG علمی با PostgreSQL و pgvector»
این فصل یک سیستم RAG ویژهٔ ادبیات علمی ایجاد میکند که با چالشهایی مانند:
- اصطلاحات فنی
- ساختار مقالات
- شبکههای استناد
- کیفیت شواهد
مواجه است.
فصل ۸: «ساخت یک سیستم کامل جستوجوی مکالمه و RAG»
در این فصل از کتاب Vector Databases تمرکز از دادههای عمومی به دادههای شخصی منتقل میشود و یک «مغز دوم» برای تاریخچهٔ چت با دستیارهای هوش مصنوعی ساخته میشود.
این سیستم ویژگیهای خاص دادههای مکالمهای را مدیریت میکند، مانند:
- وابستگیهای زمینهای
- جریان مکالمه در چند پیام
- الگوهای زبانی شخصی
- نیازهای حریم خصوصی
و امکان بازیابی دانش و بینشهای مفید از هزاران مکالمهٔ شخصی را فراهم میکند.
فصل ۹: «زبان پرسوجوی برداری (VQL)»
این فصل یک زبان پرسوجوی الهامگرفته از SQL را برای پایگاههای دادهٔ برداری پیشنهاد میدهد تا استانداردی مشترک در این حوزه ایجاد شود.
این زبان برای سه گروه طراحی شده است:
- توسعهدهندگان برنامه
- نگهدارندگان پایگاه داده
- پژوهشگران یادگیری ماشین
و شامل:
- مدل داده
- نحو پرسوجو
- جستوجوی شباهت
- جستوجوی ترکیبی
- عملیات دستهای
- توابع و تجمیعهای برداری
مخاطبان کتاب Vector Databases
این کتاب برای گروههای زیر نوشته شده است:
- توسعهدهندگان نرمافزار سازمانی که اولین برنامههای هوش مصنوعی خود را میسازند
- دانشمندان داده که جستوجوی معنایی پیادهسازی میکنند
- مهندسان یادگیری ماشین که روی سیستمهای RAG کار میکنند
- توسعهدهندگان بکاند که قابلیتهای برداری را به سیستمهای موجود اضافه میکنند
پیشنیازها شامل:
- تسلط به Python
- آشنایی پایه با پایگاههای داده و SQL
- آشنایی با اجرای مدلهای زبانی محلی برای فصلهای RAG
- آشنایی با مفاهیم سادهٔ ریاضی
کتاب Vector Databases بر پیادهسازی با Python تمرکز دارد، راهحلهای مبتنی بر CPU را بررسی میکند و سرویسهای ابری مدیریتشدهٔ پایگاه دادهٔ برداری را کنار میگذارد تا بهجای آن راهکارهای selfhosted را آموزش دهد.
هدف کتاب Vector Databases این است که خواننده بتواند سیستمهای جستوجوی معنایی در مقیاس کوچک تا متوسط بسازد و با دادههای شخصی کاربردهای مفید ایجاد کند. این کتاب یک مرجع برای ساخت سیستمهای برداری در مقیاس وب نیست، اما پایهای برای گسترش به پروژههای بزرگتر فراهم میکند.
نحوهٔ استفاده از کتاب Vector Databases
اگر پیشزمینهٔ شما فقط پایگاههای دادهٔ رابطهای است، خواندن فصلهای ۱ و ۲ ضروری است.
فصل ۳ جزئیات بیشتری دربارهٔ سازوکار داخلی FAISS ارائه میدهد، اما میتوانید مستقیماً با مثالهای کد آن شروع کنید.
فصلهای ۴ تا ۸ با استفاده از SQLite3 و PostgreSQL برنامههای جستوجوی معنایی و RAG را با دادههای محلی و مدلهای زبانی محلی میسازند.
فصل ۸ بسیار کاربردی است زیرا امکان جستوجوی معنایی در مکالمات شما با مدلهای زبانی را فراهم میکند (مثلاً مکالمات خروجی گرفتهشده از Claude).
در نهایت، فصل ۹ طراحی پیشنهادی یک زبان پرسوجوی برداری را ارائه میدهد که هدف آن ایجاد یک استاندارد مشترک میان پایگاههای دادهٔ برداری است.
نیازمندیهای نرمافزاری و سختافزاری
برای اجرای مثالها به موارد زیر نیاز است:
- Python نسخه 3.11 یا بالاتر
- PostgreSQL
- SQLite3
- FAISS
- Ollama
سیستمعامل:
- Linux
- macOS
- یا WSL در ویندوز
حداقل رم:
- 16 گیگابایت (ترجیحاً 24 گیگابایت)
فضای ذخیرهسازی برای یک سیستم توسعهدهنده که PostgreSQL و یک مدل زبانی 8B را اجرا کند:
- حدود 512 گیگابایت تا 1 ترابایت.
سرفصلهای کتاب Vector Databases:
- Cover
- Copyright
- Table of Contents
- Preface
- Chapter 1. Introduction to Vector Databases
- Chapter 2. Embeddings
- Chapter 3. Similarity Search with FAISS
- Chapter 4. Semantic Search with SQLite3
- Chapter 5. Building an ArXiv Paper Search System with PostgreSQL pgvector
- Chapter 6. Building a Retrieval-Augmented Generation System with SQLite VSS and Ollama
- Chapter 7. Building a Scientific RAG System with PostgreSQL and pgvector
- Chapter 8. Building a Complete Conversation Search and RAG System
- Chapter 9. Vector Query Language
- Index
- About the Author
- Colophon
جهت دانلود کتاب Vector Databases میتوانید پس از پرداخت، دریافت کنید.




دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.