Описание
LMQL, или Язык запросов языковой модели, является специализированным языком программирования, разработанным для взаимодействия с большими языковыми моделями (LLM). Созданный лабораторией SRI в ETH Цюрих и участниками, LMQL предоставляет надежную и модульную структуру для создания запросов к LLM. Он использует типы, шаблоны, ограничения и оптимизирующее время выполнения для упрощения процесса построения и выполнения запросов.
Читать далее
Одной из ключевых особенностей LMQL является поддержка вложенных запросов, что вводит процедурное программирование в область создания запросов. Это позволяет создавать модульные локальные инструкции и повторно использовать компоненты запросов, повышая гибкость и повторное использование кода. Дизайн LMQL обеспечивает портируемость кода LLM между несколькими бэкендами, включая llama.cpp, OpenAI и Transformers, позволяя пользователям переключаться между ними с помощью одной строки кода.
Создание и генерация запросов в LMQL реализованы через выразительный контроль потока Python и интерполяцию строк. Этот подход позволяет создавать сложные запросы, которые могут включать контроль потока и ветвление, обеспечивая высокий уровень настройки в том, как запросы создаются и выполняются.
Язык также поддерживает клаузулы ограничений, которые позволяют пользователям задавать логические, высокоуровневые ограничения на вывод. Эти ограничения автоматически переводятся в ограничения на уровне символов, которые могут быть применены во время генерации текста, обеспечивая соответствие вывода заданным требованиям.
LMQL предназначен для разработчиков и исследователей, которым необходимо взаимодействовать с LLM структурированным и эффективным образом. Он предоставляет мощный набор инструментов для создания и управления запросами к LLM, что делает его незаменимым ресурсом для тех, кто работает в областях, требующих продвинутого взаимодействия с языковыми моделями.
- КатегорияПлатформы машинного обучения
- Модель ценообразованияФримиум
- РазвёртываниеЛокальный, веб-ориентированный
- Платформыllama.cpp, OpenAI, Transformers
Основные функции Язык программирования LMQL
Надежное создание запросов к LLM
Модульный дизайн запросов
Поддержка вложенных запросов
Портируемость между бэкендами
Выразительный контроль потока Python
Интерполяция строк для запросов
Клаузулы высокоуровневых ограничений
Оптимизирующее время выполнения
Как использовать Язык программирования LMQL?
Установка: Настройте LMQL локально или используйте веб-IDE Playground
Написание запроса: Создайте простое выражение запроса с ограничениями
Расширение: Добавьте сложную логику и различные алгоритмы декодирования
Изучение: Используйте примеры в IDE Playground для вдохновения
Варианты использования Язык программирования LMQL
- Взаимодействие с LLM
- Оптимизация запросов
- Портируемость бэкенда
- Применение ограничений
- Процедурное создание запросов






