التضمين هو تمثيل رياضي (متجه رقمي) للنص أو الكائن يلتقط معناه لأنظمة الذكاء الاصطناعي.
Un embedding est la transformation d'une donnée (texte, image, audio) en un vecteur de nombres réels de haute dimension. Deux éléments sémantiquement proches (ex: 'chien' et 'canin') ont des vecteurs proches dans l'espace d'embedding, même si leurs mots sont différents. C'est ce qui permet à l'IA de comprendre le sens plutôt que de faire de la simple correspondance de mots-clés.
Dans le contexte du RAG et de la recherche sémantique, les embeddings sont essentiels : les documents sont transformés en vecteurs et stockés dans une base vectorielle (Pinecone, Weaviate, pgvector). Quand un utilisateur pose une question, elle est également transformée en vecteur et la base vectorielle retourne les documents les plus similaires sémantiquement.
Les modèles d'embedding les plus utilisés sont text-embedding-ada-002 d'OpenAI, les modèles de Sentence-Transformers, et E5 de Microsoft. Pour les applications multilingues, des modèles comme multilingual-e5 sont particulièrement performants.
Les embeddings permettent à un moteur de recherche de retourner 'sneakers running femme' quand un client tape 'chaussures jogging pour femmes', car les vecteurs sont proches sémantiquement.
Les embeddings permettent de retrouver des clauses contractuelles similaires même si la formulation exacte diffère, facilitant la recherche de précédents et de clauses analogues.
Les embeddings permettent de matcher des CVs avec des offres d'emploi selon le sens de l'expérience et des compétences, et non plus juste selon des mots-clés exacts.
Les embeddings indexent les comptes-rendus médicaux et permettent aux médecins de retrouver des cas cliniques similaires même décrits avec un vocabulaire différent, facilitant le diagnostic par analogie.
Les embeddings indexent toutes les résolutions de tickets passés. Quand un nouveau ticket arrive, le système trouve automatiquement les cas similaires déjà résolus et propose la solution au technicien.
| Modèle | Éditeur | Multilangue | Dimensions | Coût |
|---|---|---|---|---|
| text-embedding-3-large | OpenAI | Oui | 3072 | 0,13$/M tokens |
| multilingual-e5-large | Microsoft (open-source) | Excellent | 1024 | Gratuit (self-hosted) |
| Cohere Embed v3 | Cohere | Oui | 1024 | 0,10$/M tokens |
| BGE-M3 | BAAI (open-source) | Excellent | 1024 | Gratuit (self-hosted) |
| CamemBERT embeddings | INRIA (open-source) | Français optimisé | 768 | Gratuit (self-hosted) |
البحث بالكلمات المفتاحية يبحث عن تطابقات دقيقة للمصطلحات. البحث الدلالي (القائم على التضمينات) يبحث عن تطابق في المعنى: يُعيد نتائج ذات صلة حتى لو استُخدمت كلمات مختلفة.
نعم، نماذج التضمين متعددة اللغات الحديثة (multilingual-e5، CAMeLBERT embeddings) تتعامل مع العربية بأداء ممتاز. النماذج العربية المتخصصة أكثر دقة للمهام المتخصصة.
التكاليف منخفضة جداً: تضمين مليون رمز (token) يكلف حوالي 0.10 دولار مع OpenAI. لمجموعة 10,000 وثيقة من 1,000 كلمة، تكلفة التضمين الأولية في حدود دولارات قليلة.
نعم، حين تُضاف وثائق جديدة لقاعدتك. الخبر الجيد أن التحديث تراكمي: الوثائق الجديدة فقط تحتاج التضمين، ليس القاعدة بأكملها.
للشركات الصغيرة والمتوسطة، pgvector (إضافة PostgreSQL) مثالي لأنه يتكامل مع قاعدتك الحالية. للأحجام الكبيرة، Pinecone (سحابة مُدارة) أو Weaviate (مفتوح المصدر) يقدمان أداءً أفضل. في Propulse نستخدم كثيراً pgvector مع Supabase لبساطته وتكلفته المنضبطة.
نعم، النماذج متعددة الوسائط مثل CLIP (OpenAI) تُنشئ تضمينات للصور والنصوص في نفس الفضاء المتجهي. هذا يُتيح البحث عن صورة بوصف نصي أو العكس. للصوت، يُنقَل أولاً إلى نص ثم تُولَّد التضمينات.
ننطلق من وضعك الفعلي: أدواتك، عملياتك، بياناتك. بدون مصطلحات معقدة — فقط نتائج.