5分钟科普:AI网关是什么?应用场景是什么?有没有开源的选择?

news2024/11/24 4:01:49

AI网关的功能及其定义

AI网关位于企业应用与内外部大模型调用的交汇点,能够灵活地将请求转发给内部自建模型或外部大模型服务提供商,甚至海外的服务商。它管理着企业所有的AI出口流量,为企业内的不同团队提供了多方面的优势。

对于开发团队而言,AI网关简化了模型的选择和使用过程,让他们可以专注于产品的快速迭代而无需担心成本控制或复杂的申请流程。

针对安全和治理方面的团队而言,AI网关通过实施访问控制、加密传输等措施来保证数据的安全性,并提供详细的日志记录以支持审计活动。

对于基础设施团队而言,也能从AI网关中有所收益,因为AI网关不仅有助于提高新功能上线的速度,还增强了系统对外部依赖特别是跨境服务调用时的可靠性和性能表现。综上所述,AI网关是现代企业架构中不可或缺的一部分,对于促进高效协作、保障信息安全以及优化资源利用具有重要作用。

AI网关主要的功能概述

1)API聚合:在实际应用中,一家公司可能同时使用阿里云、百度AI以及腾讯云等多个AI服务提供商的技术。通过AI网关,企业可以将这些不同来源的API统一接入到一个平台上进行管理。比如,在开发智能客服系统时,可以选择性地调用不同供应商提供的语音识别或自然语言处理能力,而无需针对每个接口单独编写代码,极大地简化了开发流程,并减少了因频繁切换API而导致的成本增加。

2)调用管理:对于大型企业而言,内部可能存在众多项目组都在使用各种AI服务的情况。为了更好地控制成本,可以通过AI网关设置每位员工每日可使用的预算上限。例如,规定市场部团队成员每天只能花费不超过50元用于图像分析等特定功能上,但并不限制他们具体访问哪些模型。这种方式既保证了资源的有效利用,又避免了不必要的开支浪费。

3)安全审查:随着越来越多敏感信息被纳入AI处理范围之内,如何保障数据安全性成为重要课题之一。AI网关能够记录所有与之交互的数据流,并为每条请求分配唯一标识符(Request ID),便于追踪审计。假如某次调用了涉及客户个人信息的服务后发现异常情况,管理员可以根据日志快速定位问题所在,并采取相应措施防止进一步泄露。

4)高可用增强:当面对高并发场景或者单个账号面临流量限制时,配置多个API Key并通过AI网关实现自动故障转移变得尤为关键。假设你正在运营一款基于人脸识别技术的应用程序,在高峰期可能会遇到API调用次数受限的问题。此时,如果预先设置了多套密钥并开启了failover机制,则一旦某个Key达到限额,系统会无缝切换至下一个有效Key继续提供服务,从而确保用户体验不受影响。

在我们的实践中,同样采用了上述方法来优化AI资源管理和成本控制。通过构建统一的AI网关平台,不仅实现了对自有研发模型和外部合作伙伴所提供服务的一体化管理,还加强了对企业资产的安全防护力度。此外,借助精细化的成本管控策略,我们能够在充分利用现有计算力的基础上,最大程度地降低总体支出,让每一位用户都能以最经济的方式享受到先进的AI技术支持。

Higress AI 开源网关 概述:

Higress是阿里基于内部Envoy Gateway实践并以Istio和Envoy为核心构建的开源 云原生AI 网关,实现了流量、微服务及AI 网关三合一的高度集成能力。它支持Dubbo、Nacos等微服务技术栈,能显著降低网关部署与运维成本。

Higress经过阿里巴巴集团包括双11在内的多次大促考验,并已在优酷、钉钉等多个业务中广泛应用。

Higress AI网关 则是Higress网关的一个细分领域

他通过提供一系列强大的插件,实现了对AI能力的全面支持与优化。

首先,在安全防护方面,AI内容审核插件能够对接阿里云的内容安全服务,有效拦截包含有害语言、误导信息、歧视性言论以及违法违规的内容,确保了大模型生成的回答符合合规标准。例如,当一个请求或响应中包含了非法内容时,该插件会立即拦截,并返回一个由内容安全服务建议的安全回答,从而保护用户免受不良信息的影响。

其次,AI代理插件极大地简化了跨多个AI提供商的操作流程,当前共支持包括国内外主流厂商在内的15家LLM(大型语言模型)提供商。这意味着开发者可以在不更改代码的情况下轻松切换不同的AI后端,大大减少了集成和维护多源AI服务的成本。这种灵活性还允许企业根据性能表现和服务价格选择最合适的供应商组合,以实现成本效益最大化。

