اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

تقصد مجال GraphRAG وللتوضيح هو مجال حديث ظهر بقوة في أخر عام، ولذلك المصادر التعليمية الممنهجة له قليلة، ومعظمها عبارة عن أوراق بحثية أو مقالات تقنية متناثرة.

في البداية تحتاج إلى استيعاب أساسيات Graph Database وهي فهم يتم تخزين البيانات في الـ Graph أصلاً، وهو يتكون من شيئين فقط:

  1. Nodes العقد، وهي الكيانات مثل يزيد، شركة جوجل، كتاب.
  2. Relationships و Edges أي العلاقات وهي الروابط بين العقد مثل يزيد يعمل في جوجل.

ويوجد Properties وهي خصائص داخل العقدة أو العلاقة.

ومثلما يوجد SQL لقواعد البيانات العادية، فيوجد لغة تسمى Cypher لقواعد بيانات الـ Graph وتحديداً Neo4j، وهي لغة سهلة  تشبه الرسم.

أنصحك بالتعلم من خلال المصدر الرسمي المجاني وهو:

ثم الإنتقال للمستوى المتوسط لتتعلم  كيف تعمل على نص غير مهيكل وتحوله إلى Nodes و Relationships وذلك من خلال بايثون:

ثم الإنتقال للمستوى المتقدم:

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته،

أولا ال Graph هو هيكل بيانات يستخدم لتمثيل العلاقات والارتباطات بين الأشياء أو الكيانات المختلفة على شكل عقد (Nodes) وروابط (Edges) ويستخدم في مجالات متعددة مثل شبكات التواصل الاجتماعي، تحليل البيانات، الذكاء الاصطناعي وغيرها أما ال ragGraph فهو تقنية متقدمة تستخدم الرسوم البيانية (Graphs) لتحسين استرجاع المعلومات عن طريق ربط بيانات مترابطة في knowledge graphs ومن ثم استخدام هذه المعرفة الموسعة لتعزيز نتائج البحث أو التحليل.

ما أنصحك به هو تعلم التقنية من مصادرها الرسمية من هنا:

  • 0
نشر
بتاريخ 2 ساعة قال يزيد بن شيحه:

ولكن كيف طريقة ربط LLMs  مع قاعدة البيانات 

إن ربط LLMs مع قواعد البيانات يتم عبر عدة طرق ويعتمد على ما تريد فعله:

  • فمثلا هل تريد أن يقرأ الـ LLM البيانات من قاعدة البيانات.
  • أو هل تريد أن يولد استعلامات SQL.
  • أو هل تريد RAG (استرجاع معلومات).
  • أو هل تريد ذكاء اصطناعي فوق قاعدة البيانات مثل natural language queries .

وبما أن سؤالك عن ال RAG سأوضح لك كيف ذلك .

إن ربط LLM مع قاعدة البيانات عبر RAG مناسب لو لديك بيانات غير مهيكلة مثل النصوص أو وصف منتجات أو  ملفات PDF  أو وثائق.

والربط بين نماذج اللغة الكبيرة (LLMs) وقواعد البيانات باستخدام تقنية التوليد المعزز بالاسترجاع (RAG) يتم عبر عمليتين رئيسيتين: أولا تحويل البيانات الخارجية الموجودة في قاعدة البيانات إلى تمثيلات عددية (vectors or embeddings) وتخزن في قاعدة بيانات متجهية ثم عند استلام سؤال أو استعلام من المستخدم يتم تحويله أيضا إلى تمثيلات عددية تستخدم للبحث في قاعدة البيانات لإيجاد المعلومات الأكثر صلة.

وبعد إيجاد النتائج ذات الصلة يتم دمج هذه البيانات المسترجعة مع الاستعلام الأصلي وإعطائها لنموذج اللغة الكبير مما يزيد دقة وصحة الإجابات ويقلل من الأخطاء الناتجة عن الهلوسة اللغوية. 

ولتنفيذ ذلك يجب إتباع الخطوات التالية :

  1. أولا نأخذ النصوص من قاعدة البيانات.
  2. ثم نقوم بتحويلها إلى embeddings (متجهات).
  3. نقوم بحفظ المتجهات في Vector DB مثل:
    • Pinecone
    • Weaviate
    • Chroma
    • MongoDB Atlas Vector Search
  4. بعد ذلك المستخدم يقوم بطرح السؤال.
  5. نقوم بجعل التطبيق يبحث عن المعلومات الأقرب باستخدام ال embeddings.
  6. وأخيرا نرسل النتائج لل LLM كي يشكل الإجابة.

وإليك المصادر التالية :

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...