Implement Server-Side AI Question Bank Generator, Adaptive Weakness Sampling 60/40, and Curriculum Studio One-Click Generation
This commit is contained in:
@@ -298,4 +298,32 @@ class CurriculumController
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate & Refresh AI Question Bank for any Unit or Lesson (Triggered from Curriculum Studio)
|
||||
* POST /api/curriculum/generate-questions
|
||||
*/
|
||||
public function generateQuestionBank(Request $request, Response $response): void
|
||||
{
|
||||
$body = $request->getBody();
|
||||
$unitPath = $body['unit_path'] ?? 'grade_10/math_10/semester_1/unit_01';
|
||||
$courseId = (int)($body['course_id'] ?? 1);
|
||||
$count = (int)($body['count'] ?? 50);
|
||||
|
||||
try {
|
||||
require_once __DIR__ . '/../Services/AiQuestionBankGeneratorService.php';
|
||||
$result = \App\Services\AiQuestionBankGeneratorService::generateUnitQuestionBank($unitPath, $courseId, $count);
|
||||
|
||||
$response->json([
|
||||
'status' => 'success',
|
||||
'message' => "تم توليد وتحديث بنك الأسئلة بالذكاء الاصطناعي بنجاح ({$result['total_in_bank']} سؤالاً معيارياً في قاعدة البيانات)!",
|
||||
'data' => $result
|
||||
]);
|
||||
} catch (\Throwable $e) {
|
||||
$response->status(500)->json([
|
||||
'status' => 'error',
|
||||
'message' => 'تعذر توليد بنك الأسئلة: ' . $e->getMessage()
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user