什么是 Outlines?
Outlines 通过引导生成保证 LLM 结构化输出。在 token 采样时约束模型只产生符合 schema 的 token,无需重试。
一句话总结:引导生成保证 LLM 结构化输出,支持 JSON Schema/正则/语法约束,适配所有开源模型,零重试零错误,10k+ stars。
适合人群:需要可靠结构化提取的 AI 工程师。
核心功能
1. JSON Schema 生成
Pydantic 模型或 JSON Schema 定义输出格式,保证有效。
2. 正则约束
用正则表达式约束输出格式(邮箱、日期、ID 等)。
3. 分类
限定输出为预定义选项之一。
4. 多后端
支持 transformers、vLLM、llama.cpp、MLX。
常见问题
Q: 支持 Claude/GPT-4? A: Outlines 面向开源模型。API 模型用 Instructor(重试模式)。
Q: 引导生成原理? A: 从 schema 构建有限状态机,每步采样时屏蔽无效 token。
来源与致谢
dottxt-ai/outlines — 10k+ stars, Apache 2.0