LLM 编排有助于提示、链接、管理和监控大型语言模型 (LLM)。LLM 编排由编排框架驱动。这些框架属于综合工具,可简化 LLM 驱动型应用程序的构建和管理。
LLMOps 在各种应用中均会使用编排功能,例如自然语言生成、机器翻译、决策和聊天机器人。随着组织采用人工智能来构建此类生成式 AI 应用程序,高效的 LLM 编排便显得至关重要。
虽然 LLM 的基础模型很强大,但 LLM 自身可以完成的任务有限。例如,LLM 缺乏实时保留或学习新信息的能力,且难以完成多步骤问题,因为它们可从上下文中保留的内容会受到限制。1此外,在处理不同 LLM 提供商的应用程序编程接口 (API) 时,协调大量 LLM 很快就会变得十分复杂。
LLM 编排框架可通过简化在与语言模型的对话中集成提示工程、API 交互、数据检索和状态管理所涉及的复杂流程来弥补这些限制。2
眼下,新的 LLM 编排框架正在进行开发,且日益受到欢迎。某些 LLM 编排会专门用作配置或数据库框架,而其他编排则会使用 AI 代理来协作完成任务或目标。
要了解 LLM 协调框架的工作原理,了解编排在 LLM 驱动型应用程序架构中的所处位置会很有帮助。
编排框架可简化复杂任务,包括提示链接、与外部 API 对接、从矢量数据库获取上下文数据,以及管理多个 LLM 交互中的内存。LLM 编排中通常所用操作任务的总体概述如下:
提示工程是指构建 LLM 输入(提示),以便生成式 AI 工具产生优化后的输出。协调框架提供了提示模板,其中包含操作说明、少量实例和具体上下文,以及适用于某一任务的问题。5
链接是指旨在连接多个 LLM 以组合其输出,从而实现更细微结果(也称为提示链接)、工具或数据预处理步骤的一系列调用。6
编排层通过将提示存储在知识库或库中来管理这些提示任务,而在此类库中可轻松搜索和检索提示数据。编排器可根据实时输入、上下文或用户偏好从此库中动态选择提示。此外,它还可按逻辑顺序对提示进行排序,以管理聊天流。
LLM 缺乏持续学习的固有能力,且在上下文理解方面存在限制。通过管理提示,编排器可通过评估响应来改进输出。
此外,LLM 也无法对自身进行事实核查,从而会在未加管理的情况下导致幻觉问题。编排器可对响应进行事实核查,并确保它们符合自定义准则。如果响应效果不佳,编排器可将其标记为需进行人工审查或提出替代建议,以便 LLM 能有效地进行学习和改进。7
大多数 LLM 编排框架均包含某种形式的 LLMOps 以用于操作监控。这些功能包括根据 LLM 基准测试来收集性能指标。此类指标可通过仪表板进行查看,以便用户能实时了解 LLM 性能指标。
其他 LLMOps 资源则包括用于根本原因分析 (RCA) 的诊断工具,而它们可缩短调试时间。
编排器通过使用合适的连接器或 API 来简化从已识别的源进行数据访问和检索。预处理是指将来自多个来源的“原始”数据转换为适合 LLM 的格式。数据集合越大,分析它的数据机制就须越尖端。预处理可确保这些数据适应每个数据挖掘算法所提出的要求。8编排器可通过调整和优化这些数据以使其更具价值,从而促进预处理。
编排器会启动 LLM 以执行其分配的任务。处理完成后,编排器会接收模型输出并整合所有反馈机制以评估其整体质量,并将其交付到相应的目的地。
编排器包含充当知识库的内存存储,以改进 LLM 输出和交互并提供上下文理解能力。通过处理和存储先前的消息或输入,编排器可积累长期知识,从而可根据以往互动来提供更准确的响应。9
编排器负责简化 LLM 可观测性功能与防护框架的实现。从 LLMOps 的角度来看,如果缺少这些功能,LLM 便可能会输出误导性结果,并因未经高度调优的 LLM 的有限能力而引发安全风险。
LLM 编排框架可提供简化 LLM 交互和工作流所需的管理与优化功能,从而增强 LLMOps。
应用程序开发人员可以选择采用新兴解决方案,也可从头开始构建自己的解决方案。选择合适的 LLM 框架需要深思熟虑的规划和战略。
选择 LLM 编排框架之前需考虑的事项如下:
查看此框架的 API 文档,确保它能提供帮助且可让开发人员轻松入门。另外,请查看此框架的社区资源来评估所提供的故障排除支持类型。
评估采用不同框架的成本影响。很多 LLM 编排框架均为开源框架,并提供付费企业选项。确保定价模型不仅适用于初始投资,还适用于许可证、更新和支持服务等持续开支。具有成本效益的框架可在价格与其提供的功能之间实现平衡。
选择合适的 LLM 时,应检查其是否具备安全功能;例如,加密、访问控制和审核日志。这些功能可提供数据安全,且有助于保护您的数据并遵守相关隐私法规。
询问监控与管理工具。其中包括用于跟踪响应时间、准确性和资源利用率等指标的功能。
部分已知和新兴的编排框架如下:
IBM watsonx Orchestrate 使用自然语言处理 (NLP) 来访问各种机器学习技能。IBM 的框架由数千个预构建的应用程序和技能组成,其中包括 AI 助手构建器和 Skills Studio。
具体用例则包括为团队提供新员工入职和为其提供支持所需的工具来助力人力资源部门,以及增强采购与销售团队。
一种基于 Python 的开源框架,可用于构建 LLM 应用程序。LangChain 由多个开源库组成,而这些库可提供与核心 LLM 应用程序组件(例如,嵌入模型、LLM、矢量存储、检索器等)灵活对接的功能。11
LangChain 的常见端到端用例包括 SQL 数据库上的问答链和代理、聊天机器人、提取、查询分析、总结、代理模拟、自主代理等等。12
LlamaIndex 提供用于构建上下文增强型 LLM 应用程序的工具。其中包括数据连接器等数据整合工具,可用于处理 160 多种来源和格式的数据。16LlamaIndex 还包括一系列模块,可用于评估 LLM 应用程序性能。
LlamaIndex 的众多主流用例包括问答应用程序(检索增强生成,又被称为 RAG)、聊天机器人、文档理解和数据提取,以及对数据模型进行微调以提高性能。17
Haystack 是一个开源 Python 框架,它采用两个主要概念来构建定制的端到端生成式 AI 系统:组件和管道。Haystack 与很多 LLM 提供商、矢量数据库和 AI 工具建立了合作关系,从而使得在其基础上构建的工具既全面又灵活。18
Haystack 提供的常见用例包括:语义搜索系统、信息提取和常见问题解答式问答。19
crewAI 是一个构建于 LangChain 之上的开源多代理框架。角色扮演式自主 AI 代理会集结成团队,以完成与 LLM 应用相关的工作流和任务。20crewAI 提供一个名为 crewAI+ 的企业版本。
适合初学者和技术能力更强的用户的应用包括:登陆页面生成、股票分析和建立连接。crewAI 使用 AgentOps 为代理提供监控和指标。21
随着生成式 AI 应用程序的发展,LLM 框架会不断成熟,从而能简化 LLMOps 工作流,以实现更多的人工智能解决方案。
编排框架为 LLM 应用程序提供了充分利用其模型所需的工具和结构。未来的框架可能会使用 AI 代理和多代理系统来促进智能自动化。
新兴编排框架中出现的模式表明,构建更复杂的架构(例如,能整合用于实现各种功能的多代理系统)可为代理提供完成自主工作流所需的技能。
可用性也正成为编排平台的首要目标。随着市场的成熟,将开发出更多注重用户体验的工具。此方法还可降低使用这些框架的技术门槛。某些编排框架(如 IBM watsonx Orchestrate)会充分利用自然语言界面来实现简易参与和可用性。
管理 LLM 编排是一项复杂的任务,而编排是扩展和自动运行 LLM 驱动型工作流的关键。
借助您的 AI 合作伙伴 Bob,加速软件交付,实现安全的意图感知型开发。
使用 IBM watsonx Orchestrate 轻松设计可扩展的 AI 助手和智能体,自动执行重复任务并简化复杂流程。
借助 IBM 业界领先的 AI 专业知识和解决方案组合,让 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。