Repolode
microsoft

microsoft/LLMLingua

Библиотека Microsoft для Python сжимает промпты LLM и KV cache до 20 раз, удаляя несущественные токены и практически не теряя в качестве.

Звёзды
6,767
Форки
444
Открытые issues
125
Последний коммит
в прошлом месяце

Что это?

LLMLingua — набор инструментов для сжатия промптов для больших языковых моделей от Microsoft Research. Он использует небольшую обученную языковую модель, чтобы находить и удалять токены, мало влияющие на смысл. Так длинные промпты становятся короче, а ключевая информация сохраняется. По заявлению проекта, сжатие достигает 20 раз при минимальной потере качества; кроме того, он умеет сжимать KV cache, ускоряя инференс.

В репозитории представлены несколько методов. LLMLingua — исходный подход, LongLLMLingua предназначен для сценариев с длинным контекстом и RAG и решает проблему потерянной информации в середине контекста, а LLMLingua-2 — не зависящий от задачи компрессор на основе классификатора токенов с энкодером уровня BERT. Также в проект входит вариант SecurityLingua для обнаружения намерений взломать защиту модели. Структурированное сжатие промптов позволяет задавать для разных разделов промпта разные коэффициенты сжатия с помощью тегов.

Библиотеку можно установить через pip. Она предоставляет класс PromptCompressor с методами compress_prompt и structured_compress_prompt. Проект интегрирован с Prompt flow, LangChain и LlamaIndex.

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

  • 01Удаляет из промптов несущественные токены, сокращая их размер до 20 раз.
  • 02Сжимает KV cache для ускорения инференса LLM.
  • 03Предоставляет LongLLMLingua для промптов с длинным контекстом и RAG.
  • 04Предоставляет LLMLingua-2 — более быстрый не зависящий от задачи компрессор на основе энкодера уровня BERT.
  • 05Поддерживает структурированное сжатие: для разделов можно задавать разные коэффициенты с помощью тегов.
  • 06Устанавливается через pip и используется из Python.

Сценарии использования

  • Умещать длинные документы или найденные фрагменты в ограниченное контекстное окно LLM в RAG-пайплайнах.
  • Снижать расходы на API в приложениях, отправляющих длинные промпты в GPT-4 или аналогичные модели.
  • Сжимать цепочки рассуждений или примеры few-shot, сохраняя содержание рассуждений.
  • Обнаруживать намерения взломать защиту модели в пользовательских промптах с помощью модели SecurityLingua.

Быстрый старт

  1. 1

    Установите LLMLingua из PyPI

    pip install llmlingua
  2. 2

    Импортируйте PromptCompressor и сожмите prompt с помощью модели по умолчанию

Что важно знать

  • Качество сжатия зависит от выбранной модели, а для хорошей скорости некоторым вариантам нужен GPU.
  • Для некоторых вариантов модели требуются дополнительные пакеты, например optimum и auto-gptq для квантованных моделей.

Темы

Частые вопросы

Что такое LLMLingua?
Библиотека Microsoft для Python сжимает промпты LLM и KV cache до 20 раз, удаляя несущественные токены и практически не теряя в качестве. LLMLingua — набор инструментов для сжатия промптов для больших языковых моделей от Microsoft Research. Он использует небольшую обученную языковую модель, чтобы находить и удалять токены, мало влияющие на смысл. Так длинные промпты становятся короче, а ключевая информация сохраняется. По заявлению проекта, сжатие достигает 20 раз при минимальной потере качества; кроме того, он умеет сжимать KV cache, ускоряя инференс.
LLMLingua можно использовать бесплатно? Какая у него лицензия?
LLMLingua распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
LLMLingua всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в LLMLingua — 10 сент. 2026 г..
Для чего можно использовать LLMLingua?
Умещать длинные документы или найденные фрагменты в ограниченное контекстное окно LLM в RAG-пайплайнах. Снижать расходы на API в приложениях, отправляющих длинные промпты в GPT-4 или аналогичные модели. Сжимать цепочки рассуждений или примеры few-shot, сохраняя содержание рассуждений. Обнаруживать намерения взломать защиту модели в пользовательских промптах с помощью модели SecurityLingua.
Как установить LLMLingua?
Установите LLMLingua из PyPI: pip install llmlingua Импортируйте PromptCompressor и сожмите prompt с помощью модели по умолчанию
Где скачать LLMLingua?
Исходный код и инструкции по установке — на GitHub: https://github.com/microsoft/LLMLingua

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Локальный векторный индекс и инструментарий для RAG: пересчитывает эмбеддинги по запросу и сокращает объём хранения примерно на 97%, позволяя искать личные данные на ноутбуке.

13 тыс.1,2 тыс.PythonMITОбновлён 8 часов назад