মূল কনটেন্টে যান
এআই টিউটোরিয়াল

এআই-চালিত উইচ্যাট লার্নিং মিনি অ্যাপ তৈরি ও চালান

এআই নলেজ বেস স্মার্ট লার্নিং মিনি অ্যাপ কনফিগার ও চালানো, এর FastAPI ব্যাকএন্ডকে Taro ফ্রন্টএন্ডের সঙ্গে সংযুক্ত করা, পরিষেবা যাচাই, পরীক্ষা চালানো এবং ডকার-ভিত্তিক ব্যাকএন্ড ডিপ্লয়মেন্টের জন্য প্রস্তুত করা শিখুন।

এআই-চালিত উইচ্যাট লার্নিং মিনি অ্যাপ তৈরি ও চালান

আপনি যা তৈরি করবেন

AI Knowledge Base Smart Learning Mini App হলো WeChat ইকোসিস্টেমের জন্য একটি বুদ্ধিমান পড়াশোনার অ্যাপ্লিকেশন। একজন শিক্ষার্থী কোনো বিষয় লিখতে বা ব্যক্তিগত নথি আপলোড করতে পারবেন, এরপর AI-সহায়িত ওয়ার্কফ্লো ব্যবহার করে প্রশ্ন তৈরি করতে, তাৎক্ষণিক ব্যাখ্যা পেতে এবং দক্ষতা, দুর্বল ক্ষেত্র ও পরবর্তী করণীয় নিয়ে একটি প্রতিবেদন পর্যালোচনা করতে পারবেন।

প্রকল্পটি বৃহৎ ভাষা মডেল, ওয়েব সার্চ এবং retrieval-augmented generation সমন্বয় করে। 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 AI অপারেশন সমন্বয় করে; মডেল ও তথ্য পুনরুদ্ধার স্ট্যাকে DeepSeek এবং Alibaba Bailian অন্তর্ভুক্ত রয়েছে।

MySQL অ্যাপ্লিকেশনের ডেটা সংরক্ষণ করে, Tencent Cloud COS তৈরি করা চিত্র সংরক্ষণ করে এবং Chroma ভেক্টর স্টোর হিসেবে কাজ করে। প্রমাণীকরণে WeChat jscode2session এবং JWT ব্যবহার করা হয়। ব্যাকএন্ড পরীক্ষায় pytest ও pytest-asyncio ব্যবহার করা হয়।

রিপোজিটরি বিন্যাস

.
├── backend/        # FastAPI ব্যাকএন্ড
├── frontend/       # Taro-ভিত্তিক WeChat মিনি অ্যাপ ফ্রন্টএন্ড
├── docs/           # স্থানীয়ভাবে রাখা প্রকল্পের ডকুমেন্টেশন
├── openspec/       # স্থানীয়ভাবে রাখা স্পেসিফিকেশন ফাইল
└── prototypes/     # স্থানীয়ভাবে রাখা প্রোটোটাইপ ফাইল

পূর্বশর্ত

শুরু করার আগে Python 3.11, npm-সহ Node.js এবং WeChat DevTools ইনস্টল করুন। backend/.env.example-এ প্রত্যাশিত সার্ভিসের ক্রেডেনশিয়াল ও কনফিগারেশন মানও আপনার প্রয়োজন হবে। ব্যাকএন্ড কনটেইনার তৈরি বা ডিপ্লয় করার সময়ই কেবল Docker প্রয়োজন।

প্রকৃত API কী, ডেটাবেস ক্রেডেনশিয়াল, JWT সিক্রেট এবং ক্লাউড স্টোরেজ ক্রেডেনশিয়াল ভার্সন কন্ট্রোলের বাইরে রাখুন। প্রোডাকশন সিক্রেট ডিপ্লয়মেন্ট প্ল্যাটফর্মের মাধ্যমে ইনজেক্ট করা উচিত।

ধাপ ১: ব্যাকএন্ড কনফিগার করুন

একটি টার্মিনাল খুলে backend ডিরেক্টরিতে প্রবেশ করুন এবং একটি বিচ্ছিন্ন 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-এ বাইন্ড করলে মেশিনের নেটওয়ার্ক ইন্টারফেসগুলোর মাধ্যমে ডেভেলপমেন্ট সার্ভিসটি ব্যবহার করা যায়।