此外,AI限流插件则能更好帮助企业更好地控制AI服务使用成本并提高系统稳定性。它不仅支持基于Token吞吐量来实施细粒度的流量限制策略,而且还可以针对特定租户设定明确的日消费额度上限。这样一来,即便是在高峰期也能保证服务的稳定运行而不至于超出预算范围。同时,通过记录详细的访问日志并与每次请求ID绑定,增强了数据安全性,防止敏感信息外泄。

最后,AI结果缓存插件,则可以存储之前已经处理过的查询及其答案,下次遇到相同问题时直接从缓存中读取答案而不是重新计算,这样既节省了宝贵的计算资源又显著提高了响应速度。此功能特别适用于客服机器人等场景,在那里重复咨询的情况非常普遍。

综上所述,Higress AI网关凭借其丰富的插件生态系统,为企业级用户提供了一个高效、灵活且安全的大规模AI应用解决方案。

Higress的AI插件设置样例

Higress的AI插件配置

Higress提供了多种AI相关的插件,包括AI检索增强生成(RAG)、AI提示词模板以及AI内容安全。每个插件都针对特定的应用场景提供支持,并且需要进行一定的配置以满足应用需求。以下是根据提供的知识对如何配置这些插件进行详细的步骤说明。

1. AI 检索增强生成 (RAG) 插件配置

此插件允许通过集成阿里云向量检索服务来提升模型基于上下文理解能力的应用性能。

  • 步骤1: 准备必要的API密钥和服务信息。
    • dashscope.apiKey: 获取用于通义千问服务认证的API Key。
    • dashvector.apiKey: 获取阿里云向量检索服务所需的API Key。
  • 步骤2: 配置服务相关信息。
    • 确定serviceName, servicePort, 和 domain对于通义千问及向量检索服务的具体值。
  • 步骤3: 在YAML文件中添加上述配置项。
dashscope:
    apiKey: "您的通义千问API Key"
    serviceName: "dashscope"
    servicePort: 443
    domain: "dashscope.aliyuncs.com"
dashvector:
    apiKey: "您的向量检索API Key"
    serviceName: "dashvector"
    servicePort: 443
    domain: "vrs-cn-xxxxxxxxxxxxxxx.dashvector.cn-hangzhou.aliyuncs.com"
    collection: "指定集合名"
  • 解释: 通过以上设置,我们为AI检索增强功能指定了必要的访问凭证和网络路径信息,使得插件能够正确地与后台服务通信并执行任务。
2. AI 提示词模板插件配置

该插件旨在帮助快速创建具有固定格式的Prompt,适用于需要控制输入结构的应用场合。

  • 步骤1: 定义模板数组。
    • 根据实际应用场景设计合适的Prompt模板结构。
  • 步骤2: 填写模板详情。
    • 对于每一个模板定义其name, model, 以及messages属性。
  • 步骤3: 将模板配置加入到系统中。
templates:
- name: "developer-chat"
  template:
    model: gpt-3.5-turbo
    messages:
    - role: system
      content: "You are a {{program}} expert, in {{language}} programming language."
    - role: user
      content: "Write me a {{program}} program."
  • 解释: 此配置段落设置了可供调用的预定义Prompt模板库,便于在具体请求时直接引用或稍作调整后使用。
3. AI 内容安全插件配置

为了确保输出内容符合法律法规要求,可以启用AI内容安全插件对接阿里云内容安全服务。

  • 步骤1: 获取阿里云账号下的Access Key ID (ak) 和 Access Key Secret (sk)。
  • 步骤2: 设置目标服务的基本信息。
    • 指定serviceSource, serviceName, servicePort, 和domain
  • 步骤3: 在YAML配置文件中录入安全检查参数。
serviceSource: "dns"
serviceName: "safecheck"
servicePort: 443
domain: "green-cip.cn-shanghai.aliyuncs.com"
ak: "您的阿里云AK"
sk: "您的阿里云SK"
  • 解释: 上述操作完成了对内容安全插件的基础设定,使系统能够在处理请求/响应过程中自动触发安全性检查流程,从而有效防止不良信息传播。

综上所述,按照以上详细步骤逐一完成相关配置后,即可充分利用Higress平台上的各项AI功能插件为您的应用程序带来更强大、安全的服务体验。

Higress本地快速部署

本例子提供了Higress的单机部署样例,Higress也支持了 基于k8s和helm chart的实现

Higress单机快速部署

根据提供的我了解的信息,这里将详细介绍如何在本地环境中使用Docker容器快速部署Higress。这种部署方式适合个人开发者进行学习或者搭建简易站点。

前置条件
  • 本机需已安装 Docker。如尚未安装,请参考官方指南:Get Docker | Docker Docs
部署步骤
  1. 创建一个工作目录
mkdir higress
  1. 启动 Higress 容器
    使用 -v 参数将宿主机的 higress 目录挂载到容器内的 /data 路径下,并通过 -p 参数暴露必要的端口(8001, 8080, 8443)。执行以下命令:
