跳到内容

路线图

2024年路线图

Outlines 还不到一岁,但已经取得了长足的进步!在我们刚达到 4000 颗星之际,在制定未来一年的路线图之前,我们想暂停一下,感谢大家对我们的支持、使用以及对库的贡献!

4000 stars

想法

在深入研究详细路线图之前,让我分享一些想法并解释一下库的总体方向。这些想法来自于我与用户在Twitter或我们的Discord 服务器上的多次交流。

Outlines 目前通过其高效的 JSON 和 Regex 约束生成功能区别于其他库。最近还添加了语法结构化生成的用户界面(之前一直隐藏在仓库中)。但我们在这方面还有很多可以做的事情。在 2024 年,我们将继续朝着更准确、更快速的约束生成方向努力。

Outlines 还支持许多模型提供商:transformersmamballama.cppexllama2。这些集成需要大量的维护工作,我们将需要简化它们。例如,transformers 现在支持量化模型,我们很快将弃用 autoawqautogptq 的支持。由于库的重构,现在可以通过对除 mamba 之外的所有其他库使用 logits processor 来使用我们的约束生成方法。我们将寻找提供状态空间模型并允许在推理期间传递 logits processor 的库。我们将使用 logits processor 与 llama.cppexllama2 进行接口连接。

我们希望将工作扩展到整个采样层,并添加新的采样方法,以使结构化生成更加准确。这意味着我们将保持 transformers 集成原样,并将围绕此库扩展我们的文本生成逻辑。

使工作流可重用且易于共享在今天来说是困难的。这就是为什么我们坚信Outlines 函数。我们将继续改进界面并添加示例。

最后,我们想添加一个 CLI 工具,outlines serve。这将允许您提供执行通用约束生成的 API 服务,或者提供 Outlines 函数的服务。

详细路线图

这是未来 12 个月的更详细路线图。Outlines 是一个社区共同努力的项目,我们邀请您选择任何主题并为库做出贡献。我将逐步在仓库中添加相关问题。

更多示例和教程

说实话,Outlines 缺乏清晰全面的示例。我们想改变这一点!

  • Outlines 如何工作?你可以用它做什么?
  • 用 Outlines 可以做哪些其他库难以或不可能做到的事情?
  • 如何执行标准的 LLM 工作流,例如 思维链 (Chain of Thoughts)、思维树 (Tree of Thoughts) 等?
  • Outlines 如何与更广泛的生态系统集成,例如 LangChain 和 LlamaIndex 等其他库?

简化集成

我们希望保留当前的集成,但降低维护成本,以便我们可以专注于我们带来的价值。

  • 弃用所有过时的集成:例如,transformers 最近已经集成了 autoawqautogptq。(PR #527)
  • 看看我们是否可以通过 logit 处理函数集成到提供状态空间模型的库中;
  • 通过 logits processor 与 llama.cpp 集成;
  • 通过 logits processor 与 exllamav2 集成;

进一步推动结构化生成

我们才刚刚开始!

  • 提高现有结构化生成算法的性能;
  • 提高结构化生成算法的正确性;
  • grammars 仓库或 Outlines 的子模块中添加现成的语法。

继续开发 Outlines 函数

函数很棒,快使用它们吧!

  • 实现一个 CLI outlines serve,允许在本地提供 Outlines 函数的服务;
  • functions 仓库添加更多函数。

提供结构化生成服务

我们希望让提供结构化生成和 Outlines 函数的服务变得更容易。

  • 实现 outlines serve CLI 工具
  • 提供执行结构化生成的本地 API 服务;
  • 提供 Outlines 函数的服务。

改进生成层

  • 使用 transformers 的私有 API 在 Transformers 类中准备生成输入;
  • 支持 Beam Search 和 SMC 等方法的模型生成和文本填充的连续过程;
  • 通过添加新的缓存方法来区分:注意力汇聚 (attention sink)、Trie 树缓存等;
  • 通过实现 SMC 来区分;
  • 实现 Beam Search;
  • 添加 token healing。

与 OpenAI 更无缝的集成

  • 为 OpenAI 和开源模型提供相同的用户界面,以便它们易于互换;
  • 集成函数调用 API。

最后的话

本路线图受到社区表达的兴趣的影响。如果它未能反映您的需求,请前来与我们分享您的经验