自从 OpenAI 推出 ChatGPT 开始,AI 领域经历了巨大的变化。针对不同的使用场景进行了优化,OpenAI 提供了多个版本的 AI 模型。一些模型响应速度更加的快,还有一些则更加注重精度。除了 OpenAI,还有许多其他厂商和模型可供选择,比如 Hugging Face 上近两万个开源模型。在如此多样化的 LLM(大语言模型)生态中,'用一个 LLM 就解决所有问题'的设计思路似乎已经难以满足实际需求。
为此,开发者们逐渐采用更加灵活的策略来管理大模型的请求,其中主要有两种:专家混合(Mixture of Experts,MoE)和 LLM 代理(LLM Proxy)或 LLM 网关(LLM Gateway)。
下面将介绍 LLM 代理或 LLM 网关在 AI 驱动应用中的通用设计模式,同时也探讨一下如何利用开源工具构建自定义的 LLM 代理,帮助改进 AI 模型的 CI/CD(持续集成与持续交付)流程。

什么是 LLM 代理/LLM 网关/AI 网关?
LLM 代理和 LLM 网关、或者说 AI 网关是一种架构解决方案,即通过抽象化访问大语言模型(LLM),在应用程序与 LLM 之间充当中间层。
这个方案不仅能够简化 API 集成,还借鉴了传统代理服务器的优势,例如日志记录、监控、负载均衡等功能。通过这种架构,可以为不同任务选择'最合适的模型',而无需在应用程序层面进行大量代码修改,避免了'一刀切'的模型使用假设。
LLM 代理/LLM 网关解决的挑战
在生产环境中部署 LLM 时,主要解决的需求是如何实现访问来自不同供应商的多个模型。这种设计模式通常被称为'多 LLM'(Multi LLM)。随着企业从 GPT-4o 切换到 GPT-4o-mini,或尝试其他选择如 Anthropic,直接对接每个 LLM 供应商会变得非常复杂且低效。LLM 代理可以有效解决这一问题,通过统一的接口简化模型切换和管理。

如上图所示,每个供应商的 API 可能略有不同,当你需要在不同模型之间切换时,往往需要部署新版本的代码。也就是说你要需要了解每个 AI 供应商的 API,并具备一定的专业知识。
然而,随着 AI 供应商的越来越多(包括各种开源的选择),这种接入方式显然困难且低效。
理想情况下,你可以通过统一 API 访问的方式来解决多个大模型的调用,这样不仅模型之间可以快速切换,而且无需修改应用程序的代码。
虽然这种实现也可以通过 LangChain 来管理,但目前,LangChain 是在应用层实现这一功能的,而 LLM 代理则允许你可以从一个平台上对多个应用进行统一配置。
开源 LLM 网关解决方案
以下是使用配置 LLM 供应商的示例:
设置 AI 模型供应商
在开始创建 AI 服务之前,首先需要配置 AI 模型供应商。支持多种 AI 模型,包括 OpenAI、Anthropic、AWS Bedrock、Google Gemini 等。配置供应商后,就可以选择不同的模型来创建 AI 服务,并在网关中统一管理所有 AI 服务的授权信息和成本统计。
进入系统设置模块,在侧边栏中选择 AI 模型管理,在列表中可以看到网关支持的所有 AI 供应商。

以接入 OpenAI 为示范,点击设置按钮,在弹窗中:
1)选择 :后续在 AI 服务中创建 API 时,系统会自动为 API 设置默认的 AI 模型,减少用户操作的次数。









