دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

بنّي وشغّل تطبيق تعلّم صغير على وي تشات مدعوم بالذكاء الاصطناعي

تعلّم كيفاش تهيّأ وتشغّل تطبيق التعلّم الذكي الصغير ديال قاعدة المعرفة بالذكاء الاصطناعي، وتربط الواجهة الخلفية FastAPI بالواجهة الأمامية Taro، وتتحقّق من الخدمة، وتنفّذ الاختبارات، وتوجّد الواجهة الخلفية المبنية على Docker للنشر.

بنّي وشغّل تطبيق تعلّم صغير على وي تشات بالذكاء الاصطناعي

شنو غادي تبني

AI Knowledge Base Smart Learning Mini App هو تطبيق ذكي للتعلّم داخل منظومة WeChat. يقدر المتعلّم يدخل موضوع ولا يحمّل وثائق خاصة، ومن بعد يستعمل مسارات مدعومة بالذكاء الاصطناعي باش يولّد الأسئلة، يتوصل بشرح فوري، ويراجع تقرير كيغطي مستوى التمكّن، والنقط الضعيفة، والخطوات المقترحة من بعد.

المشروع كيجمع بين نماذج اللغة الكبيرة، والبحث فالويب، والتوليد المعزّز بالاسترجاع. Tavily كيوفّر سياق حديث من الويب، بينما Chroma كيدعم الاسترجاع من ملفات PDF وWord وMarkdown وTXT اللي تم تحميلها.

الخصائص الرئيسية

  • توليد اختبارات حسب الموضوع: ولّد أسئلة للتعلّم انطلاقاً من موضوع كيحددو المستخدم.
  • تعزيز البحث فالويب: استعمل Tavily باش تزيد سياق محيّن.
  • التعلّم من قاعدة معرفة خاصة: حمّل وثائق PDF أو Word أو Markdown أو TXT واسترجع المحتوى المرتبط باستعمال RAG.
  • ملاحظات فورية: تحقّق من الأجوبة ورجّع الشروحات من بعد كل جواب.
  • تقارير التعلّم: حلّل مستوى التمكّن، حدّد النقط الضعيفة، وقدّم اقتراحات للدراسة.
  • رسومات توضيحية للأسئلة: ولّد صوراً مساعدة وخزّنها فـ Tencent Cloud COS.
  • دعم مستخدمي WeChat: وفّر تسجيل الدخول، وتاريخ التعلّم، ومراجعة التقارير.
  • النشر باستعمال الحاويات: نشّر الواجهة الخلفية عبر Docker على WeChat Cloud Run أو أي منصة متوافقة أخرى.

فهم البنية

الواجهة الأمامية للتطبيق المصغّر كتستعمل Taro 4 وReact 18 وTypeScript وSass. الواجهة الخلفية خدامة بـ Python 3.11 مع FastAPI وPydantic v2 وUvicorn. LangChain وLangGraph كينسّقو عمليات الذكاء الاصطناعي، ومعاهم DeepSeek وAlibaba Bailian ضمن منظومة النماذج والاسترجاع.

MySQL كيوفّر تخزين بيانات التطبيق، وTencent Cloud COS كيخزّن الرسومات التوضيحية المولّدة، وChroma كيقوم بدور مخزن المتجهات. المصادقة كتستعمل WeChat jscode2session وJWT. اختبارات الواجهة الخلفية كتستعمل pytest وpytest-asyncio.

تنظيم المستودع

.
├── backend/        # الواجهة الخلفية بـ FastAPI
├── frontend/       # الواجهة الأمامية للتطبيق المصغّر ديال WeChat المبني بـ Taro
├── docs/           # وثائق المشروع المحفوظة محلياً
├── openspec/       # ملفات المواصفات المحفوظة محلياً
└── prototypes/     # ملفات النماذج الأولية المحفوظة محلياً

المتطلبات المسبقة