docker run -d --rm --name higress-ai -v ./higress:/data \
    -p 8001:8001 -p 8080:8080 -p 8443:8443  \
    higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:latest

监听端口说明:

  • 8001 端口:Higress UI 控制台入口。
  • 8080 端口:网关 HTTP 协议入口。
  • 8443 端口:网关 HTTPS 协议入口。
登陆 Higress 控制台进行配置
  1. 打开浏览器并输入地址 http://127.0.0.1:8001 访问 Higress 控制台。
  1. 初始化管理员账号(首次访问时):
    按照提示设置用户名和密码后,页面会自动跳转至登录界面。请使用刚才设置的信息登录控制台。
  1. 创建服务来源
    • 点击左侧菜单栏中的“服务来源”选项。
    • 点击右侧的“创建服务来源”按钮,填写如下信息后保存提交:
      • 服务类型:DNS域名
      • 服务名称:httpbin
      • 服务端口:80
      • 域名列表:httpbin.org
  1. 配置路由
    • 点击左侧菜单栏中的“路由配置”选项。
    • 点击右侧的“创建路由”按钮,按以下内容设置后保存提交:
      • 路由名称:my-route
      • 匹配规则:精确匹配,路径为 /get
      • 目标服务:从下拉列表中选择 httpbin.dns
测试生效
  1. 在浏览器地址栏输入 http://127.0.0.1:8080/get 来测试刚刚创建的路由是否正常工作。
  1. 如果一切配置无误,您应当能看到当前请求被代理到了 httpbin.org,该网站将以 JSON 格式返回您的请求详情。

以上即完成了Higress的单机版快速部署与基础配置流程。对于更高级别的定制化需求或生产环境下的部署建议参照官方文档中的其他指导。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2234797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java学习Day60:微服务总结!(有经处无火,无火处无经)

1、技术版本 jdk&#xff1a;17及以上 -如果JDK8 springboot&#xff1a;3.1及其以上 -版本2.x springFramWork&#xff1a;6.0及其以上 -版本5.x springCloud&#xff1a;2022.0.5 -版本格林威治或者休斯顿 2、模拟springcloud 父模块指定父pom <parent><…

登录功能设计(php+mysql)

一 登录功能 1. 创建一个登录页面&#xff08;login.php&#xff09;&#xff0c;包含一个表单&#xff0c;用户输入用户名和密码。 2. 在表单的提交事件中&#xff0c;使用PHP代码处理用户输入的用户名和密码。 3. 首先&#xff0c;连接MySQL数据库。然后&a…

【物联网技术】ESP8266 WIFI模块STA、AP、STA+AP、TCP/UDP透传工作模式介绍与AT指令介绍

前言:本文对ESP8266 WIFI模块STA、AP、STA+AP、TCP/UDP透传工作模式进行介绍;以及AT指令介绍,包括基础AT指令,WIFI功能AT指令、TCP/IP相关AT指令、常用AT指令实例进行介绍。 ESP8266 WIFI模块的接线及固件烧写可参考我的这篇博客:正点原子ATK-ESP8266 WIFI模块接线及固件…

【前端】JavaScript 方法速查大全-函数、正则、格式化、转换、进制、 XSS 转义(四)

&#x1f525; 前言 在现代前端开发中&#xff0c;JavaScript 是不可或缺的语言。无论是处理数据、操作 DOM&#xff0c;还是进行复杂的逻辑运算&#xff0c;掌握 JavaScript 的各种方法都是每位开发者的必修课。本文将为您提供一个全面、系统的 JavaScript 方法参考&#xff…

关于路由笔记

路由 定义&#xff1a; 在计算机网络中&#xff0c;路由是将数据包从源节点传输到目标节点的过程。这个过程涉及到网络中的多个设备&#xff0c;如路由器、交换机等&#xff0c;其中路由器起着关键的决策作用。 工作原理示例&#xff1a; 假设你在一个公司的局域网内&#…

25.停车场管理系统(基于web的Java项目)

目录 1.系统的受众说明 2.相关技术与方法 3.系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 经济可行性 3.1.3 操作可行性 3.2 需求分析 3.2.1 系统功能描述 3.2.2 用例图分析 4. 系统设计 4.1 系统类分析 5. 系统详细设计与实现 5.1 用户登录 5.2 系统信…

【含开题报告+文档+源码】基于SpringBoot+Vue智能居民健康检测系统设计与实现

开题报告 随着社会发展和人民生活水平的提高&#xff0c;人们对健康生活的要求越来越高。而广大居民由于条件限制&#xff0c;存在着健康管理服务不足的问题。本文基于JavaWeb技术&#xff0c;设计并实现了一种居民健康检测系统。首先&#xff0c;本文对该平台的需求进行了分析…

SCNU习题 总结与复习

1. P1:构建最大二叉树 【分治】 重点 构树函数需要注意的点&#xff1b; 前序遍历需要注意&#xff0c;本题的输出有点特点。若一个结点无左子&#xff0c;无右子就不再下去遍历&#xff1b; 其他情况都要下去遍历&#xff1b; 2. P2 寻找多数【分治】 没啥&#xff0c;注意…

ssm060基于SSM的高校共享单车管理系统的设计与实现+vue(论文+源码)_kaic

设计题目&#xff1a;高校共享单车管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0…

【算法】(Python)贪心算法

贪心算法&#xff1a; 又称贪婪算法&#xff0c;greedy algorithm。贪心地追求局部最优解&#xff0c;即每一步当前状态下最优选择。试图通过各局部最优解达到最终全局最优解。但不从整体最优上考虑&#xff0c;不一定全局最优解。步骤&#xff1a;从初始状态拆分成一步一步的…

记一次微信云托管搭建Redis服务

背景 最近在做一个微信小程序&#xff0c;规划服务全部部署在云托管上面&#xff0c;本次使用了对象存储、mysql、java服务、Redis服务&#xff08;pc端用的&#xff09;。 由于对部署Redis不理解&#xff0c;查看了官方文档&#xff0c;首先看到的是这个架构图&#xff0c;看…

基于SSM的校园美食交流系统【附源码】

基于SSM的校园美食交流系统 效果如下&#xff1a; 管理员主页面 用户主页面 美食信息页面 美食资讯页面 修改密码页面 论坛中心页面 研究背景 随着高校信息化建设的不断推进&#xff0c;校园生活日益丰富多样&#xff0c;学生对于美食的需求与探索也愈发旺盛。然而&#xff…

Linux—进程学习-01

目录 Linux—进程学习—11.冯诺依曼体系结构2.操作系统2.1操作系统的概念2.2操作系统的目的2.3如何理解管理2.4计算机软硬件体系的理解2.5系统调用和库函数的概念 3.进程3.1进程是什么3.2管理进程3.2.1描述进程-PCB3.2.2组织进程3.2.3总结 3.3查看进程 4.与进程有关的系统调用 …

【电子通识】白皮书、应用手册、用户指南、快速入门指南一般的定义是什么?

一般大厂家的器件或模块,除了给数据表以外,还提供应用手册、技术说明、白皮书等各种文档资料。 如下图所示为ST25 NFC/RFID标签和读卡器的文件资料:其中就有技术说明、白皮书、应用手册等。 如下所示为TI INA228技术文档相关资料: 也有应用手册、用户指南、技术文章…

python opencv灰度变换

灰度变换 灰度变换和二值化的区别&#xff1a; 灰度变换是调整调整图像的灰度动态范围或图像对比度二值化是将图像的每个像素点调至0或255&#xff0c;只呈现白色或黑色 1.灰度化处理 图片的灰度化&#xff1a;将一个像素点的三个颜色变量相等&#xff0c;RGB&#xff0c;此…

toolkit二次开发学习之程序集(ProAsmcomp)和装配体组件路径对象(ProAsmcomppath)

程序集ProAsmcomp可以理解为装配体组件对象。 对象ProAssembly是ProSolid的一个实例&#xff0c;并共享相同的声明。因此&#xff0c;ProAssembly对象可以作为适用于装配体的任何ProSolid和ProMdl函数的输入。特别是&#xff0c;因为你可以使用函数ProSolidFeatVisit()来遍历特…

WPF中如何简单的使用CommunityToolkit.Mvvm创建一个项目并进行 增删改查

目录 开始前准备的数据库dbblog如下&#xff1a; 第一步&#xff1a;创建项目后下载四个NuGet程序包 第二步&#xff1a;删除原本的MainWindow.XAML文件 并创建如下的目录结构 然后在View文件夹下面创建Login.XAML和Main.XAML 并且在App.XAML中将启动项改为Login.X…

【51蛋骗鸡一共八个灯 按顺序依次12。34。56。78。两个灯同时亮灭的代码】2022-1-19

缘由proteus流水灯-嵌入式-CSDN问答 仿真51单片机流水灯代码-编程语言-CSDN问答 protues仿真单片机控制led流水灯-嵌入式-CSDN问答 #include<reg52.h>//头文件 void main() //主函数 {unsigned char y23;unsigned int ys0;while(1){if(!ys){P0y2;if(!(y2*4))y23…

数据结构:跳表实现(C++)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言跳表跳表的优化思路skiplist&#xff0c;平衡搜索树&#xff0c;哈希表的对比 实现思路SkiplistNodesearch 搜索add 增加earse 删除 整体…

ssm基于Web的汽车客运订票系统的设计与实现+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码看文章最下面 需要定制看文章最下面 目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容…