ব্যাকএন্ড যাচাই করুন

চালু হওয়ার পর http://localhost:8000/docs-এ ইন্টার‌অ্যাক্টিভ API ডকুমেন্টেশন খুলুন। সার্ভিসের স্বাস্থ্য http://localhost:8000/api/v1/health-এও পরীক্ষা করতে পারেন।

ফ্রন্টএন্ডে সমস্যা খোঁজার আগে হেলথ এন্ডপয়েন্ট যাচাই করুন। এটি অনুপলব্ধ হলে নিশ্চিত করুন যে ভার্চুয়াল পরিবেশ সক্রিয়, নির্ভরতাগুলো সফলভাবে ইনস্টল হয়েছে, .env ফাইলটি রয়েছে এবং 8000 পোর্টটি অন্য কোনো প্রক্রিয়া ব্যবহার করছে না।

ধাপ ২: WeChat মিনি অ্যাপ ফ্রন্টএন্ড তৈরি করুন

ব্যাকএন্ড চালু রেখে দ্বিতীয় একটি টার্মিনাল খুলুন এবং ফ্রন্টএন্ডের নির্ভরতাগুলো ইনস্টল করুন:

cd frontend
npm install
npm run dev:weapp

ডেভেলপমেন্ট কমান্ডটি WeChat-এর জন্য Taro অ্যাপ্লিকেশন কম্পাইল করে। কম্পাইল সম্পন্ন হলে WeChat DevTools চালু করুন এবং তৈরি হওয়া frontend/dist ডিরেক্টরিটি খুলুন।

ডেভেলপমেন্টের সময় কম্পাইলার টার্মিনালটি খোলা রাখুন, যাতে ফ্রন্টএন্ডের পরিবর্তনগুলো পুনরায় বিল্ড করা যায়। মিনি অ্যাপটি যেন ব্যাকএন্ডের কার্যকারিতা ব্যবহার করতে পারে, সে জন্য FastAPI সার্ভারটি নিজস্ব টার্মিনালে চালু রাখুন।

ধাপ ৩: শেখার ওয়ার্কফ্লো ব্যবহার করে দেখুন

ফ্রন্টএন্ড ও ব্যাকএন্ড চালু হলে প্রকল্পটি দুটি প্রধান শেখার পথ সমর্থন করে।

কোনো বিষয় থেকে কুইজ তৈরি করুন

  1. WeChat ব্যবহারকারী প্রবাহের মাধ্যমে লগইন করুন।
  2. আপনি যে বিষয় পড়তে চান তা লিখুন।
  3. বিষয়টির ভিত্তিতে AI-সহায়িত প্রশ্ন তৈরি করুন।
  4. উত্তর জমা দিন এবং প্রদর্শিত উত্তর ও ব্যাখ্যা পর্যালোচনা করুন।
  5. পড়াশোনার সেশন সম্পন্ন করুন এবং দক্ষতা বিশ্লেষণ, দুর্বল দিক ও সুপারিশসহ AI প্রতিবেদন দেখুন।

ব্যক্তিগত নথি থেকে শিখুন

  1. সমর্থিত PDF, Word, Markdown বা TXT ডকুমেন্ট নির্বাচন করুন।
  2. অ্যাপ্লিকেশনের নলেজ-বেস ওয়ার্কফ্লোতে এটি আপলোড করুন।
  3. সিস্টেমকে তার RAG পাইপলাইনের মাধ্যমে প্রাসঙ্গিক ডকুমেন্টের প্রসঙ্গ সংগ্রহ করার অনুমতি দিন।
  4. উৎপন্ন প্রশ্নগুলোর উত্তর দিন এবং ব্যাখ্যাগুলো পর্যালোচনা করুন।
  5. উপকরণের কোন অংশগুলো আরও পড়াশোনা প্রয়োজন তা নির্ধারণ করতে তৈরি প্রতিবেদনটি ব্যবহার করুন।

