التضمينات ومخازن المتجهات في LangChain
اكتشف طرقًا مختلفة لتخزين المستندات واستخدامها في تطبيقاتك مع LangChain
لنبدأ مباشرةً بأحد أهم عناصر بناء التطبيقات الذكية باستخدام LangChain: مخازن المتجهات. لا شك أنك جربتَ نماذج اللغة لإنشاء المحتوى أو الإجابة عن الأسئلة. ولكن كيف نخزن بيانات النصوص ونسترجعها بطريقة تعكس معناها بدقة؟ هنا تكمن أهمية مخازن المتجهات.
ما هي التضمينات؟
لنبدأ أولاً بمناقشة التضمينات، المرتبطة ارتباطاً وثيقاً بمخازن المتجهات. التضمين هو تمثيل رقمي للنص. سواء أكان كلمةً أو جملةً أو مستنداً كاملاً، فإن التضمينات تحوله إلى متجه، وهو عبارة عن قائمة من الأرقام التي تُجسد معناه الدلالي.
يمكن تصور ذلك بسهولة من خلال تخيل فضاء ثلاثي الأبعاد ضخم (مع أن هذا الفضاء في الواقع غالبًا ما يحتوي على مئات أو آلاف الأبعاد). تبدو الكلمات أو الجمل المترابطة في المعنى "متقاربة"، بينما تتباعد الكلمات غير المترابطة. على سبيل المثال، كلمة "هريرة" ستكون قريبة من كلمة "قطة"، لكن كلتيهما ستكونان بعيدتين تمامًا عن كلمة "سيارة".
تكمن قوة هذا الأسلوب في أن الآلات لا تعالج اللغة الإنجليزية أو أي لغة أخرى، بل تعالج الأرقام. ومن خلال ترميز الكلمات في متجهات تمثل علاقاتها الدلالية، نخلق جسراً بين اللغة البشرية والعمليات الرياضية التي تتفوق فيها الحواسيب.
تُتيح LangChain التكامل مع العديد من مزودي خدمات التضمين. ومن أبرز الخيارات OpenAI، التي تُقدم نماذج متطورة مثلtext-embedding-3-large إليك نظرة سريعة على كيفية استخدامه:
في السابق، كنا نستخدم Groq للوصول إلى نموذج اللغة الموجه الذي نختاره؛ ولكن في وقت كتابة هذا التقرير، لم يكن هناك نموذج تضمين متاح على Groq. سنستخدم الآن OpenAI للوصول إلى مكتبة نماذجهم.
هذا كل ما يتطلبه الأمر للبدء. يقوم هذا السطر البرمجي بتحميل نموذج قوي يحوّل النص إلى متجهات رقمية كثيفة. سواء كنت تعمل مع مقتطفات صغيرة أو مستندات أكبر، فإن هذه التضمينات توفر الأساس لتخزين بياناتك واسترجاعها بكفاءة.