什么是 LLM 编排?

坐在桌旁学习的男士

作者

Vanna Winland

AI Advocate & Technology Writer

Joshua Noble

Data Scientist

LLM 编排有助于提示、链接、管理和监控大型语言模型 (LLM)。LLM 编排由编排框架驱动。这些框架属于综合工具,可简化 LLM 驱动型应用程序的构建和管理。

LLMOps 在各种应用中均会使用编排功能,例如自然语言生成、机器翻译、决策和聊天机器人。随着组织采用人工智能来构建此类生成式 AI 应用程序,高效的 LLM 编排便显得至关重要。

虽然 LLM 的基础模型很强大,但 LLM 自身可以完成的任务有限。例如,LLM 缺乏实时保留或学习新信息的能力,且难以完成多步骤问题,因为它们可从上下文中保留的内容会受到限制。1此外,在处理不同 LLM 提供商的应用程序编程接口 (API) 时,协调大量 LLM 很快就会变得十分复杂。

LLM 编排框架可通过简化在与语言模型的对话中集成提示工程、API 交互、数据检索和状态管理所涉及的复杂流程来弥补这些限制。2

眼下,新的 LLM 编排框架正在进行开发,且日益受到欢迎。某些 LLM 编排会专门用作配置或数据库框架,而其他编排则会使用 AI 代理来协作完成任务或目标。

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

LLM 编排框架的工作原理

要了解 LLM 协调框架的工作原理,了解编排在 LLM 驱动型应用程序架构中的所处位置会很有帮助。

编排层

编排层是 LLM 应用程序堆栈的核心。编排器可通过管理应用程序架构其他各层之间的交互,来创建一个连贯的工作流。3与音乐编排器类似,LLM 编排器会根据应用程序的组成来委托和管理每个技术组件的工作流。

这些组件包括 LLM、提示模板、矢量数据库和代理之间的交互。4编排功能会通过提供工具和机制来有效管理各种应用程序和环境中 LLM 的生命周期,来确保生成式 AI 应用程序的每个组件都能协同运行。

编排任务

编排框架可简化复杂任务,包括提示链接、与外部 API 对接、从矢量数据库获取上下文数据,以及管理多个 LLM 交互中的内存。LLM 编排中通常所用操作任务的总体概述如下:

提示链管理

提示工程是指构建 LLM 输入(提示),以便生成式 AI 工具产生优化后的输出。协调框架提供了提示模板,其中包含操作说明、少量实例和具体上下文,以及适用于某一任务的问题。5

链接是指旨在连接多个 LLM 以组合其输出,从而实现更细微结果(也称为提示链接)、工具或数据预处理步骤的一系列调用。6

编排层通过将提示存储在知识库或库中来管理这些提示任务,而在此类库中可轻松搜索和检索提示数据。编排器可根据实时输入、上下文或用户偏好从此库中动态选择提示。此外,它还可按逻辑顺序对提示进行排序,以管理聊天流。

LLM 缺乏持续学习的固有能力,且在上下文理解方面存在限制。通过管理提示,编排器可通过评估响应来改进输出。

此外,LLM 也无法对自身进行事实核查,从而会在未加管理的情况下导致幻觉问题。编排器可对响应进行事实核查,并确保它们符合自定义准则。如果响应效果不佳,编排器可将其标记为需进行人工审查或提出替代建议,以便 LLM 能有效地进行学习和改进。7

管理 LLM 资源和性能

大多数 LLM 编排框架均包含某种形式的 LLMOps 以用于操作监控。这些功能包括根据 LLM 基准测试来收集性能指标。此类指标可通过仪表板进行查看,以便用户能实时了解 LLM 性能指标。

其他 LLMOps 资源则包括用于根本原因分析 (RCA) 的诊断工具,而它们可缩短调试时间。

数据管理和预处理

编排器通过使用合适的连接器或 API 来简化从已识别的源进行数据访问和检索。预处理是指将来自多个来源的“原始”数据转换为适合 LLM 的格式。数据集合越大,分析它的数据机制就须越尖端。预处理可确保这些数据适应每个数据挖掘算法所提出的要求。8编排器可通过调整和优化这些数据以使其更具价值,从而促进预处理。

LLM 整合和交互

编排器会启动 LLM 以执行其分配的任务。处理完成后,编排器会接收模型输出并整合所有反馈机制以评估其整体质量,并将其交付到相应的目的地。

编排器包含充当知识库的内存存储,以改进 LLM 输出和交互并提供上下文理解能力。通过处理和存储先前的消息或输入,编排器可积累长期知识,从而可根据以往互动来提供更准确的响应。9

编排器负责简化 LLM 可观测性功能与防护框架的实现。从 LLMOps 的角度来看,如果缺少这些功能,LLM 便可能会输出误导性结果,并因未经高度调优的 LLM 的有限能力而引发安全风险。

