
Сможете ли вы найти пять ошибок в Python‑коде, который вызывает LLM
badcasedaily1 10 минут назад Сможете ли вы найти пять ошибок в Python‑коде, который вызывает LLM Средний 9 мин 223 Блог компании OTUS Python * Программирование * Искусственный интеллект Туториал Привет, Хабр! Вызов...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: badcasedaily1 10 минут назад Сможете ли вы найти пять ошибок в Python‑коде, который вызывает LLM Средний 9 мин 223 Блог компании OTUS Python * Программирование * Искусственный интеллект Туториал Привет, Хабр! Вызов языковой модели давно стал обычной строчкой в любом коде. Классификация тикетов, разбор писем, извлечение полей из накладных, генерация описаний для каталога — всё это пишется в три строки: импортировали клиент, отдали промпт, забрали response.
Библиотеки удобные, документация подробная, туториалов вагон. Только все туториалы заканчиваются там, где начинается настоящая работа. Они показывают, как получить ответ.
Технические детали
Они не показывают, что будет, когда ответов нужно пятьсот тысяч. Когда провайдер отвечает 429. Когда клиент отвалился по таймауту, а модель дописала ответ до конца и деньги с вас взяли.
Когда один и тот же промпт при temperature=0 два раза подряд отдаёт разные строки, и в CI краснеет тест, написанный на равенство. Забавно, что с обычными ненадёжными зависимостями питонист управляется отлично. Ставит таймаут на requests, вешает retry, помнит про идемпотентность, кеширует, следит за пулом соединений.
А LLM‑клиент попадает в код так, будто это локальная функция: без таймаута, без ограничения конкурентности, без всякой оглядки на то, что она недетерминированная, платная и медленная. В статье рассмотрим пять мест, где это вылезает. gather, который выжигает квотуПервый подход к пакетной обработке всегда выглядит так.
Отраслевые последствия
Есть десять тысяч отзывов, каждый надо классифицировать, синхронный цикл считает это до вечера. async def classify(text: str) -> str: resp = await client. create( model=MODEL, messages=, ) return resp.
content results = await asyncio. gather(*)Коротко, красиво, но не работает. gather запускает десять тысяч корутин почти одновременно, клиент пытается их отправить, провайдер отвечает лавиной 429.
И тут неудачные запросы тоже съедают лимит. Чем сильнее вы долбитесь, тем меньше проходит. Задача на десять минут не заканчивается никогда.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





