Press "Enter" to skip to content

使用大纲构建可靠的LLM系统

使用大纲构建可靠的LLM系统 四海 第1张

现代大型语言模型(LLM)具有令人印象深刻的能力,但是将它们整合到复杂的工作流程和系统中可能会带来挑战,导致结果不可靠并且代码冗余。由Normal Computing的Rémi Louf创建的Outlines为解决这些问题提供了一个解决方案。

Outlines通过改进提示的管理方式并提供对生成的输出更多的控制,实现了构建更可靠的LLM系统。这在某种程度上通过其独特的基于采样的方法实现,该方法为结果提供了概率解释。

Outlines旨在与更广泛的Python生态系统无缝融合,允许将语言模型输出的生成与标准控制流和自定义函数调用交织在一起。这些特性的组合有助于避免与语言模型集成相关的常见问题。

增强包含LLM的系统的可靠性的关键在于开发LLM输出与自定义用户代码之间的结构良好的接口。Outlines提供了工具,可以控制语言模型的生成,从而使输出更可预测。未来计划的功能包括生成符合预定义模式的JSON和符合任何给定语法的代码的能力。

通过连接字符串编写提示通常变得繁琐且容易出错。用于构建这些提示的逻辑往往与程序的其余部分纠缠在一起。这可能使渲染提示的结构变得更加难以理解和修改。

为了解决这些问题,Outlines提供了强大的提示原语。这些原语有效地将提示过程与执行逻辑分离。这种分离导致了更简单和更易于理解的few-shot生成、ReAct和meta-prompting等技术的实现。

Outlines还提供了一个名为“模板函数”的功能,利用Jinja2模板引擎高效构建复杂的提示。可用的自定义Jinja过滤器可简化构建AutoGPT、BabyAGI、ViperGPT和Transformers Agent等代理的过程。通过消除样板提示代码,这些过滤器使构建和修改语言生成模型更容易。

Outlines通过其独特的采样方法、增强的提示管理和输出控制,革新了LLM集成。它与Python的结合、高效的Jinja2提示模板化以及即将推出的符合模式的JSON生成和模型调用矢量化等功能,为LLM系统集成设定了先驱性标准。通过可扩展的插件式云基础设施,Outlines将很快支持来自HuggingFace、OpenAI和Normal Computing的模型。Normal的进一步计划工作包括在图形化Web应用程序中进行原型开发。在我们越来越依赖人工智能和机器学习的时代,Outlines承诺成为塑造这个快速发展的领域的关键工具。

您可以在此处查看完整的存储库。

关于作者:

Rémi Louf是Normal Computing公司的统计学家(有人称其为数据科学家)和软件工程师。他对贝叶斯统计学和生成建模、MCMC采样和符号计算特别感兴趣,这些都体现在他的职业生活和他贡献的开源项目中。他是Aesara和Blackjax项目的核心成员。Rémi在法国理论物理研究所获得物理学博士学位。

Dan Gerlanc是Normal Computing公司的工程副总裁。他的职业生涯始于量化金融,并在过去十年中领导了各个行业和组织的工程部门。从技术上讲,他擅长构建软件工程和人工智能应用交叉领域的系统。他是Aesara和bootES等项目的核心成员。Dan拥有威廉姆斯学院的比较文学学士学位。

Leave a Reply

Your email address will not be published. Required fields are marked *