AI 学院

为什么说基础模型是 AI 的范式转变

了解灵活、可重复使用的一类全新 AI 模型,这些模型可以带来新收入、降低成本并提高工作效率。还可以参阅我们的指南手册,深入了解这些模型。

LLM 编排的优点

LLM 编排框架可提供简化 LLM 交互和工作流所需的管理与优化功能,从而增强 LLMOps。

  • 可扩展性:按需扩展或缩小规模,以优化资源利用率。
  • 资源管理:框架可通过按工作量动态分配资源来管理 CPU、GPU、内存和存储空间等资源。
  • 工作流自动化:支持自动运行涉及 LLM 的复杂工作流;例如,数据预处理、模型训练、推理和后处理。通过减轻开发人员的负担,简化操作可减少手动工作并提高整体效率。
  • 负载均衡:通过在多个 LLM 实例之间分散请求,框架可防止出现因过载而发生问题的实例,并可提高整体系统可靠性和响应时间。
  • 容错能力:大多数框架均包含用于检测 LLM 实例中的故障并自动将流量重定向到运行状况良好的实例的机制,从而最大限度地减少停机时间并保持服务可用性。
  • 版本控制和更新:管理不同版本的 LLM 并部署更新,而无需分发。
  • 成本效率:有效的协调可通过按需动态分配资源来优化成本。
  • 安全性和合规性:对 LLM 实例进行集中控制和监控可确保符合监管标准。
  • 整合其他服务:通过支持与数据存储、记录、监控和分析等其他服务进行整合,有助于促进形成一个内聚的生态系统。
  • 降低技术门槛:现有团队即可完成实施,而无需借助 AI 专家。工具会根据框架进行构建,以方便使用。例如,LangFlow 是适用于 LangChain 的图形用户界面 (GUI)。10

选择正确的 LLM 编排框架

应用程序开发人员可以选择采用新兴解决方案,也可从头开始构建自己的解决方案。选择合适的 LLM 框架需要深思熟虑的规划和战略。

选择 LLM 编排框架之前需考虑的事项如下:

可用性

查看此框架的 API 文档,确保它能提供帮助且可让开发人员轻松入门。另外,请查看此框架的社区资源来评估所提供的故障排除支持类型。

成本考虑因素

评估采用不同框架的成本影响。很多 LLM 编排框架均为开源框架,并提供付费企业选项。确保定价模型不仅适用于初始投资,还适用于许可证、更新和支持服务等持续开支。具有成本效益的框架可在价格与其提供的功能之间实现平衡。

安全考虑因素

选择合适的 LLM 时,应检查其是否具备安全功能;例如,加密、访问控制和审核日志。这些功能可提供数据安全,且有助于保护您的数据并遵守相关隐私法规。

性能监控与管理工具

询问监控与管理工具。其中包括用于跟踪响应时间、准确性和资源利用率等指标的功能。

LLM 编排框架

部分已知和新兴的编排框架如下:

IBM watsonx Orchestrate™

IBM watsonx Orchestrate 使用自然语言处理 (NLP) 来访问各种机器学习技能。IBM 的框架由数千个预构建的应用程序和技能组成,其中包括 AI 助手构建器和 Skills Studio。

具体用例则包括为团队提供新员工入职和为其提供支持所需的工具来助力人力资源部门,以及增强采购与销售团队。

LangChain

一种基于 Python 的开源框架,可用于构建 LLM 应用程序。LangChain 由多个开源库组成,而这些库可提供与核心 LLM 应用程序组件(例如,嵌入模型、LLM、矢量存储、检索器等)灵活对接的功能。11

LangChain 的常见端到端用例包括 SQL 数据库上的问答链和代理、聊天机器人、提取、查询分析、总结、代理模拟、自主代理等等。12

AutoGen

Microsoft 的开源多代理对话框架可提供基础模型的高级抽象。AutoGen 是一种代理框架,这意味着它会使用多个代理来进行对话和解决任务。其主要功能包括可定制的 AI 代理,而这些代理能以灵活的模式进行多代理对话,从而构建各种 LLM 应用程序。13

LLM 驱动型应用程序中的 AutoGen 实现包括数学辅导聊天机器人、会话式象棋、决策、动态群聊和多代理编码。14AutoGen 通过 AgentOps 来提供监控和回放分析,以进行调试。15

LlamaIndex

LlamaIndex 提供用于构建上下文增强型 LLM 应用程序的工具。其中包括数据连接器等数据整合工具,可用于处理 160 多种来源和格式的数据。16LlamaIndex 还包括一系列模块,可用于评估 LLM 应用程序性能。

LlamaIndex 的众多主流用例包括问答应用程序(检索增强生成,又被称为 RAG)、聊天机器人、文档理解和数据提取,以及对数据模型进行微调以提高性能。17

