Home
Login

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

NOASSERTIONC 16.2kpgvector Last Updated: 2025-06-19

pgvector - ملحق بحث تشابه المتجهات لـ PostgreSQL

نظرة عامة على المشروع

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

عنوان المشروع: https://github.com/pgvector/pgvector

الميزات والوظائف الأساسية

1. تخزين وإدارة المتجهات

  • دعم نوع بيانات المتجهات: لا تمتلك PostgreSQL أصلاً وظائف المتجهات (حتى PostgreSQL 16)، وقد تم تصميم pgvector خصيصًا لملء هذا الفراغ
  • تخزين المتجهات عالية الأبعاد: يدعم تخزين وإدارة بيانات المتجهات عالية الأبعاد
  • دعم المتجهات المتفرقة: يمكن أن تحتوي المتجهات المتفرقة على ما يصل إلى 16000 عنصر غير صفري

2. البحث عن تشابه المتجهات

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

3. الفهرسة وتحسين الأداء

  • فهرسة فعالة: يوفر آليات فهرسة متجهات متخصصة لتحسين أداء الاستعلام
  • تكامل SQL: يوفر دعمًا للبحث عن تشابه المتجهات والبحث عن الجار الأقرب في SQL
  • عوامل تشغيل دالة المسافة: يدعم عوامل تشغيل دالة المسافة المتعددة لاسترداد المتجهات وحساب التشابه

سيناريوهات التطبيق الرئيسية

1. تطبيقات التعلم الآلي والذكاء الاصطناعي

  • تخزين تضمين المتجهات: يمكن استخدامه لتخزين متجهات التضمين، خاصةً للتطبيقات التي تتضمن معالجة اللغة الطبيعية، مثل التطبيقات المبنية على نماذج GPT من OpenAI
  • البحث الدلالي: يدعم البحث عن المستندات والمحتوى بناءً على التشابه الدلالي

2. أنظمة التوصية

  • توصية المحتوى: يسهل تطبيقات مثل أنظمة توصية المحتوى
  • مطابقة التشابه: إجراء مطابقة دقيقة للمحتوى من خلال تشابه المتجهات

3. الاسترجاع المعزز للتوليد (RAG)

  • استرجاع المستندات: استخدم نماذج تضمين النص من OpenAI لتضمين المستندات، واستخدم تشابه جيب التمام للعثور على المستندات الأكثر تشابهًا مع استعلام معين
  • الاستعلام عن قاعدة المعرفة: بناء أنظمة أسئلة وأجوبة ذكية وتطبيقات استرجاع المعرفة

التنفيذ الفني

التثبيت والتكوين

CREATE EXTENSION vector;

مثال على الاستخدام الأساسي


CREATE TABLE items (
  id SERIAL PRIMARY KEY,
  embedding VECTOR(3)
);


INSERT INTO items (embedding) VALUES 
  ('[1,2,3]'),
  ('[4,5,6]'),
  ('[7,8,9]');


SELECT * FROM items 
ORDER BY embedding <-> '[3,1,2]' 
LIMIT 5;

عوامل تشغيل المسافة

  • <-> - مسافة L2 (مسافة إقليدس)
  • <#> - حاصل الضرب الداخلي السالب
  • <=> - مسافة جيب التمام

تكامل النظام البيئي

دعم النظام الأساسي السحابي

  • Supabase: يوفر دعمًا أصليًا لـ pgvector
  • Azure Database for PostgreSQL: يدعم ملحق pgvector
  • Neon: يوفر دعمًا كاملاً لميزات pgvector

تكامل إطار التطوير

  • LangChain: يوفر تطبيق تجريد تخزين متجهات LangChain باستخدام postgres كخلفية والاستفادة من ملحق pgvector
  • دعم Docker: يوفر صور Docker رسمية لسهولة النشر

الميزات والمزايا

1. مفتوح المصدر وقابلية التوسع

  • مفتوح المصدر بالكامل، مدفوع بتطوير المجتمع
  • يتكامل تمامًا مع نظام PostgreSQL البيئي
  • يدعم توسيع SQL الموزع

2. الأداء والموثوقية

  • يعتمد على نظام قاعدة بيانات PostgreSQL ناضج
  • يوفر دعم معاملات ACID
  • فهرسة متجهات فعالة وتحسين الاستعلام

3. سهولة الاستخدام

  • واجهة SQL قياسية، تكلفة تعلم منخفضة
  • وثائق غنية ودعم المجتمع
  • متوافق مع أدوات ونظام PostgreSQL البيئي الحالي

ملخص

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