RagHack - تطبيق GenAI Fitness Advisor
تعريف المشكلة:
إرشادات مخصصة للياقة البدنية : MyFitnessBuddy هو تطبيق GenAI Fitness Advisor الذي يوفر إجراءات تمرين مخصصة وخطط نظام غذائي وآلة حاسبة للسعرات الحرارية الغذائية، مما يعالج قيود تطبيقات اللياقة البدنية العامة.
الجيل المعزز للاسترجاع المتقدم : يستفيد من نهج مختلط يجمع بين الجيل المعزز للاسترجاع (RAG) والجيل المعزز لاسترجاع الرسم البياني (GRAG) لتقديم استجابات دقيقة ومدركة للسياق لاستفسارات المستخدم.
عرض الابتكار في RAGHack : تم تطوير MyFitnessBuddy من أجل RAGHack hackathon، وهو يوضح قوة تقنيات RAG في إنشاء حلول لياقة بدنية جذابة وفعالة تعتمد على الذكاء الاصطناعي باستخدام Azure AI والأطر الشائعة.
الهندسة المعمارية والتنفيذ:
نظرة عامة على الهندسة المعمارية:
الشكل 1: الهندسة المعمارية
يستخدم MyFitnessBuddy بنية هجينة تجمع بين توليد الاسترجاع المعزز (RAG) وتوليد استرجاع الرسم البياني المعزز (GRAG). يتم استخراج البيانات باستخدام برنامج Python النصي ويتم استيعابها في Azure Blob Storage للبيانات المنظمة وAzure Cosmos DB (Gremlin API) للبيانات غير المنظمة. يقوم Azure AI Search بفهرسة البيانات المنظمة، بينما تدير قاعدة بيانات الرسم البياني العلاقات المعقدة في البيانات غير المنظمة. يستخدم التطبيق Azure AI Studio وPrompt Flow لتحديد منطق الدردشة وتوصيل مصادر البيانات. تتم معالجة استعلامات المستخدم بواسطة خادم التطبيق، واسترداد المعلومات ذات الصلة من Azure AI Search وCosmos DB، والتي يتم إرسالها بعد ذلك إلى Azure OpenAI Services (ChatGPT) لإنشاء استجابات مخصصة. يضمن هذا النهج المختلط إرشادات لياقة بدنية دقيقة ومدركة للسياق وشخصية للمستخدمين.
نظرة عامة على التنفيذ:
استخراج البيانات واستيعابها:
الشكل 2. هندسة استخراج البيانات
- تبدأ العملية باستخدام برنامج Python النصي الذي يستخرج البيانات المنظمة وغير المنظمة من مصادر مختلفة. يتم بعد ذلك استيعاب هذه البيانات في نظامين تخزين مختلفين:
- تخزين Azure Blob: يستخدم للبيانات المنظمة، والتي يتم تقسيمها وفهرستها.
- Azure Cosmos DB (Gremlin API): يُستخدم للبيانات غير المنظمة، ويتم استيعابها كـ GraphDoc لتمكين الاسترداد المستند إلى الرسم البياني.
نهج RAG الهجين:
الشكل 3. بنية RAG الهجينة
- RAG (جيل الاسترجاع المعزز):
- يتم توصيل البيانات المنظمة التي يتم استيعابها في Azure Blob Storage بـ Azure AI Search للفهرسة والاسترداد.
- يعمل Azure AI Studio على تسهيل تقسيم البيانات وفهرستها، وتحديد منطق الدردشة، وإنشاء نقاط النهاية باستخدام Azure Prompt Flow.
- عند تلقي استعلام مستخدم، يقوم Azure AI Search باسترداد المعلومات ذات الصلة من البيانات المفهرسة.
- الرسم البياني RAG (الجيل المعزز لاسترجاع الرسم البياني):
- يقوم Azure Cosmos DB بتخزين البيانات غير المنظمة بتنسيق رسم بياني باستخدام Gremlin API. يسمح هذا الأسلوب للتطبيق بفهم العلاقات المعقدة بين الكيانات مثل المواد الغذائية والتمارين ومقاييس صحة المستخدم.
- يسترد Graph RAG المعرفة ذات الصلة بالسياق من قاعدة بيانات Azure Cosmos، والتي يتم دمجها بعد ذلك مع البيانات المنظمة لإنشاء استجابة محسنة.
الشكل 4. مثال على كيفية تخزين البيانات غير المنظمة كرسم بياني في Azure CosmoDB(Gremlin API)
استوديو أزور للذكاء الاصطناعي:
الشكل 5. بنية استوديو Azure AI
التدفق الفوري
قمنا بنشر نقطتي نهاية باستخدام Azure Prompt Flow . أحدهما هو نقطة نهاية نية إعادة الكتابة ، والآخر هو My Fitness Buddy . تم تصميم نقاط النهاية هذه لحل حالتي استخدام مختلفتين: تركز إحداهما على تحسين استرجاع المستندات من خلال إنشاء الاستعلامات، بينما تقدم الأخرى نصائح مخصصة للياقة البدنية ضمن حدود آمنة محددة مسبقًا مع قاعدة المعرفة الخاصة بـ RAG.
1. أعد كتابة نقطة النهاية المقصودة
الغرض : تم تصميم نقطة النهاية هذه للتعامل مع مهمة محددة: إنشاء استعلامات بحث بناءً على سؤال المستخدم وسجل المحادثة السابقة. من خلال الجمع بين "سؤال المستخدم الحالي" والسياق السابق، تقوم نقطة النهاية بإنشاء استعلام أساسي واحد يتضمن جميع التفاصيل الضرورية، بدون متغيرات. يُستخدم هذا في أنظمة استرجاع المستندات، حيث يؤدي إنشاء هذه الاستعلامات والنوايا الدقيقة إلى نتائج أكثر دقة.
الشكل 6. تدفق نقطة نهاية إعادة الكتابة
2. نقطة نهاية My Fitness Buddy
الغرض : نقطة النهاية الثانية هي My Fitness Buddy التي تقدم نصائح شخصية حول اللياقة البدنية وخطط التمرين ونصائح التغذية بناءً على مدخلات المستخدم. تمت برمجة المساعد لتجنب النصائح الطبية والالتزام فقط بمجموعة البيانات المقدمة للتأكد من أن جميع التوصيات آمنة ومحفزة وقائمة على الأدلة ويتم استرجاع قاعدة المعرفة لقطع المستندات التي تم تكوينها كفهارس بحث.
الشكل 7. تدفق نقطة نهاية My Fitness Buddy
تدفق التطبيق:
- يتفاعل المستخدم مع تطبيق MyFitnessBuddy من خلال واجهة chatbot المستندة إلى Python Streamlit.
- يقوم خادم التطبيق بمعالجة استعلام المستخدم وتوجيهه إلى نظام الاسترداد المناسب (Azure AI Search للبيانات المنظمة أو Azure Cosmos DB للبيانات غير المنظمة) بناءً على نوع الاستعلام.
- يتم استرداد المعلومات ذات الصلة من مصدر البيانات المحدد وإرسالها إلى Azure OpenAI Services (ChatGPT) بالإضافة إلى مطالبة مصممة لإنشاء استجابة مخصصة.
- يتم إرجاع الرد النهائي، المعزز بالمعلومات ذات الصلة بالسياق، إلى المستخدم عبر تطبيق Streamlit، مما يوفر نصائح وتوصيات مخصصة للياقة البدنية.
الشكل 8. التطبيق
الشكل 9. أداة اختبار لنقاط النهاية
التقنيات المستخدمة:
- تخزين البيانات واسترجاعها: Azure Blob Storage، وAzure Cosmos DB (Gremlin API)، وAzure AI Search.
- نماذج الذكاء الاصطناعي واللغة: خدمات Azure OpenAI (ChatGPT).
- معالجة البيانات والتدفق المنطقي: Azure AI Studio، Azure Prompt Flow.
- الواجهة الخلفية وخادم التطبيقات: Python لاستخراج البيانات ومعالجتها مسبقًا، مع نقاط تكامل متعددة لاستيعاب البيانات واسترجاعها.
الجمهور المستهدف:
- عشاق اللياقة البدنية: الأفراد المتحمسون للياقة البدنية ويبحثون عن إجراءات تمرين شخصية وخطط نظام غذائي لتحسين رحلة اللياقة البدنية الخاصة بهم.
- الأفراد المهتمين بالصحة: الأشخاص الذين يعطون الأولوية لنمط حياة صحي ويريدون الوصول بسهولة إلى معلومات غذائية دقيقة وتتبع السعرات الحرارية ونصائح غذائية مخصصة.
- المبتدئون في اللياقة البدنية: القادمون الجدد الذين يحتاجون إلى إرشادات حول بدء رحلة اللياقة البدنية، بما في ذلك إجراءات التمرين الأساسية والتوصيات الغذائية والإجابات على الأسئلة الشائعة المتعلقة باللياقة البدنية.
- المحترفون المشغولون: المستخدمون الذين لديهم وقت محدود للتخطيط للياقة البدنية والذين يسعون إلى الوصول المريح عند الطلب إلى إرشادات اللياقة البدنية المخصصة والإجابات السريعة على الاستفسارات المتعلقة بالصحة.
- الأفراد الذين لديهم أهداف صحية محددة: أولئك الذين لديهم أهداف لياقة بدنية أو ظروف صحية فريدة ويحتاجون إلى خطط ونصائح شخصية تراعي احتياجاتهم وتفضيلاتهم الخاصة.
الخلاصة والأعمال المستقبلية:
خاتمة
يوضح MyFitnessBuddy إمكانية الجمع بين تقنيات الذكاء الاصطناعي المتقدمة مثل الجيل المعزز للاسترجاع (RAG) والجيل المعزز للاسترجاع للرسم البياني (GRAG) لإنشاء مستشار لياقة بدنية مخصص للغاية ومدرك للسياق. ومن خلال الاستفادة من قدرات Azure AI ودمج مصادر البيانات المتعددة، يوفر التطبيق إجراءات تمرين مخصصة وخططًا غذائية واستجابات دقيقة لاستفسارات المستخدم. يعزز هذا النهج مشاركة المستخدم ورضاه من خلال تقديم إرشادات اللياقة البدنية المخصصة وذات الصلة.
العمل المستقبلي
- التخصيص المحسن: قم بتحسين النماذج لتوفير المزيد من التخصيص الدقيق بناءً على تعليقات المستخدم وسلوكه وتفضيلاته.
- دعم متعدد اللغات: تنفيذ إمكانات متعددة اللغات للوصول إلى جمهور أوسع على مستوى العالم.
- التحليلات المتقدمة: تطوير ميزات التحليلات المتقدمة لتزويد المستخدمين برؤى أعمق حول تقدم اللياقة البدنية وعاداتهم واتجاهاتهم.
- مصادر البيانات الموسعة: دمج مصادر بيانات إضافية مثل قواعد البيانات الطبية والمحتوى الذي ينشئه المستخدم لتعزيز قاعدة معارف التطبيق وتحسين دقة التوصيات.