استكشِف المزيد مما يقدِّمه RAG Cookbook للحصول على فهم أعمق لحلول التوليد المعزز بالاسترجاع (RAG) المتاحة اليوم.

مساحة عمل جديدة معاد تلوينها تعتمد على مساحة Watson for Customer Care كأساس لها.
لمحة عامة

نماذج التضمين هي شبكات عصبية تعتمد على المحوِّلات تقوم بتحويل مقاطع من المستندات (أي مقاطع نصية) إلى تمثيل رقمي أو متَّجه. سيتم تعيين المحتوى المتشابه في المعنى أو الدلالة إلى تمثيل متشابه داخل الفضاء الكامن، كما هو موضَّح في الصورة أدناه.

تحويل اللغة إلى متجهات يُتيح تطبيقات مدعومة بالذكاء الاصطناعي مثل "التفاعل مع المستندات" أو البحث الدلالي، بدلًا من البحث التقليدي بالكلمات المفتاحية.

مخطط يوضِّح مفهوم تضمين الموضوعات المرتبطة داخل فضاء متَّجهي.
الاعتبارات

الموازنة بين الأداء والتكلفة

سيؤثِّر نموذج التضمين الذي تختاره بشكل كبير في دقة الاسترجاع وزمن الانتقال والتكلفة الحاسوبية لنظام التوليد المعزز بالاسترجاع (RAG) الخاص بك. يتأثَّر اختيارك لنموذج التضمين إلى حد كبير بحجمه، والذي يعتمد على خاصيَّتين: بُعد التضمين وعدد مَعلمات النموذج.

عادةً ما يعزز نموذج التضمين الأكبر أداء الاسترجاع، لكنه يأتي على حساب زيادة زمن الانتقال ومتطلبات التخزين والتكلفة الحاسوبية (المالية). في المقابل، يقدِّم نموذج التضمين الأصغر عادةً أداء استرجاع أقل، لكنه يستهلك ذاكرة أقل ويتطلب قدرة حوسبة أقل ويعمل بسرعة أكبر أثناء التشغيل. اختَر نموذج تضمين يحقق توازنًا بين متطلبات الأداء والموارد المتاحة.

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

حلول IBM

نماذج التضمينات المتاحة على watsonx

يُوصى باستخدام نماذج التضمين المنشورة على watsonx، مثل نماذج Slate المطوَّرة من IBM أو نماذج الجهات الخارجية المدرجة أدناه. يُرجى الاطِّلاع على هذه الوثائق للتعرُّف على تفاصيل كل نموذج. للمزيد من المعلومات حول فئات الفوترة، راجِع خطط الفوترة في watsonx.

نماذج IBM Slate

اسم النموذجAPI model_idفئة الفوترةالحد الأقصى للرموز المميزة للإدخالعدد الأبعادالمزيد من المعلومات
slate-125m-english-rtrvribm/slate-125m-english-rtrvrالفئة C1                  512                768بطاقة النموذج
slate-30m-english-rtrvribm/slate-30m-english-rtrvrالفئة C1                  512                384بطاقة النموذج

 

slate-125m-english-rtrvr

يتم توفير نموذج الأساس slate-125m-english-rtrvr بواسطة IBM. يعمل نموذج الأساس slate-125m-english-rtrvr على إنشاء تضمينات لمختلف أنواع المدخلات مثل الاستعلامات أو المقاطع النصية أو المستندات. الهدف من التدريب هو زيادة تشابه جيب التمام بين الاستعلام والمقطع النصي. تنتج هذه العملية تضمينَين للجمل، أحدهما يمثِّل السؤال والآخر يمثِّل المقطع النصي، ما يُتيح مقارنة الاثنين باستخدام تشابه جيب التمام.

الاستخدام: أبطأ بمقدار مرتين إلى ثلاث مرات، لكنه يحقق أداءً أفضل قليلًا مقارنةً بنموذج slate-30m-english-rtrvr. اللغات المدعومة: الإنجليزية.

slate-30m-english-rtrvr

يُعَد نموذج الأساس slate-30m-english-rtrvr نسخة مختصرة من slate-125m-english-rtrvr، وكلاهما مقدَّم من IBM. تم تدريب نموذج التضمين slate-30m-english-rtrvr لزيادة تشابه جيب التمام بين مُدخلين نصيين بحيث يمكن لاحقًا تقييم التضمينات بناءً على درجة التشابه.

