Outlines 是 Python 库,用于让大语言模型可靠地输出结构化文本。其核心机制是用有限状态机引导生成,在采样阶段约束 token,使输出首次即合法,而非依赖重试纠错。
主要能力包括:用 Pydantic 模型或枚举约束生成 JSON;用正则表达式约束生成匹配模式的文本,如电话号码;用 choice 进行固定选项分类;用 format 约束生成日期等格式;用自定义语法(CFG)生成算术表达式等领域特定输出;支持批量推理,传入提示列表一次返回多个结果;可搭配 vLLM 后端提升生产吞吐。
用法示例:先加载模型,如 outlines.models.transformers("meta-llama/Llama-3.1-8B-Instruct");再用 outlines.generate.json(model, ReviewAnalysis) 等方式创建生成器并调用。Pydantic 的 ge、le、min_length、max_length 等字段约束可进一步限制输出。安装方式:pip install outlines。
适用场景:需要保证输出结构合法的数据抽取、分类、格式化生成,以及批量处理。
限制:资料未提供具体的模型支持范围、性能数据、价格或收费信息,也未提供除上述模式外的其他用法。