LMQL 是专为大语言模型设计的查询语言,可以把自然语言提示词、程序控制逻辑和约束规则统一写在一份脚本里,而不是零散地堆在模板和后处理代码中。开发者可以像写代码一样,精确描述模型该输出什么、需要遵守哪些限制,以及生成过程如何被控制,从而让基于 LLM 的应用更可预测、更易维护。 在 LMQL 中,你可以使用变量、条件判断、过滤器、得分函数等结构,对模型的生成过程进行精细编排,运行时自动负责组装提示词、流式解码、部分验证和与底层模型 API 的交互。这使得调试提示词、回溯问题和版本管理变得清晰可控,适合团队协作和长期迭代。 LMQL 与现有开发栈很好地兼容:它可以嵌入 Python 代码,和后端服务、外部工具、数据库或评测管线无缝集成。无论是构建智能代理、多轮对话系统、结构化信息抽取、代码助手还是评测流水线,LMQL 都帮助你从“尝试性调 prompt”升级为“可测试、可复用的 LLM 程序”,提升质量的同时控制成本与延迟。
构建可靠的对话式智能体,将多轮对话流程、约束规则和工具调用写入 LMQL 脚本,而不是依赖脆弱的提示词拼接。
从非结构化文本中抽取结构化信息,在生成阶段强制输出为 JSON、SQL 或业务自定义的字段格式。
打造具备代码理解与生成能力的助手,将自然语言指令与静态检查、单测执行和仓库上下文结合起来。
设计评测与安全攻防(red-teaming)流水线,用统一的 LMQL 查询收集模型推理过程并应用安全过滤。
快速迭代复杂 LLM 工作流,同时通过版本控制完整记录提示词和逻辑演进,便于回溯与协同开发。