($item['kp_code'] ?? '') . ' - ' . ($item['name'] ?? ''), $candidates ); $candidateText = implode("\n", array_filter($candidateLines)); $template = config('ai.knowledge_match_prompt'); if (!$template) { $template = <<listPrompts(type: 'question_enrich', active: 'yes'); $template = $promptService->getPromptContent('question_enrich_default') ?: config('ai.question_generation_prompt'); if (!$template) { $template = <<listPrompts(type: 'question_solution_regen', active: 'yes'); $template = $promptService->getPromptContent('question_solution_regen_default'); if (!$template) { $template = "请根据题干与答案生成解题思路,输出 JSON,包含 solution 与 steps。"; } $imageText = ''; if (!empty($images)) { $imageText = implode("\n", array_map('strval', $images)); } return str_replace( ['{stem}', '{provided_answer}', '{image_urls}'], [$stem, $answer, $imageText], $template ); } }