الاستخدام: أسرع بمرتين إلى ثلاث مرات، لكنه يحقق درجات أداء أقل قليلًا من نموذج slate-125m-english-rtrvr. اللغات المدعومة: الإنجليزية.

نماذج التضمين من الجهات الخارجية المتاحة مع watsonx.

اسم النموذجAPI model_idالمزودفئة الفوترةالحد الأقصى للرموز المميزة للإدخالعدد الأبعادالمزيد من المعلومات
all-minilm-l12-v2sentence-transformers/all-minilm-l12-v2مجتمع المصادر المفتوحة لمعالجة اللغة الطبيعية (NLP) ورؤية الكمبيوتر (CV)الفئة C1           256           384بطاقة النموذج
multilingual-e5-largeintfloat/multilingual-e5-largeMicrosoftالفئة C1            512           1024بطاقة نموذج، ورقة بحثية
all-minilm-l12-v2

نموذج التضمين all-minilm-l12-v2 تم بناؤه بواسطة مجتمع المصادر المفتوحة لمعالجة اللغة الطبيعية (NLP) ورؤية الكمبيوتر (CV)، ويقدِّمه HuggingFace.

اللغات المدعومة: الإنجليزية.

multilingual-e5-large

الاستخدام: لحالات الاستخدام التي تريد فيها إنشاء تضمينات نصية للغات غير الإنجليزية.

اللغات الطبيعية المدعومة: ما يصل إلى 100 لغة. راجِع بطاقة النموذج لمعرفة التفاصيل.

للمزيد من المعلومات حول نماذج التضمين المدعومة، راجِع وثائق watsonx.

البدء السريع مع حزمة Python SDK الخاصة بتضمينات watsonx

تثبيت مكتبة ibm-watsonx-ai Python
pip install -U ibm-watsonx-ai
استخدِم واجهة برمجة التطبيقات (API) لتضمينات watsonx والنماذج المتاحة لتوليد تضمينات نصية.
استيراد EmbedTextParamsMetaNames باسم EmbedParams من مكتبة ibm_watsonx_ai.metanames
استيراد EmbeddingTypes من ibm_watsonx_ai.foundation_models.utils.enums
استيراد Embeddings من ibm_watsonx_ai.foundation_models 

اضبط truncate_input_tokens على قيمة تساوي أو تقل عن الحد الأقصى المسموح به من الرموز للنموذج الذي تستخدمه. إذا لم تحدد هذه القيمة وكان الإدخال يحتوي على عدد من الرموز أكبر مما يستطيع النموذج معالجته، سيتم توليد خطأ.

embed_params = {
 EmbedParams.TRUNCATE_INPUT_TOKENS: 128,
 EmbedParams.RETURN_OPTIONS: {
 'input_text': True
 }
}

embedding = Embeddings(
 model_id=EmbeddingTypes.IBM_SLATE_30M_ENG,
 credentials=credentials,
 params=embed_params,
 project_id=project_id,
 space_id=None,
 verify=False
)

q = [
 "نموذج الأساس هو نموذج ذكاء اصطناعي توليدي على نطاق واسع يمكن تكييفه لمجموعة واسعة من المهام اللاحقة",
 "الذكاء الاصطناعي التوليدي هو فئة من خوارزميات الذكاء الاصطناعي التي يمكنها إنتاج أنواع مختلفة من المحتوى بما في ذلك النصوص والكود المصدر والصور والصوت والبيانات الاصطناعية."
]

embedding_vectors = embedding.embed_documents(texts=q)

print(embedding_vectors)

نموذج دفتر الملاحظات

استخدِم سلسلة نماذج Granite وتضمينات watsonx، وChroma، وLangChain للإجابة عن الأسئلة (RAG) وLangChain.

عمليات التكامل

استكشِف المزيد

اطَّلِع على أحدث الأنماط التقنية، وبنى الحلول، ومنشورات البنية من IBM.

  1. انتقِل إلى IBM Architecture Center
المساهمون

Luke Major، وDean Sacoransky

تاريخ التحديث: 15 نوفمبر 2024