بدء الاستخدام مع ميلفوس و OpenAI للبحث عن الكتب

في عالم الكتب المتزايد، قد تجد صعوبة في اكتشاف العنوان المناسب الذي يثير اهتمامك. لكن مع تقدم تقنيات الذكاء الاصطناعي، أصبح الأمر أسهل من أي وقت مضى. في هذا المقال، سنستعرض كيفية استخدام منصة “ملفوس” (Milvus) الشهيرة مع واجهة “OpenAI” لإنشاء تمثيلات نصية (embeddings) لوصف الكتب، وكيفية استخدام هذه التمثيلات للبحث عن كتب ذات صلة في مجموعة بيانات تتضمن أكثر من مليون عنوان ووصف. تابعونا لتتعلموا كيف يمكن لهذه الأدوات القوية أن تساعدك في العثور على الكتاب المثالي الذي يناسب ذوقك.

البداية مع Milvus و OpenAI

تبدأ هذه التجربة بالتعرف على تقنيتين مهمتين في مجال البيانات الضخمة وتحليل المعلومات: Milvus و OpenAI. يعتبر Milvus قاعدة بيانات مخصصة لتخزين واسترجاع البيانات غير الهيكلية، بينما يوفر OpenAI خدمات لتوليد embeddings، وهي تمثيلات رياضية تستخدم لتحليل وفهم البيانات النصية. عبر دمج هذين النظامين، يمكن تحسين فعالية البحث عن البيانات من خلال استخدام embeddings المستندة إلى النصوص، مما يساهم في تحقيق دقة عالية في استرجاع المعلومات. في هذه المقالة، يتم توضيح كيفية استخدام OpenAI لإنشاء embeddings للأوصاف الخاصة بالكتب، ثم استخدام Milvus للبحث عن كتب ذات صلة اعتمادًا على هذه الأوصاف.

إعداد البيئة والبرمجيات الضرورية

لبدء استخدام Milvus و OpenAI، يجب أولاً تثبيت المكتبات الضرورية. المكتبات المذكورة، مثل openai و pymilvus و datasets و tqdm، تلعب أدوارًا حيوية في تسهيل الاتصال بالنظامين واسترجاع البيانات. بعد تثبيت المكتبات، يجب التأكد من بدء تشغيل خدمة Milvus. يتم ذلك من خلال تشغيل ملف Docker Compose، الذي يعد رابطاً أساسيًا لتشغيل مجموعة من الحاويات التي تشكل بيئة العمل الخاصة بـ Milvus. من المفيد استخدام أدوات مثل progress bars، الممثلة في مكتبة tqdm، لتوفير ملاحظات مرئية للمستخدم عن تقدم العمليات الجارية، خصوصًا عند التعامل مع كميات ضخمة من البيانات مثل تلك الموجودة في مجموعة البيانات الخاصة بالكتب والتي تتجاوز المليون زوج من العناوين والأوصاف.

إعداد الاتصال مع Milvus

بعد التأكد من بدء خدمة Milvus، يجب إعداد متغيرات قاعدة البيانات مثل HOST و PORT و COLLECTION_NAME. تساعد هذه المتغيرات في تهيئة الاتصال الصحيح مع قاعدة البيانات. في هذه المرحلة، يتم إنشاء مجموعة داخل Milvus تُسمى “book_search”، ويتم تحديد الأبعاد المطلوبة للتمثيلات، مثل استخدام 1536 بعدًا كمعيار للأبعاد. يتم التحقق مما إذا كانت المجموعة موجودة بالفعل، وإذا كانت موجودة، يتم حذفها لإنشاء مجموعة جديدة. من خلال استخدام مكتبات pymilvus، يمكننا تحديد هيكل المجموعة، بما في ذلك أنواع البيانات المتعلقة بالعناوين ووصف الكتب والتمثيلات العددية.

استخدام مجموعة بيانات Hugging Face

للحصول على بيانات الكتب، يتم استخدام مجموعة بيانات Hugging Face التي تحتوي على أكثر من مليون كتاب. تحتوي هذه المجموعة على أنماط من العناوين والأوصاف التي يتم تحليلها. تتم عملية التحميل والتعامل مع البيانات باستخدام مكتبة datasets، والتي توفر واجهة سهلة لتحميل البيانات ومعالجتها. بعد تحميل البيانات، يتم إدراج بيانات الوصف والعنوان في Milvus بعد تحويلها إلى embeddings عبر واجهة OpenAI. هذا يجعل قاعدة البيانات غنية بالمعلومات ويسهل على المستخدمين البحث عن الكتب ذات الصلة استنادًا إلى الأوصاف. من المهم أيضًا مراعاة حجم البيانات أثناء إدراجها في العملية، حيث يُفضل إجراء الإضافات في دفعات لتسهيل إدارة البيانات.

إجراء الاستعلامات على Milvus

بعد إدخال البيانات، يمكن إجراء استعلامات للبحث عن معلومات حول الكتب. يتطلب الأمر تصميم دالة للبحث تأخذ وصفًا معينًا، ثم تبحث عن ارتباطات في قاعدة البيانات. باستخدام OpenAI، يتم تحويل الأوصاف المُستعلم عنها إلى embeddings، ويتم استخدامها للاستعلام عن Milvus. عند إجراء البحث، تُعرض النتائج بالتوازي مع الوصف المدخل، مما يوفر معلومات سهلة الفهم حول عناوين الكتب ذات العلاقة. تسهل هذه الطريقة على المستخدمين العثور على الكتب التي تتناسب مع اهتماماتهم. في حالة وجود خطأ، مثل عدم وجود المجموعة المطلوبة، يوفر ذلك للمستخدم معلومات قيمة حول الخطأ وكيفية تصحيحه.

رابط المصدر: https://cookbook.openai.com/examples/vector_databases/milvus/getting_started_with_milvus_and_openai

تم استخدام الذكاء الاصطناعي ezycontent

Comments

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *