AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


多租户 AI 网关系统设计与实现
发布日期:2024-08-18 17:04:25 浏览次数: 1806 来源:剑廿三的书架



上图展示了 Cloudflare 对 AI 网关系统的简洁示意图。这个图清晰地说明了 AI 网关如何充当服务和多个 AI 提供商之间的中间层。

AI 网关系统背景:

2022 年 11 月 30 日,ChatGPT 的横空出世在业界引起了巨大反响,彻底改变了人们对 AI 技术的认知和期待。这一突破性事件催生了企业对 AI 技术应用的强烈兴趣和探索热潮。

在 AI 应用的早期阶段,许多企业采取了一种简单直接的方式:注册单一的 OpenAI 账号,并在企业内部的多个业务部门间共享使用。然而,这种做法很快面临了挑战。OpenAI 的风控体系日益完善,对账号使用的监管愈发严格。多人共用单一账号的行为极易触发系统的安全警报,导致账号被禁用,影响企业的正常业务运营。

这种情况凸显了一个迫切需求:企业亟需一个更加安全、合规、高效的 AI 接入解决方案。这正是多租户 AI 网关系统应运而生的背景,它旨在解决企业在 AI 应用过程中面临的账号管理、资源调度、安全合规等多方面挑战。


AI 网关的多模型集成与优化计费机制:


AI 网关系统的设计理念与支付网关有着异曲同工之妙,这种相似性不仅体现在功能上,也反映在架构设计和优化策略上。结合图中所示的支付网关结构,我们可以深入理解 AI 网关的设计思路和创新点:

  1. 多模型集成:
    正如支付网关对接多家银行,AI 网关也整合了多个 AI 模型服务商。图中展示的第三方支付公司通过虚拟账户连接多家银行,与 AI 网关连接多个 AI 提供商的方式如出一辙。这种设计使得 AI 网关能够灵活调用不同的 AI 模型,为用户提供更加全面和多样化的 AI 服务。

  2. 清结算机制启发:
    支付网关的清结算能力为 AI 网关的计费系统设计提供了宝贵的借鉴。图中描述的清算中心概念可以巧妙地应用到 AI 网关的计费优化中。具体而言,我们可以设计一个类似的"计费池":

  • 缓存机制:AI 网关可以暂时将多次 AI 请求的计费数据存储在内存或快速存储中。

  • 批量处理:累积一定量的计费数据或达到预设的时间间隔后,系统会触发批量清算。

  • 一次性写入:将缓存的计费数据一次性写入计费数据库,大大减少数据库写入操作的频率。

  • 性能优化:
    这种受清结算启发的计费机制能显著提升 AI 网关的性能:

    • 减少 I/O 操作:降低频繁的数据库写入,缓解数据库负担。

    • 提高吞吐量:批量处理允许系统在高峰时期更有效地管理资源。

    • 降低延迟:减少每次 AI 请求的即时计费操作,提高响应速度。

    通过借鉴支付网关的设计理念,AI 网关不仅实现了多模型的无缝集成,还在计费系统上进行了创新性的优化,为用户提供更高效、更灵活的 AI 服务接入方案。


    AI 网关的多重安全机制与智能路由:

    图中展示了 AI 网关系统的复杂工作流程,涵盖了从用户请求到最终响应的全过程。这个流程体现了 AI 网关的多重安全机制和智能路由能力:

    1. 用户认证:

    • 系统首先接收来自用户 A、B、C 的带有虚拟签名的请求。

    • 进行虚拟签名验证,确保请求的合法性。

  • IP 白名单验证:

    • 通过签名验证后,系统会检查请求 IP 是否在白名单中。

    • 如果 IP 不在白名单中,直接返回未授权错误。

  • 限流策略:

    • 对白名单内的 IP,系统实施 RPM/RPD/TPM/TPD 等限流措施。

    • 如果请求超出限流阈值,返回限流错误。

  • 模型识别与路由:

    • 系统识别请求的 AI 模型类型。

    • 根据识别结果,选择合适的 AI 提供商路由。

  • 多 API 供应商集成:

    • 系统集成了多个 AI API 供应商,如 OpenAI、Claude AI、Azure AI 等。

    • 通过轮询或其他策略选择具体的 API 供应商。

  • 错误处理与重试机制:

    • 如果某个 API 调用失败(5xx 错误),系统会自动切换到其他供应商重试。

  • 响应处理:

    • 成功获取 AI 响应(200 响应)后,将结果返回给客户端。

  • 计费与数据存储:

    • 每次请求都会进行异步计费计算。

    • 计费数据首先存入共享内存,然后每 100 次写入 Redis。

    • 每 1000 次从 Redis 写入 Postgres 数据库,实现多级缓存和持久化存储。

    无感知重试机制:提升 AI 网关可靠性的关键所在:‍‍‍‍‍‍‍‍‍‍

    在当前 AI 服务生态中,各大 AI 服务商面临着巨大的挑战。由于算力资源限制和网关系统性能瓶颈,429(请求过多)和 5xx(服务器错误)等错误已成为常态。这些问题不仅影响了服务的稳定性,也给依赖这些 AI 服务的上游业务带来了显著影响。为了最大程度地减少这些错误对客户端的影响,在 AI 网关层面实施智能重试机制变得尤为重要。

    AI 网关系统的一个核心特性是实现无感知重试,这一机制大大提升了系统的可靠性和用户体验。通过精心设计的请求处理流程,系统能够在后端服务出现故障时自动进行重试,同时对客户端保持透明。以下是实现这一机制的关键步骤:

    1. 原始请求的完整捕获
      在处理初始请求时,系统会细致地记录所有关键信息,包括请求体(body)、头部(headers)以及其他相关元数据。这些信息被安全地存储在请求上下文中,为可能的重试做好准备。

    2. 响应拦截与分析
      系统实现了一个智能的响应拦截机制。在将响应发送回客户端之前,它会对响应进行分析。这使得系统能够识别出需要进行重试的情况,尤其是遇到 429 或 5xx 错误时。

    3. 动态重构与重发请求
      一旦检测到需要重试的情况,系统会利用之前保存的原始请求信息,动态地重新构造请求。这个重构的请求可能会被发送到同一服务商的不同节点,或者完全不同的 AI 服务提供商,以增加获取成功响应的可能性。

    4. 无缝响应替换
      如果重试成功,新获取的响应会直接替换原始的错误响应。这个过程对客户端来说是完全透明的,它们只会收到最终成功的响应,而不会感知到中间可能发生的多次重试过程。

    5. 连接状态维护
      在整个重试过程中,系统会谨慎地维护与客户端的原始连接状态。这确保了即使在多次重试的情况下,连接也不会中断,客户端不会察觉到任何异常。

    6. 智能退避策略
      为了避免在短时间内对已经过载的服务进行大量重试,系统实施了智能退避策略。这包括逐步增加重试间隔时间,以及在连续失败后暂时将特定服务标记为不可用。

    通过这种精心设计的无感知重试机制,AI 网关能够有效地屏蔽后端服务的临时故障和过载情况,显著提升系统的整体可靠性和稳定性。这不仅提高了用户满意度,还减少了因服务中断而可能造成的业务损失。


    AI 模型映射:灵活高效的模型管理策略:

    AI 网关系统中的模型映射机制旨在提供高度灵活且高效的模型管理策略。这个机制不仅能够适应复杂多变的 AI 服务生态,还能够为不同用户提供个性化的模型访问体验。以下是该机制的核心设计和优势:

    1. 通配符支持
      系统支持使用通配符来设置模型映射,例如 "gpt-*=gpt-4o"。这种灵活的配置方式使得管理员能够用简洁的规则覆盖一系列相关模型,大大简化了配置过程,同时提高了系统的可维护性。

    2. 快速直接映射
      针对每个用户请求,系统首先尝试进行一次直接的映射查找。这是一个 O(1) 时间复杂度的操作,能够在大多数常见情况下快速返回结果,避免了不必要的复杂处理过程。这种优化显著提升了系统的响应速度,特别是在高并发场景下。

    3. 分层查找策略
      系统采用了智能的分层查找策略:

    • 首先在用户特定的 ModelMapper 中查找,满足个性化需求。

    • 如果未找到,则在全局 ModelMapper 中继续查找。

    • 一旦在全局映射中找到匹配,结果会被写入用户的 ModelMapper 中,优化后续查询。
      这种分层方法既保证了用户特定映射的优先级,又保持了系统的灵活性和全局一致性。

  • 最长匹配原则
    在进行模型匹配时,系统遵循最长匹配原则,确保返回最精确的匹配结果。例如:

    • gpt-4*=gpt-4o

    • gpt-4-turbo*=gpt-4-turbo

    • gpt-3.5-*=gpt-4o-mini

    • claude-3-*=claude-3-5-sonnet-20240620
      这种策略允许管理员定义细粒度的映射规则,同时为不同版本或变体的模型提供精确的重定向。

  • 动态更新与缓存
    模型映射支持动态更新,管理员可以实时调整映射规则以响应新模型的发布或策略变更。同时,系统会智能缓存常用映射结果,进一步提升查询效率。

  • 回退机制
    如果没有找到匹配的映射,系统会采用智能回退策略,可能返回原始模型名称或预设的默认模型,确保请求始终能得到处理。

  • 通过这种多层次、高效的模型映射机制,AI 网关能够灵活管理多样化的 AI 模型,适应不同用户的需求和权限设置。这不仅简化了系统管理,还提高了资源利用效率,使得整个 AI 服务生态更加健壮和可扩展。


    账号 DNA:构建灵活高效的 AI 服务生态系统:

    在现代 AI 服务平台中,账号 DNA 为构建复杂的多层次用户关系提供了优雅而高效的解决方案。这种机制不仅支持灵活的账号结构,还为 AI 服务的个性化和权限管理奠定了基础。以下是对账号 DNA 系统的深入解析:

    1. DNA 结构设计

    账号 DNA 采用了简洁而富有表现力的字符串格式:".parentID1.parentID2.parentID3..."

    • 每个 ID 之间用点号分隔,确保了结构的清晰性和可读性。

    • 这种设计允许无限层级的账号关系,完美适应复杂的组织结构和业务需求。

    • DNA 字符串的前缀匹配特性为快速关系判断提供了便利。

    1. DNA 生成机制

    新用户创建时,系统会自动生成其 DNA:
    user.DNA = fmt.Sprintf("%s%d.", parentUser.DNA, parentUser.ID)

    • 这种方法保证了每个账号 DNA 的唯一性。

    • 通过将父账号的 DNA 作为前缀,新账号自然继承了整个祖先链。

    • 这个过程是自动化的,减少了人为错误,提高了系统的可靠性。

    1. DNA 的多维应用

    DNA 机制的应用远超简单的关系判断:

    a) 祖先关系判断

    • 通过简单的字符串前缀匹配,可以瞬时确定两个账号之间的祖先关系。

    • 这种判断方法效率极高,为大规模系统提供了性能保障。

    b) 权限继承与管理

    • 子账号可以自动继承父账号的某些权限,简化了权限管理流程。

    • 系统可以基于 DNA 实现细粒度的权限控制,如限制某些操作只能在特定层级执行。

    c) 资源分配与计费

    • DNA 结构便于实现层级化的资源配额管理。

    • 可以基于 DNA 设计复杂的计费策略,如子账号使用量计入父账号额度。

    d) 数据隔离与共享

    • 使用 DNA 可以轻松实现不同层级账号间的数据隔离。

    • 同时,也可以基于 DNA 设计特定的数据共享机制,增强协作效率。

    e) 生态系统拓展

    • 每个账号都可以创建子账号,形成自己的生态圈。

    • 这种机制支持创新的商业模式,如 AI 服务的多层级分销。

    通过这种精心设计的账号 DNA 系统,AI 服务平台能够支持复杂的组织结构和业务模型,为用户提供高度个性化和灵活的服务体验。它不仅简化了系统管理,还为平台的持续增长和创新提供了坚实的基础。


    零信任安全设计:构建坚不可摧的 AI 服务数据防线:

    在当今复杂多变的网络环境中,零信任安全设计旨在为 AI 服务平台提供最高级别的数据保护:

    1. 数据加密存储

    目的:即使攻击者获得数据库访问权限,也无法直接窥视敏感信息。

    实施措施:

    • API Key 等关键数据使用强加密算法存储

    • 加密密钥与数据分离存储‍‍

    • 实施字段级加密,确保数据库管理员级别无法直接查看明文敏感数据

    1. 严格的数据修改控制

    目的:确保系统核心数据的修改遵循严格的控制流程。

    实施措施:

    • 所有修改必须通过经过认证和授权的 API 接口进行

    • 直接对数据库的修改被视为无效,系统会自动纠正未经授权的更改

    • 写入操作时,系统从可信数据源(如 Redis 或共享内存)重新获取最新数据

    通过这些措施,AI 服务平台可以建立起坚实的数据防线,有效防范各种潜在的安全威胁。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询