SuperAPI AI 工具集

outlines

智能体与模型

查看项目

更新于 10-16 02:33

技能介绍

用途:Outlines 用于让大语言模型按指定结构生成文本,保证输出符合 JSON、正则表达式、Pydantic 模型或枚举等约束,适合数据抽取、分类、表单填充、代码生成等需要稳定格式的场景。

主要能力:在 token 采样层面用编译自动机过滤非法 token,理论上输出 100% 合法;支持 Pydantic 模型(含嵌套、枚举、Literal、字段约束)、JSON Schema、正则和数值类型;支持批量生成;对确定性路径可快进,官方称结构化生成几乎无额外开销。

使用方式(v1 API):先安装 pip install outlines,按后端追加依赖,如 pip install outlines transformers、pip install outlines llama-cpp-python、pip install outlines vllm。用 outlines.from_transformers(...)、from_llamacpp(...)、from_vllm(...)、from_openai(...) 创建模型,再调用 model(prompt, output_type)。Pydantic/JSON 输出返回 JSON 字符串,需用 YourModel.model_validate_json(result) 解析。

适用场景:本地模型(Transformers、llama.cpp、vLLM)的结构化生成、需要最高推理速度、需要 Pydantic 类型安全输出、需要控制 token 采样。

限制:v1 已移除旧版 outlines.models.transformers(...) 与 outlines.generate.json/choice/regex 等接口;不提供自动重试;API 后端仅支持 JSON Schema 风格结构化输出。文档、GitHub、Discord 等资源见资料所列链接。