ما هو المتجه (Vector) بالضبط؟#

عند سماع كلمة «متجه» لأول مرة، قد لا يدرك معظم الناس معناها الدقيق. قد يتذكرها طلاب التخصصات العلمية من دروس الرياضيات المدرسية (الجبر والهندسة)، لكنها تبدو غامضة تماماً لغير المتخصصين. أسهل طريقة لفهم المتجه بشكل بديهي هي تخيل خريطة.

تخيل أن أمامك خريطة ورسمت خطاً من محطة طوكيو إلى محطة إيكيبوكورو. هذا الخط يمثل المفهوم الأساسي للمتجه. إذا عبرنا عن ذلك رقمياً، فهو خط سهمي مرسوم على قطر مستطيل بعرض 3 سم وارتفاع 5 سم. باختصار، المتجه يمثل «الاتجاه والمقدار (الطول)» من نقطة إلى أخرى. على الخريطة يكون ثنائي الأبعاد، ولكن بإضافة الارتفاع يصبح ثلاثي الأبعاد، وهو مفهوم واسع الاستخدام في الفيزياء لوصف حركة الأجسام.

جيب دورايمون ذو الأبعاد الأربعة يقوم على 4 محاور: الطول والعرض والارتفاع والزمن. ومن خلال تخزين قيم متعددة تتجاوز البعدين أو الثلاثة أبعاد، يمكننا رياضياً تمثيل متجهات متعددة الأبعاد. الفضاء ثلاثي الأبعاد مألوف لأنه يمثل عالمنا الحقيقي، ولكن عند تحديد 1024 أو 1536 أو 4096 بعداً كمعيار دقة، نحصل على متجهات فائقة الدقة. من الأفضل التعامل مع هذه الأبعاد العالية كطريقة تمثيل رياضية: تذكر دائماً أنها تعبر عن «الاتجاه والكمية».

استخدام المتجهات في نماذج الذكاء الاصطناعي الحديثة (LLM)#

كان تحويل النصوص إلى متجهات قفزة هائلة في تكنولوجيا الذكاء الاصطناعي. تحويل الجمل إلى متجهات يسهل الحسابات الرياضية لتوليد الكلمات التالية، وهو الأساس لنماذج اللغات الكبيرة (LLM). وبالمثل في البحث الموجه، فإن إدارة المعنى الدلالي للجمل كبيانات موجهة يرفع دقة البحث ويمكن الذكاء الاصطناعي من استيعاب السياق بدقة.

ينطبق هذا على الذكاء الاصطناعي اللغوي، بينما تعتمد نماذج توليد الصور على نظريات مختلفة تماماً مثل نماذج الانتشار (Diffusion Models).

الوضع الحالي لوثائق المواصفات والتنفيذ#

بيئة التطوير في Kurousagi مبنية على منصة Cloudflare، وتستخدم قاعدة بيانات D1 (المبنية على SQLite) لإدارة وثائق المواصفات. في البداية، كانت الوثائق تُحفظ كملفات Markdown أو HTML داخل المستودعات، لكن مع تعدد المنتجات أصبحت الوثائق مبعثرة ومكررة ويصعب تتبعها.

لذلك انتقلنا إلى مستودع أحادي (Monorepo) وأنشأنا منصة تطوير مركزية. أتاح تعديل الوثائق وإنشاؤها عبر واجهات برمجة التطبيقات والمتصفح إدارة موحدة وإمكانية الفلترة والبحث السريع.

ومع ذلك، فإن اعتماد الذكاء الاصطناعي على البحث التقليدي يستهلك الكثير من الرموز (Tokens). ولحل هذه المشكلة، قمنا بدمج البحث الموجه لتحسين الكفاءة وتوفير الموارد.

آلية العمل الأساسية#

تُحفظ نصوص المواصفات في قاعدة بيانات D1. وقمنا بدمج Cloudflare Vectorize، وهي خدمة متخصصة لقواعد البيانات الموجهة. نقوم باستخراج النصوص من D1 ومعالجتها عبر Cloudflare Workers AI ثم حفظها كمتجهات في Cloudflare Vectorize (CF Vectorize).

الحصة المجانية لـ Cloudflare Workers AI

  • 10,000 وحدة Neurons مجانية يومياً لكل حساب عبر جميع نماذج Workers AI
  • محاسبة على الاستخدام الإضافي فقط
  • إعادة تعيين يومية عند الساعة 00:00 UTC (09:00 بتوقيت اليابان)
  • مشتركة بين جميع نماذج Workers AI في الحساب

نستخدم نموذج التضمين @cf/baai/bge-m3. نظراً لدعمه اللغات المتعددة، يتم وضع وثائق المواصفات واستعلامات البحث في نفس الفضاء الرقمي الموجه.

الحصة المجانية لـ Cloudflare Vectorize

  • التخزين: 5 ملايين بعد موجه
  • البحث: 30 مليون بعد موجه شهرياً
  • رسوم التجاوز: لا توجد رسوم تجاوز (يتطلب الترقية للباقة المدفوعة لمتابعة الاستخدام)
  • حركة البيانات الصادرة ووقت صيانة الفهارس: بدون تكلفة إضافية

نظراً لأن حسابنا مفعل على الباقة المدفوعة، فإن بياناتنا تقع ضمن حد 10 ملايين بعد، لكنها تتجاوز الحصة المجانية العادية. الآلية بسيطة: مهمة مجدولة (Cron) تستخرج النصوص المحدثة من D1، وتحولها إلى متجهات عبر Workers AI وتسجلها في Vectorize. وعند البحث، يتم تحويل الاستعلام إلى متجه والبحث عن الوثائق المتطابقة في Vectorize ثم جلبها من D1.

تجربة الاستخدام والانطباعات#

انطباعنا بعد تطبيق البحث الموجه: مريح ومفيد للغاية! بدلاً من الاعتماد على كلمات مفتاحية مثل «جهاز» أو «فقدان»، يمكن الآن كتابة «إجراءات الحساب عند فقدان الجهاز» لعرض قائمة المواصفات المطلوبة مباشرة. ومع ذلك، نظراً لمحدودية الحصة المجانية، فإن البيانات الكبيرة تتطلب باقة مدفوعة.

توضح هذه الصورة لوحة تحكم البحث الموجه وتجاوز الحصة المجانية. ورغم أن Workers AI يتجدد يومياً، إلا أن بيانات المتجهات المخزنة دائمة.

نأمل أن تكون هذه التجربة مفيدة لكل من يخطط لاستخدام قواعد البيانات الموجهة على Cloudflare!



المراجع#