Haystack

Haystack 是一个开源 Python 框架,它采用两个主要概念来构建定制的端到端生成式 AI 系统:组件和管道。Haystack 与很多 LLM 提供商、矢量数据库和 AI 工具建立了合作关系,从而使得在其基础上构建的工具既全面又灵活。18

Haystack 提供的常见用例包括:语义搜索系统、信息提取和常见问题解答式问答。19

crewAI

crewAI 是一个构建于 LangChain 之上的开源多代理框架。角色扮演式自主 AI 代理会集结成团队,以完成与 LLM 应用相关的工作流和任务。20crewAI 提供一个名为 crewAI+ 的企业版本。

适合初学者和技术能力更强的用户的应用包括:登陆页面生成、股票分析和建立连接。crewAI 使用 AgentOps 为代理提供监控和指标。21

LLM 编排的未来

随着生成式 AI 应用程序的发展,LLM 框架会不断成熟,从而能简化 LLMOps 工作流,以实现更多的人工智能解决方案。

编排框架为 LLM 应用程序提供了充分利用其模型所需的工具和结构。未来的框架可能会使用 AI 代理和多代理系统来促进智能自动化

新兴编排框架中出现的模式表明,构建更复杂的架构(例如,能整合用于实现各种功能的多代理系统)可为代理提供完成自主工作流所需的技能。

可用性也正成为编排平台的首要目标。随着市场的成熟,将开发出更多注重用户体验的工具。此方法还可降低使用这些框架的技术门槛。某些编排框架(如 IBM watsonx Orchestrate)会充分利用自然语言界面来实现简易参与和可用性。

管理 LLM 编排是一项复杂的任务,而编排是扩展和自动运行 LLM 驱动型工作流的关键。

相关解决方案
基础模型

深入了解 watsonx 组合中基础模型库,从容自信地为您的业务扩展生成式 AI。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解人工智能解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

深入了解 IBM watsonx 产品组合中的 IBM 基础模型库,满怀信心地为您的业务扩展生成式 AI。

深入了解 watsonx.ai 深入了解人工智能解决方案
脚注

1. Andrei Kucharavy,“Fundamental Limitations of Generative LLMS”,SpringerLink,1970 年 1 月 1 日,https://link.springer.com/chapter/10.1007/978-3-031-54827-7_5

2. Anna Vyshnevska,“LLM Orchestration for Competitive Business Advantage: Tools & Frameworks”,Master of Code Global,2024 年 6 月 26 日。https://masterofcode.com/blog/llm-orchestration

3. Matt Bornstein、Rajko Radovanovic,“Emerging Architectures for LLM Applications”,Andreessen Horowitz,2024 年 5 月 8 日。https://a16z.com/emerging-architectures-for-llm-applications/

4. Vyshnevska,“LLM Orchestration for Competitive Business”。

5.“Quick Reference”,LangChain,https://python.langchain.com/v0.1/docs/modules/model_io/prompts/quick_start/

6.“Chains”,LangChain,https://python.langchain.com/v0.1/docs/modules/chains/

7. Manish,“Compounding GenAI Success”。

8. Salvador Garcia 等,“Big Data Preprocessing: Methods and Prospects - Big Data Analytics”,SpringerLink,2016 年 11 月 1 日,https://link.springer.com/article/10.1186/s41044-016-0014-0

9. Manish,“Compounding GenAI Success”。

10.“Create Your AI App!”,Langflow,https://www.langflow.org/

11.“Conceptual Guide”,LangChain,https://python.langchain.com/v0.2/docs/concepts/

12.“Use Cases”,LangChain,https://js.langchain.com/v0.1/docs/use_cases/

13.“Getting Started: Autogen”,AutoGen RSS,https://microsoft.github.io/autogen/docs/Getting-Started/

14.“Multi-Agent Conversation Framework: Autogen”,AutoGen RSS,https://microsoft.github.io/autogen/docs/Use-Cases/agent_chat/#diverse-applications-implemented-with-autogen

15.“AgentOps”,AgentOps,https://www.agentops.ai/?=autogen

16.“Loading Data (Ingestion)”,LlamaIndex,https://docs.llamaindex.ai/en/stable/understanding/loading/loading/

17.“Use Cases”,LangChain,https://js.langchain.com/v0.1/docs/use_cases/

18.“What Is Haystack?”,Haystack,https://haystack.deepset.ai/overview/intro

19.“Use Cases”,Haystack,https://haystack.deepset.ai/overview/use-cases

20.“Ai Agents For Real Use Cases”,crewAI,https://www.crewai.com/

21. crewAI, Inc.“Agent Monitoring with AgentOps”,crewAI,https://docs.crewai.com/introduction#agentops