eth-sri/lmql

Язык для программирования LLM с управлением через ограничения и высокой эффективностью.

Инструменты⭐ 4 218Pythonпоследний релиз: v0.7.3
Открыть на GitHub ↗Сайт проекта ↗

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

LMQL — это язык программирования на основе Python, позволяющий интегрировать вызовы LLM непосредственно в код с использованием ограничений (constraints) и продвинутых алгоритмов декодирования.

Зачем нужен

Инструмент решает задачу точного контроля над генерацией текста LLM, позволяя задавать строгие правила (например, типы данных, стоп-символы, логические условия) прямо в процессе выполнения программы. Это полезно для создания детерминированных, надежных и эффективных AI-приложений, где стандартное промпт-инжиниринг недостаточен.

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

  • Генерация валидного JSON, соответствующего строгой схеме (schema-safe JSON decoding)
  • Алгоритмический промптинг с ветвлением логики и условными запросами к модели
  • Интерактивные чат-интерфейсы с потоковой передачей вывода (streaming)
  • Инлайн-использование инструментов (tool use) внутри Python-кода

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

  • Синтаксис Python: LMQL является надмножеством Python, что позволяет использовать familiar синтаксис, классы и переменные
  • Мощные ограничения (constraints): применение масок логитов для контроля длины, символов, типов данных и стоп-фраз
  • Продвинутое декодирование: поддержка beam search, best_k и других алгоритмов для улучшения качества вывода
  • Оптимизация производительности: использование спекулятивного выполнения, кэширования на основе дерева и асинхронного API для параллельных запросов
  • Интеграция с экосистемой: поддержка OpenAI, Azure OpenAI, Hugging Face Transformers, а также библиотек LangChain и LlamaIndex

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

Релизы

v0.7.3patch
🕐 35 мес назад · релиз на GitHub ↗

Исправлено: в пакет LMQL для PyPI добавлены необходимые ассеты для работы LMQL Chat API.

  • Fixed: В пакет PyPI включены ассеты, требуемые для работы LMQL Chat API.