Извлечение JSON: сначала проверка структуры, затем выбор модели
Синтетический документ, ожидаемые поля, проверка ответа и метод сравнения без вымышленных результатов моделей.
Что проверено. Сверка с опубликованным контрактом Kvantora. Платный вызов модели в рамках этой проверки не выполнялся.
Синтетический пример не подтверждает качество OCR, обработки PDF или конкретной модели. JSON-парсинг проверяет форму, а не истинность ответа.
Задайте проверяемый вход и ожидаемый выход
Начните с небольшого документа, где известны правильные значения. Например: «Заказ K-42. Две коробки по 350 рублей. Доставка не указана». Ожидаются номер K-42, количество 2, цена единицы 350 и стоимость товаров 700. Не подставляйте придуманный адрес, налог или срок доставки.
В тестовом наборе должны быть пропущенные поля, несколько сумм в одном абзаце, десятичные числа и противоречие между таблицей и итогом. Храните синтетический вход отдельно от ожидаемого JSON. Не публикуйте документы клиентов как примеры.
{
"order_id": "K-42",
"quantity": 2,
"unit_price_rub": 350,
"goods_total_rub": 700,
"delivery_rub": null
}Отделите валидный JSON от правильных данных
Для поддержанной операции передайте response_format: {type: "json_object"}. Этот режим не обещает произвольную JSON Schema. После ответа проверьте типы, обязательные поля, допустимые значения и арифметику своим кодом.
Если quantity оказался строкой, не исправляйте значение незаметно. Зафиксируйте ошибку структуры. Если сумма отличается от произведения цены и количества, направьте документ на проверку. Программа должна уметь отказаться от автоматического решения.
const value = JSON.parse(answer);
const correct = value.order_id === 'K-42'
&& value.quantity === 2
&& value.unit_price_rub === 350
&& value.goods_total_rub === 700
&& value.delivery_rub === null;
if (!correct) throw new Error('Нужна проверка исходного документа');Сравните модели по ошибкам на одном наборе
Для каждого кандидата сохраните API ID, параметры, дату, число запусков, ответ, класс ошибки и подтверждённый расход. Считайте отдельно долю валидных JSON и долю полностью правильных документов: первое число обычно выглядит лучше, но не решает рабочую задачу.
Неизвестный исход запроса не превращайте в нулевую стоимость. Укажите открытый резерв отдельно. Если один кандидат проверен на десяти коротких документах, а другой на длинных отчётах, сравнение цены и качества некорректно. Здесь нет рейтинга моделей: опубликован метод, который можно повторить.
Источники и повторная проверка
При изменении API-контракта, доступных параметров, тарифа или версии клиента пример нужно проверить повторно. Редакционная правка сама по себе не подтверждает новый технический тест.