欢迎使用Outlines
Outlines是一个Python库,允许您以简单和稳健的方式使用大型语言模型(进行结构化生成)。它是由.txt构建的,并且已经被许多公司在生产中使用。
你们支持哪些模型?
我们支持 Openai,但 Outlines 的真正功能是在通过 transformers、llama.cpp、exllama2、mlx-lm 和 vllm 模型可用的开源模型中释放的。如果您想要构建和维护与其他库的集成,请联系。
主要特征是什么?
-
Make LLMs generate valid JSON
No more invalid JSON outputs, 100% guaranteed
-
JSON mode for vLLM
Deploy a LLM service using Outlines' JSON structured generation and vLLM
-
Make LLMs follow a Regex
Generate text that parses correctly 100% of the time
-
Powerful Prompt Templating
Better manage your prompts' complexity with prompt templating
为什么使用 Outlines?
Outlines是由拥有数十年软件工程、机器学习(贝叶斯统计和自然语言处理)以及编译器经验的工程师构建的,位于.txt。.txt是一家专注于结构化生成主题并得到风险投资支持的公司,致力于让社区从其经验中受益。
我们也是开源的老兵,多年来编写/维护了许多库:包括Aesara和Pythological生态系统,以及Blackjax和Hy等众多其他库。
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 维护。