LMQL (Language Model Query Language) é uma inovadora linguagem de programação projetada para facilitar a interação com modelos de linguagem grandes (LLMs). Ela permite a criação de prompts robustos e modulares, utilizando tipos, templates, restrições e um runtime otimizado. Com LMQL, desenvolvedores podem construir consultas complexas que são automaticamente portáveis entre diferentes backends de LLM, como llama.cpp, OpenAI e Transformers da Hugging Face, com apenas uma linha de código.
Uma das características mais poderosas do LMQL é o suporte a consultas aninhadas, que permitem a modularização de instruções locais e a reutilização de componentes de prompt. Isso abre novas possibilidades para a programação procedural em prompts, tornando a construção de prompts mais expressiva e eficiente.
Além disso, LMQL introduz a capacidade de aplicar restrições duras nas gerações de texto, garantindo que as respostas dos LLMs atendam a critérios específicos, como formato de saída e comprimento. Isso é particularmente útil em aplicações que requerem precisão e consistência nas respostas geradas.
A linguagem também suporta variáveis tipadas para garantir o formato de saída, loops para prompts repetidos e interpolação de strings para construção dinâmica de prompts. Com essas funcionalidades, LMQL se posiciona como uma ferramenta essencial para desenvolvedores que buscam maximizar o potencial dos LLMs em suas aplicações.
Criado pelo SRI Lab da ETH Zurich e contribuidores, LMQL está moldando o futuro da interação com modelos de linguagem, oferecendo uma abordagem mais estruturada e eficiente para a geração de texto com LLMs.