别追逐新模型:构建一次即可访问所有模型


发布了一台新的大型语言模型。它更快、更便宜、推理能力更好,或者更适合你的某个工作量。
产品团队想测试它。从外部看,这听起来像是改个型号名称然后做几次评估。
从平台或基础设施的角度来看,事情很少那么简单。
新型号可能通过你的应用不支持的供应商发布。这意味着还需要另一个SDK、认证方法、请求格式、错误模型、环境变量集以及提供者特定的行为集合。
真正的挑战是不能访问更多模型。它防止每一个新模式都变成另一个基础设施项目。
模型只是集成的一部分
当应用直接连接到大型语言模型提供商时,它依赖的远不止模型本身。
它还取决于提供商的SDK、凭证、请求和响应模式、流式流实现、工具调用约定、速率限制、重试、模型标识符和使用数据。
提供者专用逻辑开始扩展到应用代码、秘密管理、可观测性、测试、部署流程和事件响应等领域。
这可能需要两个医生来管理。当新厂商出现、模型被弃用、API演变,团队需要不同工作负载的模型时,情况就变得更难了。
最终,团队不再维护AI应用。它维护的是内部的提供者兼容性层。
我们以前见过这个问题
软件团队以前也遇到过类似问题。
在可重复包管理和容器化环境成为标准之前,应用程序经常因库、运行时和操作系统预期版本不兼容而出现故障。更新一个依赖可能会破坏一个无关的组件。
在两个环境中部署相同软件可能会产生不同的结果。
我们称之为依赖地狱。
问题并不是依赖本身就是坏事。应用程序代码与独立演进的系统耦合得过于紧密。
工程实践通过引入稳定边界得到改进:包管理器、锁文件、容器和一致的接口。
LLM提供者现在更像是独立的依赖生态系统。每个平台都发展出自己的SDK、API、凭证、模型、工具和计费机制。直接将应用连接到每个服务提供商,重现了我们在其他地方花费多年时间消除的耦合。
将应用生命周期与模型生命周期解耦
新模型应该是配置的更改,而不是应用的重写。
应用程序和模型运行在不同的发布周期中。应用变更可能需要代码审查、安全检查、集成测试、分阶段部署和生产审批。新模型不断出现,可能需要更快地评估或重新规划。
Otari 为应用与提供者之间提供了一个稳定的 OpenAI/Anthropic 兼容终端。应用程序使用一个API密钥发送一个请求,而提供者选择、上游凭据、路由策略和后备行为则保留在网关之后。
Otari目前支持40多个提供者。
应用集成可以保持稳定:
这种分离让应用拥有产品行为,而平台拥有模型访问和运营策略。
而不是问,支持该服务商必须修改哪些规范?“,团队可以问,哪个型号应该支持这个工作负载?”
Teams仍需评估质量、延迟、隐私、可靠性和价格。奥塔里并不取代工程判断。它消除了围绕每个决策的反复整合工作。
更小的型号不应该意味着平台更小
模型能力和平台能力不是同一回事。
基于成本、延迟、隐私或部署需求,轻量或开放式机型可能更适合工作负载。然而,它们通常缺乏某些前沿模型API捆绑的托管功能。
Otari通过提供与模型无关的工具,如网页搜索和沙盒代码执行,通过同一网关帮助缩小了这一差距。
一旦工具与提供者解耦,小型模型就变得更加有趣。
碎片化超越了整合
直接的提供者集成不仅仅是分段代码。他们还会在多个系统间分散凭证,并将财务可见性分散到多个账户和账单仪表盘之间。
集中管理凭证并减少曝光
Otari 集中存储上游的提供者凭证,而应用程序则使用工作空间范围的 API 密钥调用网关。应用程序从不需要直接访问提供者密钥。
这会形成更清晰的安全边界。提供者凭证可以集中管理和轮换,应用访问可以单独范围,且泄露应用密钥的传播范围更易于控制。
统一使用和控制支出
多提供者账户使成本归因变得困难。合并发票总额无法说明是哪个应用、团队、用户、型号或环境产生了支出。
Otari 将跨服务提供商的请求和费用记录在一个地方,支持预算、使用可视化和支出控制。其托管平台还通过组织和工作空间组织访问和支出。
这使得成本管理更接近请求本身。团队无需在多次发票后才发现意外使用,而是可以通过授权模型访问的同一控制层定义限额并追踪支出。
构建产品,而不是另一个供应商抽象化
模型选择会不断变化。团队会采用新模型,淘汰旧模型,并将不同的工作负载分配给不同的供应商。
试图预测一个永久提供者并不是一个现实的平台策略。在每个应用中重建提供者专用逻辑也不是问题。
可持续的做法是为应用程序提供一个稳定的合约,并允许模型层在其背后演进。
模型仍需测试。成本仍需衡量。可靠性和安全性仍需设计。但这些决策应在专用的控制平面中完成,而不是通过在应用代码库中反复重写。
别再追逐提供商集成了。基于一个稳定的接口构建产品,让模型生态系统在其背后发生变化。
探索奥塔里
探索Otari的多服务提供商路由指南了解 One Integration 如何跨提供商路由请求、集中凭证、添加备份行为,并将使用和支出整合到一个运营视图中。