このプロジェクトについて

LearnMate AIは、学習教材をSpacesとProjectsに整理し、アップロードしたPDFを処理し、アップロードされたコンテンツのみからページ引用付きで質問に回答するTutorを提供するAI学習コンパニオンです。教材が質問をカバーしていない場合、システムは明示的に「十分な証拠がない」という応答を返します。Quizは弱点の概念をターゲットにし、自由記述式の回答を採点してフィードバックを提供し、概念ごとのMasteryスコアを更新します。バックグラウンドジョブはユーザー自身の教材に基づいたRecommendationsを生成し、Growthダッシュボードが傾向を表示します。 アーキテクチャは、React/Viteフロントエンド、Node.js/Express API、BullMQバックグラウンドワーカーを組み合わせています。PDFはページごとに処理されます:テキスト抽出、チャンキング、BAAI/bge-small-en-v1.5によるpgvectorへのエンベディング、概念抽出を行います。Tutorの応答は、プロジェクトのチャンクに対する類似性検索と、証拠の十分性を強制するスキーマ検証済みJSONを使用します。Quizの質問選択は、習熟度ギャップ、練習不足、新しさ、間違いによって概念をスコアリングします。Masteryは、新しい証拠を60/40の重み付けで適用する追記専用の履歴を使用します。 スタックには、PrismaとPostgreSQL(Neon)およびpgvector、ジョブキュー用のRedis(Upstash)、LLM呼び出し用のGroq、ホスト型エンベディング用のHugging Face、PDFストレージ用のCloudinary、HTTP-only Cookieを使用したJWT認証が含まれます。ローカルセットアップには、Node.js 20+、pgvector対応のPostgresデータベース、Redis、Groq、Hugging Face、CloudinaryのAPIキーが必要です。プロジェクトには、クロスユーザー分離、管理者アクセス、習熟度計算、適応型選択、Tutorの根拠性、教材処理のべき等性をカバーする実際のインフラストラクチャに対する統合テストが含まれています。デプロイはVercel(フロントエンド)とRender(APIおよびワーカープロセスの統合)について文書化されています。