البحث المتجهي في PostgreSQL: دليل شامل إلى pgvector لتطبيقات الذكاء الاصطناعي

تعرّف على كيفية تحويل PostgreSQL إلى قاعدة بيانات متجهية قوية باستخدام إضافة pgvector. يغطي الدليل الشامل تثبيت PostgreSQL، والتكامل مع Python عبر Psycopg، وإنشاء embeddings باستخدام SentenceTransformers، وتنفيذ البحث الدلالي والهجين، وتحسين الفهارس. التطبيق جاهز للعمل تحت أحمال production. ويعمل الكود بالكامل في Google Colab خلال عشرين دقيقة.

معالج بواسطة الذكاء الاصطناعي من MarkTechPost؛ بتحرير Hamidun News
البحث المتجهي في PostgreSQL: دليل شامل إلى pgvector لتطبيقات الذكاء الاصطناعي
المصدر: MarkTechPost. كولاج: Hamidun News.
استمع للمقال
بطاقة الحقائق والأرقام
المعيارالتفاصيل
المصدر الأصليMarkTechPost ↗
رئيس التحرير
حقيقة رئيسية #1مسافات L2 والتشابه الجيبي التمامي والجداء السلمي جاهزة للاستخدام مباشرة
حقيقة رئيسية #2فهارس IVFFlat (سريع وتقريبي) وHNSW (أدق وأبطأ)
بحث هجينالمتجهات وSQL العادي في استعلام واحد

أصبحت PostgreSQL منافسًا جادًا لقواعد البيانات المتجهية المتخصصة بفضل إضافة pgvector. فهي ليست مجرد مخزن للـ embeddings، بل منصة متكاملة للبحث الدلالي والاستعلامات الهجينة وتطبيقات الذكاء الاصطناعي الحديثة، تعمل مباشرة على قاعدة بيانات مألوفة.

لماذا PostgreSQL وpgvector

تثبت PostgreSQL موثوقيتها في بيئات production منذ عقود: ضمانات ACID، وقابلية التوسع، وسهولة العثور على مطورين يتقنونها. وتضيف pgvector إلى ذلك العمليات المتجهية دون الحاجة إلى تشغيل خدمة منفصلة.

تدعم الإضافة ثلاثة أنواع من المسافات: L2 (المسافة الإقليدية)، والتشابه الجيبي التمامي (cosine)، والجداء السلمي. وتوفّر فهارس IVFFlat وHNSW بحثًا سريعًا حتى على ملايين المتجهات. والأهم أن كل ذلك مدمج في SQL، ما يتيح كتابة استعلامات هجينة ضمن عملية join واحدة.

  • مسافات L2 والتشابه الجيبي التمامي والجداء السلمي جاهزة للاستخدام مباشرة
  • فهارس IVFFlat (سريع وتقريبي) وHNSW (أدق وأبطأ)
  • بحث هجين: المتجهات وSQL العادي في استعلام واحد
  • ضمانات ACID والمعاملات لضمان الموثوقية

التثبيت والتكامل مع Python

يوضح الدليل كيفية تجهيز كل شيء في Google Colab في 20 دقيقة فقط. يتطلب ذلك تثبيت PostgreSQL، وبناء pgvector من الشيفرة المصدرية، وربط مشغّل Psycopg. وفي خطوة منفصلة تُسجَّل أنواع Python مخصصة للمتجهات، وبعدها تصبح الـ embeddings نوعًا عاديًا لعمود في الجدول، مثل INTEGER أو TEXT.

بعد الاتصال عبر Psycopg، يمكن إنشاء جداول بأعمدة من نوع vector وكتابة الاستعلامات بلغة Python مباشرة. فعلى سبيل المثال، سيعثر الاستعلام `SELECT * FROM articles WHERE embedding <-> query_embedding < 0.3` على جميع المقالات المشابهة للاستعلام.

ويوفّر Psycopg تكاملًا سلسًا: تمرّر مصفوفة numpy فيحوّلها تلقائيًا إلى الصيغة الثنائية لـ PostgreSQL وبالعكس. ولا حاجة إلى أي تحويلات وسيطة.

الـ Embeddings وأنواع البحث

تولّد SentenceTransformers الـ embeddings، وهي تمثيلات رقمية للنص في فضاء ذي 384 أو 768 بُعدًا. يكون النصان المتشابهان دلاليًا قريبين من بعضهما في هذا الفضاء، وتعثر pgvector عليهما في أجزاء من المليون من الثانية عبر فهرس HNSW.

لكن للبحث الدلالي حدًّا: فهو يلتقط المعنى لكنه يفوّت المصطلحات الدقيقة. ويعالج البحث الهجين ذلك بالجمع بين الأسلوبين: تلتقط المتجهات الدلالة، ويلتقط LIKE العادي الكلمات المفتاحية. أما الـ sparse embeddings (مثل BM25) فتلتقط المصطلحات النادرة. وتضغط المتجهات المكمّمة (quantized) أعداد float ذات 32 بت إلى int8 ذات 8 بت، فتوفّر الذاكرة بمقدار 4 أضعاف دون خسارة كبيرة في الدقة.

