编辑 | 星璇
出品 | 51CTO技术栈(微信号:blog51cto)
语义路由器是一种新模式,它使 AI Agent能够为正确的任务选择正确的 LLM,同时减少其对 LLM 的依赖。
新兴的智能体Agent工作流程模式严重依赖 LLM 来执行推理和决策。每个Agent在任务执行期间多次调用 LLM。对于由多个Agent组成的工作流,调用次数呈指数级增长,从而导致成本和延迟。
有各种具有不同特性和功能的语言模型,例如小型语言模型、多模态模型和专门构建的特定于任务的模型。Agent可以使用这些模型来完成工作流程。这降低了成本和延迟,并提高了整体准确性。
语义路由器是一种模式,它使Agent能够为正确的任务选择正确的语言模型,同时还可以通过本地决策减少对模型的依赖。在幕后,语义路由器使用存储在向量数据库中的嵌入向量将提示与一组现有短语(也称为话语)匹配,以将它们映射到特定路由。路由可以是最适合任务的 LLM。因为语义搜索决定了目标,所以我们称之为语义路由器。
语义路由器使用与 RAG 管道中的检索器相同的技术来执行语义搜索以查找正确的匹配项。但它不是文本块,而是基于输入返回单个预定义的路由。
尽管将语义路由器实现为Agent和 LLM 之间的自定义层在技术上是可行的,但开源 Semantic Router 项目越来越受欢迎。
一、Semantic Router 是何神器?
Semantic Router,是一种创新的开源工具,由一家名为 Aurelio AI 的公司开发,可改变基于 AI 的Agent的决策。该层通过利用语义向量空间更有效地路由请求,增强了 LLM 和Agent的功能。与依赖缓慢的 LLM 生成来做出工具使用决策的传统方法不同,Semantic Router 利用语义含义的力量来做出快速准确的选择。
该项目提供与各种嵌入模型的无缝集成,包括 Cohere 和 OpenAI 等流行选项,以及通过 HuggingFace 编码器支持开源模型。该项目利用内部内存向量数据库,但如果想要使用 Pinecone 和 Qdrant 等主流向量数据库引擎,也很容易轻松配置。语义路由器能够根据用户查询做出决策,从而显著缩短处理时间,通常从 5000 毫秒缩短到仅 100 毫秒。
凭借其 MIT 许可证,Semantic Router 是可扩展的,允许开发人员自由地将其合并到他们的项目中。该工具解决了 AI 开发中的关键挑战,包括安全性、可扩展性和速度,使其成为创建更高效、响应更迅速的Agent工作流程的宝贵资产。
二、语义路由器的关键组件
1.路由和话语Utterances
路由构成了 Semantic Router 决策过程的支柱。每个路由都代表一个潜在的决策或操作,并由一组 Utterances 定义,这些 Utterances 是映射到特定路由的示例输入。系统会将这些 Utterances 馈送到每个路由的语义配置文件中。我们将新输入与这些话语进行比较,以找到最接近的匹配项。
在实践中,这允许系统根据输入的语义含义对输入进行分类和响应,而不是依赖 LLM 生成,因为 LLM 生成可能会很慢或容易出错。开发人员可以自定义路由以适应特定应用程序 — 无论是筛选敏感主题、管理 API 还是在复杂的工作流程中编排工具。
2.编码器和向量空间
为了将输入与预定义的话语进行比较,语义路由器使用编码器将文本转换为高维向量。这些向量位于语义空间中,其中向量之间的距离反映了相应文本的语义相似性。距离越短,输入的语义相关性就越高。
Semantic Router 支持多种编码方法,包括用于高性能 API 驱动型工作流的 Cohere 和 OpenAI 编码器,以及用于寻求开源、本地可执行替代方案的用户的 Hugging Face 模型。开发人员可以灵活地选择不同的编码器,从而根据其特定的基础设施定制系统,从而平衡性能、成本和隐私问题。
3.决策层
一旦输入被编码并与预定义的路由进行比较,语义路由器就会使用 RouteLayer 做出决策。该层聚合路由和嵌入,并管理决策过程。它还支持混合路由,系统可以结合本地和基于云的模型来优化性能。
4.本地 LLM 集成
对于希望保持对其 LLM 的完全控制或减少对外部 API 的依赖的开发人员,Semantic Router 通过 LlamaCPP 和 Hugging Face 模型提供对本地模型的支持。消费类硬件(如运行 Apple Metal 硬件加速的 MacBook 或 Microsoft Copilot+ PC)可以完全执行路由决策和 LLM 驱动的响应。这种本地执行模型不仅可以减少延迟和成本,还可以提高隐私和安全性。
5.可扩展性
向工作流添加更多工具和智能体时,可扩展性成为一个问题。LLM 的上下文窗口有限,这意味着它们难以处理大量数据或上下文。语义路由器通过将决策与 LLM 解耦来解决这个问题,使其能够同时处理数千个工具,而不会使系统过载。这种关注点分离使智能体能够在不牺牲性能或准确性的情况下进行扩展。
三、使用案例和场景
众所周知,一个智能体需要同时管理多个工具、API 或数据集,这就特别适合 Semantic Router。在典型的工作流程中,路由器可以根据输入快速确定要使用的工具或 API,而无需进行完整的 LLM 查询。这在虚拟助手系统、内容生成工作流和大规模数据处理管道中特别有用。
例如,在虚拟助手中,Semantic Router 可以有效地将“安排会议”或“检查天气”等提示路由到适当的 API 或工具,而无需 LLM 参与每个决定。同样,请求可以路由到经过微调的 LLM,以响应医学或法律术语。这不仅可以减少延迟,还可以确保为用户提供一致、可靠的体验。
语义路由器可用于评估是否应将提示直接发送到在本地运行的小型语言模型,或者是否必须通过调用在云中运行的功能强大的 LLM 将其映射到函数及其参数。这在利用基于云的语言模型和本地语言模型的联合语言模型的实现中尤其重要。
在智能体工作流时代,对高效、可扩展和确定性决策系统的需求比以往任何时候都更加迫切。Semantic Router 通过利用语义向量空间的强大功能来做出快速、可靠的决策,同时仍允许在需要时与 LLM 集成,从而提供强大的解决方案。它的灵活性、速度和确定性使其成为希望构建下一代 AI 系统的开发人员不可或缺的工具。
随着 LLM 的发展和多样化,Semantic Router 等工具对于确保Agent系统能够执行、扩展和提供一致的结果至关重要。这将帮助开发人员找到在其工作流程中使用 AI 的新方法。
参考链接:https://thenewstack.io/semantic-router-and-its-role-in-designing-agentic-workflows/