Перейти к содержанию

Smart questions

Генерация асинхронная: статус и результат - методом «Статус генерации» (раздел «ИИ-генерации»).

Создание вопросов

Создаёт вопросы с ответами и пояснениями по учебному материалу.

Запрос: POST {API_URL}/v1/smart-questions, авторизация - токен, тело - multipart/form-data.

Параметр Тип Описание
file* file Материал, .docx или .pdf, до 20 МБ
difficulty string easy, medium (по умолчанию) или hard
question_count integer Сколько вопросов: 1-7, по умолчанию 5
question_groups array Виды заданий, поле повторяется для каждого: question_groups=selection&question_groups=matching; без него ИИ выбирает сам
topic string Тема, до 255 символов; без неё ИИ определит тему по материалу
instruction string Пожелания, до 1000 символов
grade_level integer Класс, 1-12
start_page integer Первая страница диапазона, от 1
end_page integer Последняя страница диапазона, не меньше start_page; без границ - весь файл, можно задать одну

Виды заданий: selection - выбор ответа, matching - сопоставление, completion - дополнить, ordering - порядок, classification - классификация, short_written_answer - короткий письменный ответ, application - применение знаний.

Ответ 202: объект «Генерация», kind: "smart_questions". Результат - result.questions:

Параметр Тип Описание
questions[].question_text* string Текст вопроса
questions[].question_type* string closed - с вариантами, open - свободный ответ
questions[].question_category* string Вид задания внутри группы, например multiple_choice, true_false, match_items
questions[].options array Варианты closed вопроса; null у open
questions[].options[].label* string Метка варианта: A, B, ...
questions[].options[].text* string Текст варианта
questions[].correct_answer* string Метка верного варианта у closed, образец ответа у open
questions[].explanation* string Пояснение по материалу
{
  "questions": [
    {
      "question_text": "Какая дробь равна 1/2?",
      "question_type": "closed",
      "question_category": "multiple_choice",
      "options": [{"label": "A", "text": "2/4"}, {"label": "B", "text": "2/3"}],
      "correct_answer": "A",
      "explanation": "2/4 сокращается до 1/2."
    }
  ]
}

Если в материале нет учебного содержания, генерация завершится failed. Распечатать вопросы можно методом «Бланк вопросов».

Бланк вопросов

Возвращает PDF для печати: шапка с логотипом школы и полями для имени ученика, вопросы, а на отдельной странице - ответы с пояснениями. Вопросы присылает клиент, обычно result.questions генерации, в том числе поправленные учителем; ИИ не вызывается, бланк собирается сразу.

Запрос: POST {AI_URL}/v1/smart-questions/pdf, авторизация - токен.

Параметр Тип Описание
questions* array 1-30 вопросов в формате result.questions
topic string Заголовок бланка и имя файла, до 255 символов; без него заголовок - «Вопросы по материалу»
grade_level integer Класс в шапке, 1-12
difficulty string Сложность в шапке: easy, medium или hard
{
  "topic": "Дроби",
  "grade_level": 5,
  "difficulty": "medium",
  "questions": [
    {
      "question_text": "Какая дробь равна 1/2?",
      "question_type": "closed",
      "question_category": "multiple_choice",
      "options": [{"label": "A", "text": "2/4"}, {"label": "B", "text": "2/3"}],
      "correct_answer": "A",
      "explanation": "2/4 сокращается до 1/2."
    }
  ]
}

Вид вопроса на бланке зависит от question_category: варианты с кружками для выбора, с квадратиками, если верных несколько; карточки для сопоставления, порядка и пропусков; таблица-сортировка для классификации; линейки для письменного ответа.

Ответ 200: файл application/pdf как вложение, имя файла - по теме.

Код ошибки Когда
401 Нет токена или он недействителен
422 Неверное тело