قبل ما تبدا، ثبّت Python 3.11 وNode.js مع npm وWeChat DevTools. غادي تحتاج حتى لمعلومات الولوج للخدمات وقيم الإعدادات اللي كيتطلبها backend/.env.example. Docker ضروري غير ملي تكون واجد تبني ولا تنشر حاوية الواجهة الخلفية.

خلي مفاتيح API الحقيقية، وبيانات اعتماد قاعدة البيانات، وأسرار JWT، وبيانات اعتماد التخزين السحابي خارج نظام التحكّم فالإصدارات. خاص أسرار الإنتاج تدخل عبر منصة النشر.

الخطوة 1: إعداد الواجهة الخلفية

حلّ الطرفية، دخل لمجلد الواجهة الخلفية، وخلق بيئة Python معزولة. README كيعطي الإعداد التالي الموجّه لـ PowerShell:

cd backend
python -m venv venv
venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env

حلّ ملف .env الجديد ودخّل الإعدادات المطلوبة للنماذج اللي اخترتي، وتكامل Tavily، وقاعدة البيانات، والمصادقة، والاسترجاع المتجهي، وتخزين Tencent Cloud. استعمل backend/.env.example باعتبارو اللائحة المرجعية ديال المتغيرات المطلوبة.

تشغيل خدمة FastAPI

python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

الخيار --reload مفيد فالتطوير المحلي حيث Uvicorn كيعيد التشغيل ملي كيتبدّل كود الواجهة الخلفية. الربط مع 0.0.0.0 كيخلّي خدمة التطوير متاحة عبر واجهات الشبكة ديال الجهاز.

التحقّق من الواجهة الخلفية

من بعد التشغيل، حلّ توثيق API التفاعلي فـ http://localhost:8000/docs. وتقدر حتى تتحقّق من حالة الخدمة فـ http://localhost:8000/api/v1/health.

تحقّق من نقطة الحالة قبل ما تبدا تشخّص مشاكل الواجهة الأمامية. إلا ما كانتش متاحة، تأكّد باللي البيئة الافتراضية مفعّلة، والتبعيات تثبّتات بنجاح، وملف .env كاين، والمنفذ 8000 ما مستعملوش شي برنامج آخر.

الخطوة 2: بناء الواجهة الأمامية للتطبيق المصغّر ديال WeChat

خلّي الواجهة الخلفية خدامة، حلّ طرفية ثانية، وثبّت تبعيات الواجهة الأمامية:

cd frontend
npm install
npm run dev:weapp

أمر التطوير كيجمّع تطبيق Taro باش يخدم مع WeChat. منين يكمل التجميع، شغّل WeChat DevTools وحلّ المجلد المتولّد frontend/dist.

خلّي طرفية التجميع محلولة طول فترة التطوير باش يعاود يبني تغييرات الواجهة الأمامية. خاص خادم FastAPI يبقى خدام فطرفية خاصة به باش يقدر التطبيق المصغّر يوصل لوظائف الواجهة الخلفية.

الخطوة 3: جرّب مسار التعلّم

منين تكون الواجهة الأمامية والواجهة الخلفية خدامين، كيدعم المشروع جوج مسارات أساسية للتعلّم.

توليد اختبار انطلاقاً من موضوع

  1. دير تسجيل الدخول عبر مسار مستخدم WeChat.
  2. دخل المادة اللي بغيتي تقراها.
  3. ولّد أسئلة بمساعدة الذكاء الاصطناعي مبنية على داك الموضوع.
  4. صيفط الأجوبة وراجع الأجوبة والشروحات اللي ترجعو.
  5. كمّل جلسة الدراسة واطّلع على تقرير الذكاء الاصطناعي باش تحلّل مستوى التمكّن، والنقط الضعيفة، والتوصيات.

