outlines:以简单方式使用大模型的Python库


Outlines〰 是一个 Python 库,帮助以简单而强大的方式使用大型语言模型(带有引导生成)。它由.txt构建,并且已经被许多公司用于生产。

令人印象深刻的实现真正的regex / json / grammar引导的文本生成

支持 Openai,但 Outlines〰 的真正力量是通过 Transformers、AutoAWQ 和 AutoGPTQ 库提供的开源模型来释放的。

特点:

  • 让 LLM 生成有效的 JSON
  • 使用 Outlines 的 JSON 引导生成和 vLLM 部署 LLM 服务
  •  让大模型遵循正则表达式
  • 强大的提示模板:通过提示模板更好地管理提示的复杂性

背景:
Outlines〰由在软件工程、机器学习(贝叶斯统计和 NLP)和编译器方面拥有数十年经验的工程师以.txt格式构建。.txt是一家由风险投资支持的公司,完全专注于引导生成主题,并致力于让社区从其经验中受益。

我们也是开源资深人士,多年来编写/维护了许多库:AesaraPythological生态系统、BlackjaxHy等。。

Outlines 不会使用不必要的抽象,这些抽象可能会妨碍您。我们专注于大模型的可靠文本生成,制定了推动该领域最先进技术的清晰路线图,并致力于清洁和健壮的代码。

总结:

  • 一个用于神经文本生成的库。您可以将其视为Transformersgenerate库中方法 的更灵活的替代。
  • 帮助开发人员指导文本生成,以构建与外部系统的健壮接口。提供保证输出与正则表达式匹配或遵循 JSON 模式的生成方法。
  • 提供了强大的提示原语,将​​提示与执行逻辑分开,并导致小样本生成、ReAct、元提示、代理等的简单实现。
  • 设计为一个库,旨在兼容更广泛的生态系统,而不是取代它。我们使用尽可能少的抽象,并且生成可以与控制流、条件、自定义 Python 函数和对其他库的调用交织在一起。
  • 与每个自回归模型兼容。它仅通过下一个令牌 logits 与模型交互。

项目点击标题