Вызов языковой модели в Python давно выглядит рутиной: импорт клиента, промпт, ответ. Но Хабр обратил внимание на то, что такой запрос часто пишут как обращение к локальной функции — без таймаутов, повторов и оглядки на цену. С обычными ненадёжными зависимостями питонист аккуратен, а с моделью почему-то нет.
Последствия проявляются по очереди. asyncio.gather способен запустить десять тысяч корутин разом, провайдер отвечает лавиной отказов, и неудачные запросы всё равно расходуют лимит. Клиентский таймаут срабатывает, а модель дописывает ответ до конца — токены считают все, так что одна использованная генерация может обойтись как четыре. Отдельная ловушка — тест на равенство строк: он зелёный ровно до дня, когда один и тот же промпт с нулевой температурой вдруг отдаёт другой ответ.
В материале обещаны пять конкретных мест, где сетевой поход мстит за пренебрежение к своей природе. Общий вывод простой: к вызову модели стоит относиться как к платному, медленному и недетерминированному внешнему сервису, а не как к строчке, которая просто работает.
Источник: Telegram: Хабр





Комментарии 10