跳过内容

欢迎使用Outlines

Outlines是一个Python库,允许您以简单和稳健的方式使用大型语言模型(进行结构化生成)。它是由.txt构建的,并且已经被许多公司在生产中使用。

你们支持哪些模型?

我们支持 Openai,但 Outlines 的真正功能是在通过 transformersllama.cppexllama2mlx-lmvllm 模型可用的开源模型中释放的。如果您想要构建和维护与其他库的集成,请联系

主要特征是什么?

  • Make LLMs generate valid JSON


    No more invalid JSON outputs, 100% guaranteed

    Generate JSON

  • JSON mode for vLLM


    Deploy a LLM service using Outlines' JSON structured generation and vLLM

    Deploy outlines

  • Make LLMs follow a Regex


    Generate text that parses correctly 100% of the time

    Guide LLMs

  • Powerful Prompt Templating


    Better manage your prompts' complexity with prompt templating

    Learn more

为什么使用 Outlines?

Outlines是由拥有数十年软件工程、机器学习(贝叶斯统计和自然语言处理)以及编译器经验的工程师构建的,位于.txt.txt是一家专注于结构化生成主题并得到风险投资支持的公司,致力于让社区从其经验中受益。

我们也是开源的老兵,多年来编写/维护了许多库:包括AesaraPythological生态系统,以及BlackjaxHy等众多其他库。

Outlines 不使用那些会妨碍你的不必要抽象。我们专注于与 LLM 进行可靠的文本生成,拥有清晰的路线图以推动该领域的最先进技术,并致力于干净和稳健的代码。

最后但同样重要的是,与其他工具不同,Outlines的结构化生成在推理过程中没有额外开销

谁在使用Outlines?

数百个组织和主要的 LLM 服务框架 (vLLM, TGI, LoRAX, xinference, SGLang) 正在使用 Outlines。一些使用 Outlines 的知名公司和组织包括:


组织之所以被列入,是因为它们在公共代码库中将Outlines作为依赖项,或者是由于Outlines团队成员与这些组织员工之间的直接沟通。

仍然不信服吗,阅读人们对我们的评价。并确保查看社区正在构建的内容!

哲学

Outlines 是一个用于神经文本生成的库。你可以将其视为 transformers 库中 generate 方法的更灵活的替代品。

Outlines 帮助开发者 结构化文本生成 以构建与外部系统的强大接口。它提供生成方法,确保输出将匹配正则表达式或遵循 JSON 模式。

Outlines 提供 强大的提示原语,将提示与执行逻辑分开,从而实现简单的少量生成、ReAct、元提示、代理等实现。

Outlines 被设计为一个 ,旨在与更广泛的生态系统兼容,而不是取代它。我们尽量减少抽象的使用,并且生成可以与控制流、条件判断、自定义 Python 函数和对其他库的调用交错进行。

Outlines 与每个自回归模型兼容。它仅通过下一个标记的对数几率分布与模型进行接口。

Outlines 人员

如果没有一群专注的开发者,Outlines 不会是今天的样子:

致谢

Outlines 最初由 @NormalComputing@remilouf@BrandonTWillard 开发。现在由 .txt 维护。