Пятьдесят второй урок курса по Python. Превращаем правила проекта в автоматические тесты: отделяем подготовку данных от файлов, проверяем обычный случай, границы и ожидаемые ошибки, а затем запускаем весь набор одной командой.
Пятьдесят первый урок курса по Python. Разделяем наблюдение, вычисленный вывод и объяснение причины. Код может подтвердить число и воспроизвести расчёт, но правдоподобная причинная история остаётся гипотезой, пока у неё нет отдельного источника и человеческой проверки.
Пятидесятый урок курса по Python. Даём модели только небольшую таблицу с идентификаторами источников, принимаем структурированные утверждения и сверяем каждое число с исходной записью. Модель предлагает формулировку, но число, единицу и год в итоговый текст подставляет наш код.
Сорок девятый урок курса по Python. Просим модель вернуть не свободный текст, а JSON по заданной схеме, разбираем его стандартным модулем `json` и проверяем библиотекой `jsonschema`. Три отдельные границы — синтаксис, структура и факты — не дают красивой строке незаметно попасть в отчёт.
Сорок восьмой урок курса по Python. Перестаём набирать запрос к модели одной случайной строкой: отделяем роль, задачу, данные и ограничения, фиксируем temperature, seed и предел ответа, а затем сохраняем весь запрос рядом с результатом. Одинаковый запрос становится проверяемым опытом — но не обещанием побитно одинакового текста.
Сорок седьмой урок курса по Python. Ставим Ollama, получаем первый ответ без API-ключа и разбираем путь запроса целиком: программа отправляет JSON на localhost, проверяет HTTP-ответ и только потом берёт текст модели. Данные остаются на вашем компьютере — если вы сами не открыли локальный порт наружу.