LMQL(Language Model Query Language)は、大規模言語モデル(LLM)との対話を容易にするために設計されたプログラミング言語です。ETH ZurichのSRI Labとその貢献者によって開発され、LLMプロンプティングのための堅牢でモジュール化されたアプローチを提供します。LMQLは、型、テンプレート、制約、そして最適化ランタイムを使用して、複雑なプロンプトの構築と実行をサポートします。
LMQLの特徴の一つは、ネストされたクエリをサポートしていることです。これにより、ローカルな指示のモジュール化やプロンプトコンポーネントの再利用が可能になり、プロンプトの設計と管理がより効率的になります。また、LMQLは複数のバックエンド間でコードの移植性を自動的に確保し、単一のコード行でバックエンドを切り替えることができます。これにより、開発者は特定のLLMプロバイダに縛られることなく、柔軟にプロジェクトを進めることができます。
LMQLは、Pythonの制御フローと文字列補間を利用して、プロンプトの構築と生成を実装しています。これにより、開発者はPythonの強力な機能を活用しながら、LLMとの対話をプログラムすることができます。さらに、LMQLは型と正規表現を使用して、出力の形式を保証し、マルチパートプロンプトやツール拡張、チャットボットの開発をサポートします。
LMQLは、LLMの利用をよりアクセスしやすく、効率的にするための革新的なツールとして、研究者や開発者にとって貴重なリソースとなっています。