التطبيق العملي: من المثال إلى production

لا يقتصر الدليل على Colab، بل يوضح كيفية نقل ذلك إلى خادم PostgreSQL الخاص بك. ويشمل ذلك الفهرسة، وتحسين العمليات الدفعية (batch) لرفع السرعة، وضبط معلمات IVFFlat بما يناسب حجم مجموعة بياناتك.

تشمل أمثلة production البحث في الأسئلة الشائعة (سؤال وارد ← إيجاد سؤال شائع مشابه)، والتوصيات (embedding المستخدم ← إيجاد مستخدمين مشابهين)، وإزالة التكرار الدلالي (semantic deduplication) أي إيجاد النصوص المكررة من حيث المعنى لا من حيث الحروف.

ماذا يعني ذلك

تلغي pgvector الحاجة إلى قاعدة بيانات متجهية متخصصة مثل Pinecone أو Qdrant. وهذا أرخص للشركات الناشئة: خادم PostgreSQL واحد بدل خادمين. وهو أبسط للشركات المتوسطة: حزمة تقنية واحدة، ونظام أمان واحد، ونسخ احتياطي واحد. أما بالنسبة لمطوري الذكاء الاصطناعي، فيعني أن البحث المتجهي لم يعد أمرًا غريبًا، بل أصبح أداة أساسية مثل JOIN.

القصة

أسئلة وأجوبة حول الخبر

ما أبرز التفاصيل حول لماذا PostgreSQL وpgvector؟

تثبت PostgreSQL موثوقيتها في بيئات production منذ عقود: ضمانات ACID، وقابلية التوسع، وسهولة العثور على مطورين يتقنونها. وتضيف pgvector إلى ذلك العمليات المتجهية دون الحاجة إلى تشغيل خدمة منفصلة. تدعم الإضافة ثلاثة أنواع من المسافات: L2 (المسافة الإقليدية)، والتشابه الجيبي التمامي (cosine)، والجداء السلمي. وتوفّر فهارس IVFFlat وHNSW بحثًا سريعًا حتى على ملايين المتجهات. والأهم أن كل ذلك مدمج في SQL، ما يتيح كتابة استعلامات هجينة ضمن عملية join واحدة. مسافات L2 والتشابه الجيبي التمامي والجداء السلمي جاهزة للاستخدام مباشرة فهارس IVFFlat (سريع وتقريبي) وHNSW (أدق وأبطأ) بحث هجي

ما أبرز التفاصيل حول التثبيت والتكامل مع Python؟

يوضح الدليل كيفية تجهيز كل شيء في Google Colab في 20 دقيقة فقط. يتطلب ذلك تثبيت PostgreSQL، وبناء pgvector من الشيفرة المصدرية، وربط مشغّل Psycopg. وفي خطوة منفصلة تُسجَّل أنواع Python مخصصة للمتجهات، وبعدها تصبح الـ embeddings نوعًا عاديًا لعمود في الجدول، مثل INTEGER أو TEXT. بعد الاتصال عبر Psycopg، يمكن إنشاء جداول بأعمدة من نوع vector وكتابة الاستعلامات بلغة Python مباشرة. فعلى سبيل المثال، سيعثر الاستعلام `SELECT FROM articles WHERE embedding <-> query_embedding < 0.3` على جميع المقالات المشابهة للاستعلام. ويوفّر Psycopg تكاملًا سلسًا: تمرّر مصفوفة numpy فيحوّلها تلقا

ما أبرز التفاصيل حول الـ Embeddings وأنواع البحث؟

تولّد SentenceTransformers الـ embeddings، وهي تمثيلات رقمية للنص في فضاء ذي 384 أو 768 بُعدًا. يكون النصان المتشابهان دلاليًا قريبين من بعضهما في هذا الفضاء، وتعثر pgvector عليهما في أجزاء من المليون من الثانية عبر فهرس HNSW. لكن للبحث الدلالي حدًّا: فهو يلتقط المعنى لكنه يفوّت المصطلحات الدقيقة. ويعالج البحث الهجين ذلك بالجمع بين الأسلوبين: تلتقط المتجهات الدلالة، ويلتقط LIKE العادي الكلمات المفتاحية. أما الـ sparse embeddings (مثل BM25) فتلتقط المصطلحات النادرة. وتضغط المتجهات المكمّمة (quantized) أعداد float ذات 32 بت إلى int8 ذات 8 بت، فتوفّر الذاكرة بمقدار 4 أضعاف دون

ZK
جمال حميدون — مدير المنتجات في Alpina Digital ومدير منتج AlpinaGPT. يبني منتجات الذكاء الاصطناعي منذ 2019. بدأ Hamidun News كمشروع شخصي ثم أصبح مُجمِّعًا إنتاجيًا بأكثر من 6000 قارئ.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
ما رأيك؟
جارٍ تحميل التعليقات…