feat: редизайн страницы создания/редактирования теста

- TestForm: смысловые блоки «Метаинформация» / «Версии теста» / «Содержание» / команды
- AI-генерация: мини-форма из 3 полей (тема, число вопросов, число вариантов)
- Кнопка «Проверить тест» переехала в нижнюю панель команд
- Backend: GenerateRequest принимает answers_count, передаётся в промпт
- Убрано упоминание API-ключа в fallback-сообщении формы

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Aleksey Razorvin
2026-04-25 16:44:34 +05:00
parent f6fc92298a
commit 51df045220
6 changed files with 335 additions and 33 deletions
+7 -2
View File
@@ -33,7 +33,12 @@ async def check_connection(db: AsyncSession) -> str:
return response.choices[0].message.content.strip()
async def generate_questions(db: AsyncSession, topic: str, count: int = 7) -> list[dict]:
async def generate_questions(
db: AsyncSession,
topic: str,
count: int = 7,
answers_count: int = 3,
) -> list[dict]:
api_key = await _get_api_key(db)
client = _client(api_key)
@@ -54,7 +59,7 @@ async def generate_questions(db: AsyncSession, topic: str, count: int = 7) -> li
}}
Требования:
- Минимум 3 варианта ответа на каждый вопрос
- Ровно {answers_count} вариантов ответа на каждый вопрос
- Ровно один правильный ответ на каждый вопрос
- Вопросы должны проверять практические знания по теме
- Варианты ответов должны быть правдоподобными"""