বিষয়ভিত্তিক শেখায় সাম্প্রতিক ওয়েব প্রসঙ্গ যোগ করতে Tavily ব্যবহার করা যেতে পারে। ডকুমেন্টভিত্তিক শেখায় আপলোড করা ব্যক্তিগত উপকরণকে retrieval-এর ভিত্তি হিসেবে ব্যবহার করা হয়। সুনির্দিষ্টভাবে কোন আচরণ উপলভ্য হবে, তা backend পরিবেশে কনফিগার করা পরিষেবা ও ক্রেডেনশিয়ালের ওপর নির্ভর করে।

ধাপ 4: টেস্ট স্যুট চালান

backend ডিরেক্টরি থেকে backend টেস্ট চালান:

cd backend
pytest

প্রকল্পটি pytest এবং pytest-asyncio ব্যবহার করে। backend-এ পরিবর্তন করার পরে এবং deployment-এর আগে স্যুটটি চালান, যাতে synchronous ও asynchronous আচরণের regression ধরা পড়ে।

উন্নত টিপস

উন্নয়নের সময় API ডকুমেন্টেশন ব্যবহার করুন

চলমান প্রকল্পের সংস্করণে উন্মুক্ত route-গুলো পরিদর্শনের জন্য FastAPI-এর documentation page উপযোগী। README-তে নথিভুক্ত নয় এমন request field বা endpoint path অনুমান না করে এটিকেই নির্ভরযোগ্য তথ্যের উৎস হিসেবে ব্যবহার করুন।

Development ও Production Secret আলাদা রাখুন

স্থানীয় .env ফাইল শুধু development-এর জন্য ব্যবহার করুন। production-এ WeChat Cloud Run বা নির্বাচিত container platform-এর মাধ্যমে secret কনফিগার করুন। পূরণ করা environment file repository-তে commit করবেন না।

উপযুক্ত Knowledge Source নির্বাচন করুন

সাম্প্রতিকতা গুরুত্বপূর্ণ হলে Tavily দিয়ে topic generation ব্যবহার করুন। প্রশ্নগুলো ব্যক্তিগত বা প্রতিষ্ঠান-নির্দিষ্ট উপকরণের ভিত্তিতে তৈরি হওয়া উচিত হলে document workflow ব্যবহার করুন। সমর্থিত upload হলো PDF, Word, Markdown এবং TXT file।

স্তরভিত্তিকভাবে পরিষেবা যাচাই করুন

  1. health endpoint সাড়া দিচ্ছে কি না নিশ্চিত করুন।
  2. FastAPI documentation পরিদর্শন করুন।
  3. pytest চালান।
  4. Taro frontend compile করুন।
  5. WeChat DevTools-এ frontend/dist খুলুন।
  6. কনফিগার করা external service ব্যবহার করে login, quiz generation, feedback, history এবং report review পরীক্ষা করুন।

এই ক্রম অনুসরণ করলে backend configuration সমস্যা, frontend compilation সমস্যা এবং WeChat tooling সমস্যার মধ্যে পার্থক্য করা সহজ হয়।

Container Deployment-এর জন্য প্রস্তুত হন

রিপোজিটরিতে backend/Dockerfile এবং backend/.dockerignore রয়েছে। এই ফাইলগুলোর মাধ্যমে backend-কে WeChat Cloud Run বা অন্য কোনো সামঞ্জস্যপূর্ণ platform-এর জন্য Docker container হিসেবে প্যাকেজ করা যায়।

Deployment-এর আগে test চালান, platform-এর মাধ্যমে প্রয়োজনীয় production environment variable পাওয়া যাচ্ছে কি না যাচাই করুন এবং image-এ secret রাখবেন না। MySQL, Tencent Cloud COS, model provider, Tavily এবং WeChat authentication-এর মতো external dependency deployment environment থেকে পৌঁছানো যাচ্ছে কি না নিশ্চিত করুন।

উপসংহার

এই প্রকল্পটি WeChat-এ AI-সহায়িত শেখার জন্য একটি সম্পূর্ণ ভিত্তি প্রদান করে: Taro ও React mini app, FastAPI backend, topic ও document-based quiz generation, তাৎক্ষণিক ব্যাখ্যা, study report, user history এবং container-ready deployment। প্রথমে backend যাচাই করুন, WeChat DevTools-এ frontend compile করুন, তারপর আপনার নির্বাচিত learning workflow-এর জন্য প্রয়োজনীয় external service কনফিগার করুন।