liyucheng09/Selective_Context

Сжимайте ввод для ChatGPT или других LLM, чтобы они обрабатывали в 2 раза больше контента и экономили 40% памяти и времени GPU.

Инструменты⭐ 425Pythonпоследний релиз: v0.1.0rc1
Открыть на GitHub ↗

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

Selective Context — это инструмент для сжатия текстового контекста (промптов и документов) перед отправкой в LLM, позволяющий увеличить объем обрабатываемой информации в 2 раза.

Зачем нужен

Инструмент решает проблему ограничений длины контекста и высоких затрат на вычисления, автоматически отбирая наиболее информативные части текста на основе самоинформации. Это позволяет экономить до 40% памяти и времени GPU, не теряя качества работы модели.

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

  • Обработка длинных документов (например, научных статей из arXiv или новостей BBC) для суммаризации или поиска ответов.
  • Поддержка длительных диалогов с LLM, где необходимо сохранять историю переписки, не превышая лимиты токенов.
  • Оптимизация затрат на inference в RAG-системах за счет уменьшения объема передаваемых в модель документов.
  • Восстановление исходного контекста или решение задач вопрос-ответ (QA) на сжатых данных.

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

  • Автоматическое сжатие текста с настраиваемым коэффициентом уменьшения (reduce_ratio).
  • Использование базовой языковой модели для оценки информативности лексических единиц (токенов, фраз, предложений).
  • Поддержка английского и китайского языков через интеграцию с spaCy.
  • Наличие готового Streamlit-интерфейса и демо на Hugging Face Space.
  • Научная валидация: метод опубликован в EMNLP 2023.

👤 Кому подойдёт: Разработчики LLM-приложений, исследователи в области NLP, инженеры, оптимизирующие затраты на inference.

Релизы