LLM Guard заархивировали: разработчик продолжил проект под именем Gorget

Библиотеку LLM Guard от Protect AI заархивировали 8 июля 2026 года, но её скачивания не прекратились. Разработчик продолжил проект под именем Gorget — с совместимостью с прежним API, работой без PyTorch и распознаванием российских документов.

Главное
  • Protect AI купила Palo Alto Networks в 2025 году, а 8 июля 2026 года репозиторий LLM Guard заархивировали.
  • Gorget распространяется под лицензией MIT и устанавливается командой pip install gorget вместо llm-guard.
  • Старые импорты llm_guard продолжают работать: Gorget подменяет модули через sys.modules, сохраняя те же объекты классов.
Схема фильтрации текста между пользователем и языковой моделью: сканеры prompt injection, персональных данных и токсичности
Фото: Хабр: Машинное обучение

Открытую библиотеку LLM Guard от Protect AI заархивировали 8 июля 2026 года с пометкой, что ни она, ни её модели на Hugging Face больше не поддерживаются. Protect AI купила Palo Alto Networks в 2025 году. При этом библиотеку продолжают скачивать — около 100 тысяч раз с PyPI в месяц при 3,2 тысячи звёзд на GitHub.

Разработчик продолжил проект под именем Gorget (GitHub, MIT). Название отсылает к части доспеха, защищающей горло. Первый запуск тестов оригинала в чистом окружении не дошёл даже до самих тестов: LLM Guard ставит модели spaCy через pip во время работы, а в окружениях без pip процесс падает через sys.exit.

Что сломалось за год без поддержки

С добавленным pip прошло 239 тестов и упало 17. В зависимостях нашлись проблемы: transformers закреплён на версии 4.51.3, для которой опубликовано семь уязвимостей, а обновиться нельзя. Пакет presidio тянет cryptography ниже 44.1, тогда как исправление CVE-2026–26007 вышло в 46.0.5. Python 3.13 и 3.14 не поддерживаются вовсе.

NLTK 3.10 отказывается скачивать данные через прокси из-за защиты от SSRF, и сканер тональности с разбиением на предложения за корпоративным прокси не запускаются. Модель сканера MaliciousURLs автор удалил с Hugging Face, и загрузка отвечает 401. PyTorch обязателен, из-за чего Docker-образы весят около 4 ГБ.

Совместимость и отказ от PyTorch

Главное правило продолжения — код, написанный для LLM Guard, должен работать без правок. Пакет на PyPI называется gorget, но вместе с ним ставится llm_guard, который подменяет каждый модуль Gorget через sys.modules. Это те же объекты модулей, а не копии, поэтому проверки isinstance и перехват исключений работают. Переход — pip uninstall llm-guard и pip install gorget.

Все модельные сканеры LLM Guard — обычные трансформеры с Hugging Face, у большинства уже есть ONNX-версии. Разработчик написал собственный рантайм на ONNX Runtime, токенизаторе из transformers и numpy, повторив четыре конвейера: классификацию текста, zero-shot классификацию, распознавание сущностей и эмбеддинги. Встроенный флаг use_onnx работал через optimum, свежий пакет которого требует transformers<4.58 и не позволяет уйти от уязвимостей.

Помимо этого Gorget добавил распознавание российских документов с проверкой контрольных сумм, включая СНИЛС.

Для профиТехнические детали: архитектура, цифры, ссылки
  • Лицензия: MIT (GitHub).
  • Установка: pip install gorget, старый пакет удаляется через pip uninstall llm-guard.
  • Совместимость: модуль llm_guard подменяет модули Gorget через sys.modules; исключение LLMGuardValidationError осталось псевдонимом нового.
  • Интеграция с LiteLLM: переменная LLM_GUARD_API_BASE и эндпоинт POST /analyze/prompt сохранены.
  • Рантайм: ONNX Runtime + токенизатор transformers + numpy, без PyTorch.
  • Конвейеры: классификация текста, zero-shot классификация (NLI), NER, эмбеддинги.
  • Проблемы оригинала: transformers==4.51.3 (семь уязвимостей), presidio==2.2.358 тянет cryptography ниже 44.1 (CVE-2026–26007 исправлена в 46.0.5), Python только 3.10–3.12, NLTK 3.10 не работает через прокси, модель MaliciousURLs удалена (401).

Что это значит для России

Gorget добавил распознавание российских документов с проверкой контрольных сумм, включая СНИЛС, — это делает библиотеку применимой в российских сервисах, которые отправляют пользовательский текст во внешние LLM. Проект открыт под MIT и ставится с PyPI, отдельных ограничений для России в источнике не указано.

Вопросы и ответы

Чем Gorget отличается от LLM Guard?
Gorget — продолжение заархивированного LLM Guard: совместим со старым API, работает без PyTorch через ONNX Runtime и добавляет распознавание российских документов с проверкой контрольных сумм.
Как перейти с LLM Guard на Gorget?
Выполнить pip uninstall llm-guard и pip install gorget. Код, написанный для LLM Guard, продолжит работать без правок, включая интеграцию с LiteLLM.
Под какой лицензией выходит Gorget?
Под лицензией MIT.