Саймон Уиллисон выпустил llm 0.33: объединение шаблонов и ключи для эмбеддингов
22 августа 2026 года Саймон Уиллисон выпустил версию 0.33 своей консольной утилиты и Python-библиотеки llm, инструмента для работы с большими языковыми моделями из командной строки. Днём раньше он уже выпустил промежуточный патч 0.32.1 для той же проблемы, но версия 0.33 стала более полным решением.
Главное изменение: команды llm embed и llm embed-multi теперь принимают параметр --key, чтобы передавать API-ключ по месту вызова, не меняя общее состояние модели. То же самое доступно и в Python: методы EmbeddingModel.embed(), EmbeddingModel.embed_multi(), Collection.embed() и Collection.embed_multi() тоже принимают key=, резолвленный для конкретного вызова ключ пробрасывается в плагины эмбеддинга. Существующие плагины, которые читают self.key, продолжают работать благодаря механизму обратной совместимости. Таким образом модели эмбеддинга получили тот же паттерн работы с ключами, что и обычные модели llm. Изменение внёс участник по нику ChrisJr404 (issue/PR #757 и #1620).
Вторая новая возможность, флаг -t/--template команды llm prompt теперь можно указывать несколько раз, и шаблоны объединятся по порядку. Это позволяет собрать конфигурацию модели и её параметры в одном шаблоне, а текст запроса, в другом, и комбинировать их на лету. Пример из релиза: сохранить шаблон lhigh с моделью gpt-5.6-luna и уровнем reasoning_effort high, отдельно сохранить шаблон pelican с текстом запроса «нарисуй SVG пеликана на велосипеде», а затем запустить их вместе командой llm -t lhigh -t pelican.
Третье изменение касается моделей с поддержкой рассуждений через Responses API: они получили опцию reasoning_summary со значениями auto, concise и detailed. Она доступна через команду llm openai endpoint --responses (issue #1600) и, по словам автора, особенно полезна для проверки моделей, которые имитируют собственный Responses API от OpenAI.
Ключевые факты
- 22 августа 2026 года вышла версия 0.33 инструмента llm; накануне для той же проблемы был выпущен промежуточный патч 0.32.1.
- Команды llm embed и llm embed-multi (и соответствующие методы Python-библиотеки) получили параметр --key/key= для передачи API-ключа по месту вызова без изменения состояния модели; изменение внёс участник ChrisJr404 (#757, #1620).
- Флаг -t/--template команды llm prompt теперь можно повторять, шаблоны с конфигурацией модели и с текстом запроса объединяются и выполняются вместе.
- Модели с рассуждениями через Responses API получили опцию reasoning_summary со значениями auto, concise, detailed (#1600).
- Старые плагины, читающие self.key, продолжают работать благодаря обратной совместимости.
Почему это важно
llm, известный open-source инструмент для работы с языковыми моделями из терминала и Python. Релиз устраняет неудобство с передачей ключей эмбеддинга и добавляет гибкое объединение шаблонов, что упрощает повседневные сценарии разработчиков, использующих сразу несколько моделей и провайдеров.
Кому это важно
Разработчикам и исследователям, которые пользуются llm как обёрткой над разными языковыми и эмбеддинг-моделями из командной строки или Python-кода, а также авторам плагинов для llm, которым больше не нужно переписывать код ради нового способа передачи ключей.
Как это применить
Обновиться до llm 0.33; при работе с эмбеддингами передавать ключ через --key (или key= в Python) вместо общего состояния модели; сохранять отдельные шаблоны для конфигурации модели и для текста запроса и комбинировать их повторяющимся флагом -t; для моделей с поддержкой Responses API включать reasoning_summary через llm openai endpoint --responses.
Можно ли доверять
Информация взята из официальных заметок к релизу, написанных самим автором инструмента, Саймоном Уиллисоном, со ссылками на конкретные номера issue и PR (#757, #1620, #1600) и именем участника, предложившего исправление, это первичный источник, а не пересказ третьих лиц.
Риски и подводные камни
В заметках к релизу не раскрыто, что именно исправлял промежуточный патч 0.32.1, и не объяснено, чем отличаются друг от друга значения auto, concise и detailed у опции reasoning_summary, эти детали стоит смотреть в документации перед использованием.