التعلّم من الوثائق الخاصة

  1. ختار وثيقة مدعومة بصيغة PDF ولا Word ولا Markdown ولا TXT.
  2. طلّعها لسيرورة قاعدة المعرفة ديال التطبيق.
  3. خلّي السيستيم يجيب السياق المناسب من الوثيقة عبر خطّ RAG ديالو.
  4. جاوب على الأسئلة اللي تولّدات وراجع الشروحات.
  5. استعمل التقرير الناتج باش تقرّر شنوما الأجزاء من المادة اللي خاصها مزيد ديال المراجعة.

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

الخطوة 4: شغّل مجموعة الاختبارات

شغّل اختبارات الواجهة الخلفية من مجلد backend:

cd backend
pytest

المشروع كيستعمل pytest وpytest-asyncio. شغّل المجموعة من بعد أي تغييرات فالواجهة الخلفية وقبل النشر، باش تكشف التراجعات فالسلوك المتزامن وغير المتزامن.

نصائح متقدمة

استعمل توثيق API أثناء التطوير

صفحة توثيق FastAPI مفيدة لفحص المسارات اللي كتوفّرها النسخة المشغّلة من المشروع. استعملها كمصدر الحقيقة، وما تفترضش حقول الطلب ولا مسارات نقاط النهاية اللي ما موثّقاش فـ README.

فرّق بين أسرار التطوير والإنتاج

استعمل ملف .env المحلي غير للتطوير. فالإنتاج، كوّن الأسرار عبر WeChat Cloud Run ولا المنصة المختارة للحاويات. ما ترفعش ملفات البيئة اللي معمّرة للمستودع.

ختار مصدر المعرفة المناسب

استعمل توليد المواضيع مع Tavily ملي كتكون الحداثة مهمة. استعمل سيرورة الوثائق ملي خاص الأسئلة تكون مبنية على مواد خاصة ولا مرتبطة بمنظمة معيّنة. الملفات المدعومة هي PDF وWord وMarkdown وTXT.

تحقّق من الخدمات على مراحل

  1. تأكّد باللي نقطة فحص الصحة كتجاوب.
  2. فحص توثيق FastAPI.
  3. شغّل pytest.
  4. كمبايل الواجهة الأمامية ديال Taro.
  5. حلّ frontend/dist فـ WeChat DevTools.
  6. جرّب تسجيل الدخول، وتوليد الاختبارات، والملاحظات، والسجل، ومراجعة التقارير مع الخدمات الخارجية المكوّنة.

هاد الترتيب كيسهّل التمييز بين مشاكل إعداد الواجهة الخلفية ومشاكل كمبايل الواجهة الأمامية ولا أدوات WeChat.

وجّد للنشر فالحاويات

المستودع فيه backend/Dockerfile وbackend/.dockerignore. هاد الملفات كتسمح بتغليف الواجهة الخلفية فحاوية Docker من أجل WeChat Cloud Run ولا أي منصة أخرى متوافقة.

قبل النشر، شغّل الاختبارات، وتحقّق باللي متغيّرات البيئة الضرورية للإنتاج متاحة عبر المنصة، وتجنّب تحط الأسرار فالصورة. تأكّد باللي التبعيات الخارجية بحال MySQL وTencent Cloud COS ومزوّدي النماذج وTavily ومصادقة WeChat قابلة للوصول من بيئة النشر.

الخلاصة

هاد المشروع كيوفّر أساس متكامل للتعلّم بمساعدة الذكاء الاصطناعي فـ WeChat: تطبيق مصغّر مبني بـ Taro وReact، وواجهة خلفية بـ FastAPI، وتوليد اختبارات مبني على المواضيع والوثائق، وشروحات فورية، وتقارير الدراسة، وسجل المستخدم، ونشر جاهز للحاويات. بدا بالتحقّق من الواجهة الخلفية، وكمبايل الواجهة الأمامية فـ WeChat DevTools، ومن بعد كوّن الخدمات الخارجية اللازمة لسيرورة التعلّم اللي اخترتي.