simonw/llm

Доступ к большим языковым моделям из командной строки

Инструменты⭐ 12 538Pythonпоследний релиз: 0.35
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

LLM — это CLI-инструмент и Python-библиотека для взаимодействия с крупными языковыми моделями (LLM) через терминал.

Зачем нужен

Инструмент позволяет запускать промпты, управлять ключами API и работать с моделями от OpenAI, Anthropic, Google и Meta, а также локально запущенными моделями через плагины. Он полезен для автоматизации запросов к ИИ, логирования диалогов в SQLite и интеграции LLM в скрипты.

Что можно реализовать

  • Быстрый запуск промптов и получение ответов прямо из командной строки
  • Извлечение текста с изображений или анализ файлов через stdin
  • Запуск интерактивного чата с моделями (например, GPT-4.1) в терминале
  • Генерация и хранение эмбеддингов для поиска по данным
  • Извлечение структурированных данных из неструктурированного текста с помощью схем

Ключевые возможности

  • Поддержка множества провайдеров: OpenAI, Anthropic, Google Gemini, Meta Llama
  • Локальный запуск моделей через плагины (например, Ollama)
  • Автоматическое сохранение истории промптов и ответов в SQLite
  • Возможность передачи файлов и изображений в качестве входных данных
  • Поддержка инструментов (tools) для расширения возможностей моделей

👤 Кому подойдёт: разработчики, DevOps-инженеры, исследователи данных

Релизы

0.35minor
🕐 14 дн назад · релиз на GitHub ↗

Добавлена поддержка новой модели GPT-6-astra от OpenAI в CLI-инструменте llm.

  • Added: Добавлена поддержка модели GPT-6-astra от OpenAI.
0.34minor
🕐 19 дн назад · релиз на GitHub ↗

Добавлена информация о длительности в логи, улучшена производительность и стабильность работы CLI.

  • Added: В вывод логов добавлена длительность ответа в миллисекундах и человекочитаемом формате.
  • Fixed: Значительно ускорена работа с длинными диалогами за счёт кэширования запросов к моделям.
  • Fixed: Оптимизировано создание классов опций OpenAI через кэширование, что ускоряет работу плагинов.
  • Fixed: Исправлена обработка CRLF-разделителей строк при извлечении кода через флаг --extract.
  • Fixed: Некорректная схема DSL теперь вызывает понятную ошибку CLI вместо Python-трейсбека.
0.33minor
🕐 1 мес назад · релиз на GitHub ↗

Обновление библиотеки OpenAI, поддержка ключей для эмбеддингов, детализация логов и улучшенная валидация схем.

  • Added: Переход на OpenAI Python library 3.x и замена httpx на httpx2.
  • Added: Добавлен флаг --key для команд llm embed и llm embed-multi, а также поддержка параметра key в Python-методах.
  • Added: Команда llm logs теперь показывает результаты серверных вызовов инструментов в разделе Tool results.
  • Added: Шаблонизация: команда llm prompt -t теперь поддерживает повторное указание для комбинирования шаблонов.
  • Fixed: Исправлена ошибка в llm logs --data-ids, где conversation_id ошибочно дублировал ID ответа.
0.32.1patch
🕐 1 мес назад · релиз на GitHub ↗

Обновление зависимости openai-python до версии ниже 3.0.0 для устранения необходимости установки httpx.

  • Fixed: Привязка версии библиотеки openai-python к диапазону <3.0.0 для корректной работы новых установок.
  • Fixed: Устранена необходимость в ручном установке дополнительного пакета httpx.
0.32major
🕐 1 мес назад · релиз на GitHub ↗

Релиз LLM 0.32: новая структура сообщений, поддержка OpenAI Responses API для reasoning-моделей и улучшенный контроль над tool loops.

  • Added: Внедрена структура сообщений с типизированными частями (text, reasoning, tool calls) и новые методы потоковой передачи событий.
  • Added: Модели с reasoning теперь используют OpenAI Responses API по умолчанию, а трейсы рассуждений выводятся в stderr.
  • Added: Добавлены серверные инструменты WebSearch и CodeInterpreter, а также поддержка сервисных тиров (fast/flex) для OpenAI.
  • Added: Улучшен контроль над циклами инструментов: каждый вызов теперь имеет уникальный tool_call_id для более надежного управления.
  • Added: Новая схема логирования на базе SQLite с адресацией контента и команда llm openai endpoint для тестирования совместимых API.
0.31.1patch
🕐 2 мес назад · релиз на GitHub ↗

Исправлена ошибка, приводившая к JSON-ошибке при вызове инструментов с пустыми аргументами в OpenAI Chat Completion.

  • Fixed: Устранён баг в эндпоинтах OpenAI Chat Completion, из-за которого вызовы инструментов с пустыми аргументами могли вызывать JSON-ошибку у некоторых провайдеров.
0.31minor
🕐 5 мес назад · релиз на GitHub ↗

Добавлена поддержка модели GPT-5.5, новые параметры verbosity и image_detail для OpenAI, асинхронная регистрация моделей из extra-openai-models.yaml.

  • Added: Добавлена поддержка модели GPT-5.5 (llm -m gpt-5.5).
  • Added: Для моделей GPT-5+ добавлен параметр -o verbosity (low, medium, high).
  • Added: Добавлен параметр -o image_detail для настройки детализации изображений (low, high, auto, original).
  • Added: Модели из extra-openai-models.yaml теперь регистрируются как асинхронные.