TypeLLM/TypeLLM

TypeLLM: LLMs with type-safe generation

解决的问题

TypeLLM 允许自回归 LLM 生成严格遵守预定义 JSON Schema 的输出,且无需更改模型的架构或权重。它通过确保选择保持在允许的值范围内,消除了超出架构的幻觉,并降低了类别选择和有界数值解码的 Token 成本。

运作原理

TypeLLM 建立在 SGLang 之上,实现了约束解码(constrained decoding)以强制模型产生特定类型(字符串、整数、数字、布尔值、枚举、对象和数组)。它支持依赖感知执行图,其中字段可以依赖先前字段的结果(depends_on),且条件字段(when)仅在基于这些依赖关系满足特定条件时才会被触发。它还具有“思考模式”(thinking mode),允许模型在提供最终约束答案之前进行推理,并透过排列平均(permutation averaging)来减少枚举和布尔概率中的偏差。

适用对象

开发人员正在构建需要从通过 SGLang 或 TypeLLM API 服务的开放自回归模型中进行结构化、类型安全数据提取或决策的 LLM 应用程序。

特色亮点

  • 架构保证输出:支持多种类型,包括嵌套对象和数组。
  • 依赖图:字段可以使用 depends_on 声明,以建立顺序性的类型化工作流程。
  • 条件逻辑:字段可以根据先前答案的值或置信度水平进行跳过或执行。
  • 思考模式:每个字段可选的推理预算,并具有可决定必要努力程度的“自动”模式。
  • 视觉语言支持:能够将图像传递给兼容模型,以从视觉数据中进行类型化提取。
  • 效率:使用 KV 缓存和共享前缀重用,以最大限度地减少上下文的重新处理。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目