一文搞懂:AI网关这个新东西是什么意思?有没有开源免费的选择?

AI网关是什么意思?有什么用?

AI网关是企业应用与内外部大模型之间的桥梁,它位于企业应用与内外部大模型的调用交汇点。

AI网关的主要功能 是 将应用请求 通过集中管理模块 转发给 1 内部自建模型、2 外部大模型服务提供商,甚至 3 海外模型提供商。

通过这种方式,AI网关在企业内管理了所有的AI出口流量,为开发运维团队提供了更好的维护切面,同时也为不同团队带来了不同的好处:

对于开发团队来说: AI网关可以让开发团队不再关心模型费用和申请问题,按需调用即可,加速应用构建。这意味着开发团队可以更专注于应用的开发,而不需要担心与AI模型申请和管理相关的繁琐事务。

对于安全和治理团队来说:AI网关通过限制访问、确保安全使用AI模型及提供控制、审计和可见性,保护应用。这有助于确保企业应用的安全性和合规性,同时为安全和治理团队提供了更好的控制手段。

对于基础设施团队来说:AI网关在加速开发应用构建的同时,增强整个AI调用的稳定性,尤其是海外模型调用的稳定性。这有助于提高企业应用的性能和可靠性,同时降低故障和延迟的风险。

总的来说,AI网关在企业应用与内外部大模型之间起到了关键的作用,它不仅提高了应用的开发效率,还增强了应用的安全性和稳定性。

AI网关应有的核心能力

1)API聚合 :通过AI网关,企业可以将来自不同AI供应商的服务统一管理起来。例如,一家公司可能同时使用了阿里云的语音识别服务、百度的图像识别技术以及谷歌的文字翻译功能。在这种情况下,AI网关能够作为单一接入点,让开发者只需面对一个接口就能访问到所有这些服务,极大地简化了集成过程并降低了维护成本。

2)调用管理 :对于内部团队来说,合理控制预算同样重要。比如,在某大型科技公司内部,管理层希望限制每个项目组每日在AI服务上的开销不超过一定金额(如500元),但并不想因此而限制他们探索不同的模型或功能。借助AI网关提供的调用管理功能,管理员可以轻松设定这样的规则,既保证了财务健康又促进了创新活动。

3)安全审查:考虑到敏感数据的安全性至关重要,AI网关还提供了强大的日志记录与追踪机制。假设有一家金融机构正在利用AI分析客户行为模式以改进其产品推荐系统,那么通过启用AI网关的安全审查功能,该机构不仅能详细跟踪每一次请求的具体内容及其返回结果,还能确保所有交易信息都得到妥善保护,防止未授权访问或泄露给第三方。

4)高可用增强:当业务规模不断扩大时,单一API Key可能会成为瓶颈。为解决这个问题,AI网关支持配置多个备用密钥。假如某个在线教育平台每天都要处理数百万次的自然语言处理请求,并且已经设置了两个来自不同提供商的有效密钥A和B。一旦发现密钥A因达到速率限制而无法继续工作时,系统会自动切换至密钥B继续提供服务,从而有效避免了因单点故障导致的服务中断问题,提高了整体系统的稳定性和响应速度。

基于我们在阿里巴巴集团内部的最佳实践来看,采用AI网关是十分必要的。它不仅帮助我们高效整合了自建模型与外部优质资源,使得用户可以无缝享受到最前沿的人工智能成果;更重要的是,通过精细化的成本管理和严格的数据安全措施,我们也能够更好地保护客户隐私,同时实现经济效益的最大化。

Higress AI 开源网关 功能介绍

Higress AI网关 是一个阿里 开源的 网关 ,里面有大量AI插件,提供了多种关键功能,这些功能不仅增强了系统的灵活性和安全性,也提高了用户体验。

1)API多模型适配: 在多模型适配方面,即使不同供应商提供的大模型在接口调用上有差异,通过统一的API层,可以轻松实现跨平台兼容,极大地简化了集成流程。AI代理插件支持与超过15家国内外知名的大规模语言模型(LLM)提供商对接,这大大减少了企业在选择或更换AI服务时的成本和技术障碍。同时,这种广泛的兼容性还允许组织内部的不同团队根据自己的需求自由地访问最适合其应用场景的语言模型,而无需担心底层技术栈的变化对业务造成影响。

2)AI内容审核插件,它能够无缝连接至阿里云的内容安全服务,自动识别并过滤掉诸如非法言论、虚假信息或是含有歧视性的文本片段,确保输出给最终用户的每一条信息都是符合法律规范且积极正面的。此外,该插件还能详细记录下每一次请求及其处理结果,便于后续审计追踪,并且所有这些日志都会被赋予唯一的请求ID,以便于快速定位问题发生的位置。

3)统计和限流插件。一方面,通过实时生成Prometheus监控指标以及在访问日志中打印相关数据,管理员可以清楚地了解到当前系统的Token吞吐量;另一方面,则是基于上述统计信息实施灵活的流量控制策略,比如设置每个用户每天最大允许使用的Token数量上限,这样既能保证公平使用公共资源,又能有效防止因滥用导致的服务不稳定现象。

4)高可用切换插件:AI网关特别设计了一套健壮的密钥管理方案——当某个密钥失效时,系统会自动切换到下一个可用密钥继续提供服务,直到耗尽所有备选选项为止。这种方式不仅提升了整体服务的可靠性和连续性,也为用户带来了更好的体验。总之,通过结合以上提到的各项核心能力,AI网关为企业级应用提供了一个强大而全面的AI基础设施平台。

Higress的AI插件设置

Higress 提供了多种 AI 插件以增强其功能,比如 AI 检索增强生成(RAG)、AI 内容安全以及 AI 提示词模板。接下来将分别基于这三类插件提供详细的配置指南。

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

此插件旨在通过阿里云向量检索服务来提升模型的搜索和生成能力。配置时需要提供关于通义千问服务及阿里云向量检索服务的相关信息。

  1. 准备必要参数:确保你已经获取了dashscopedashvector的服务相关密钥及域名等信息。
  1. 编辑配置文件:在你的项目中找到或创建一个 YAML 格式的配置文件。参考如下格式填写相应信息:
dashscope:apiKey: [您的apiKey]serviceName: [服务名称]servicePort: [服务端口, 如443]domain: [访问服务时使用的域名]
dashvector:apiKey: [您的apiKey]serviceName: [服务名称]servicePort: [服务端口, 如443]domain: [访问服务时使用的域名]
  1. 应用配置:保存更改后的配置文件,并根据具体环境重启或者重新加载 Higress 服务使得新设置生效。

2 ) AI内容安全插件配置

为了保障大模型输出的内容符合规范要求,可以启用该插件并与阿里云内容安全服务集成。

  1. 获取接入凭证:首先登录到阿里云控制台并创建所需的服务实例,记录下ak(Access Key ID)与sk(Secret Access Key)。
  1. 更新YAML配置:同样地,在您的配置文件里添加如下条目:
serviceSource: "dns"
serviceName: "safecheck"
servicePort: 443
domain: "green-cip.cn-shanghai.aliyuncs.com"
ak: "[您的AK]"
sk: "[您的SK]"
  1. 验证设置:保存配置并重新启动服务后,可以通过发送含有敏感词汇的请求测试是否能够正确触发内容过滤机制。

3) AI提示词模板插件配置

当希望对用户输入进行预处理,以确保它们符合某些特定格式或规则时,可以考虑使用这个插件。

  1. 定义模板:在配置文件中指定想要使用的Prompt模板及其细节:
templates:
- name: "example-template"template:model: gpt-3.5-turbomessages:- role: systemcontent: "You are an expert in answering questions about..."- role: usercontent: "{{query}}"
  1. 发送请求:客户端发送API调用时需包含之前定义好的模板名以及任何必要的变量替换值,如:
{"template": "example-template","properties": {"query": "What is the capital of France?"}
}

按照上述步骤操作即可完成Higress AI插件的基本配置过程。每一步都至关重要,请务必仔细检查每一项设置是否准确无误。此外,对于更高级别的定制化需求,则可能还需要深入查阅官方文档获取更多信息。

Higress单机简易部署

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

Higress单机快速部署

根据我了解的信息中的第2篇参考内容,这里将详细介绍如何在本地环境中使用Docker快速部署Higress,并完成基本的配置与测试。此方法适用于个人开发者在本地搭建学习环境或用于简易站点。

前置条件
  • 本机已安装Docker。如未安装,请参考官方指南进行安装:Get Docker | Docker Docs
部署步骤
  1. 创建一个工作目录来存放Higress相关的文件和数据。
mkdir higress
  1. 使用Docker运行Higress容器。这一步会自动下载所需的镜像并启动服务。
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

解释

    • -d 表示后台运行容器。
    • --rm 指令确保当容器停止时自动删除它。
    • --name higress-ai 给容器指定一个名称。
    • -v ./higress:/data 将当前主机上的higress目录挂载到容器内的/data路径下,这样可以让容器内产生的配置等文件被持久化保存。
    • -p 8001:8001-p 8080:8080-p 8443:8443 分别映射了容器内部的8001、8080以及8443端口到宿主机对应的端口上。
    • higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:latest 是使用的Docker镜像名称及其版本号。
  1. 登录Higress控制台开始进行必要的初始化设置及后续操作。
    • 在浏览器中输入 http://127.0.0.1:8001 进入Higress UI管理界面。
    • 首次访问需要初始化管理员账号。按照页面提示设置用户名密码后点击“确定”按钮完成注册流程。
    • 利用刚才设置好的凭据登录到控制台。
  1. 配置服务来源和服务路由规则。
    • 点击左侧菜单栏里的“服务来源”,然后点击右方出现的“创建服务来源”按钮。在此处添加一个新的DNS域名作为示例服务(比如选择httpbin.org)。
    • 接着转至“路由配置”,点击“创建路由”。为这个新创建的服务定义一个匹配规则(例如精确匹配路径/get),同时选择刚才添加的服务作为目标。
  1. 测试验证所做配置是否生效。
    • 打开命令行工具或者直接在浏览器地址栏里输入http://127.0.0.1:8080/get尝试访问刚刚设定好的路由。
    • 如果一切正常,您应该能看到来自httpbin.org网站返回的一段JSON格式响应信息,表明请求已经成功地被转发到了该远程服务器。

通过上述步骤,您就完成了Higress网关的一个基础版本部署,并能够基于此开展更复杂的应用场景探索。请注意,尽管这种方式非常适合快速试用或小规模实验,但对于生产级别的应用来说还是建议采用更为稳定可靠的Kubernetes集群部署方案。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Java中,实现数据库连接通常使用JDBC

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 IDEA编程利器技巧(编写中……) 5、面经吐血整理的 面试技…

机器人零位、工作空间、坐标系及其变换,以UR5e机器人为例

机器人中的主要坐标系 在机器人中,常用的坐标系包括: 基坐标系(Base Frame):固定在机器人基座上的坐标系,用于描述机器人的整体位置和方向,是其他所有坐标系的参考点。 连杆坐标系&#xff08…

CSS的配色

目录 1 十六进制2 CSS中的十六进制2.1 十六进制颜色的基本结构2.2 十六进制颜色的范围2.3 简写形式2.4 透明度 3 CSS的命名颜色4 配色4.1 色轮4.2 互补色4.3 类似色4.4 配色工具 日常在开发小程序中,客户总是希望你的配色是美的,但是美如何定义&#xff…

STM32——ADC

目录 1、ADC的介绍 2、ADC主要特征 3、ADC结构与引脚 4、ADC配置流程 5、示例(光敏电阻的ADC采样) 6、提示 7、结语: 1、ADC的介绍 12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部 信号…

Node.js——fs模块-同步与异步

本文的分享到此结束,欢迎大家评论区一同讨论学习,下一篇继续分享Node.js的fs模块文件追加写入的学习。

Python | Leetcode Python题解之第528题按权重随机选择

题目: 题解: class Solution:def __init__(self, w: List[int]):self.pre list(accumulate(w))self.total sum(w)def pickIndex(self) -> int:x random.randint(1, self.total)return bisect_left(self.pre, x)

道品科技的水肥一体化智能灌溉:开启现代农业的创新征程

水肥一体化智能灌溉作为一种现代农业技术,其通过对水分与养分供应的有效整合,致力于营造作物的最佳生长环境。此项技术的核心要义在于凭借智能化系统精准把控灌溉与施肥的流程,进而提升水资源的利用效率,降低肥料的浪费程度&#…

GitHub个人主页美化

效果展示 展示为静态效果,动态效果请查看我的GitHub页面 创建GitHub仓库 创建与GitHub用户名相同的仓库,当仓库名与用户名相同时,此仓库会被视作特殊仓库,其README.md(自述文件)会展示在GitHub个人主页…

QT5串口多线程--派生类加moveToThread

QT5串口多线程--派生类加moveToThread Chapter1 QT5串口多线程--派生类加moveToThread前言新建工程源码serialobject.hserialobject.cppmanager.hmanager.cppwidget.hwidget.cpp 测试 Chapter2 QT在PC开发中多串口通信有哪些方法方法实现方案一:需要注意的是&#x…

框架学习01-Spring

一、Spring框架概述 Spring是一个开源的轻量级Java开发框架,它的主要目的是为了简化企业级应用程序的开发。它提供了一系列的功能,包括控制反转(IOC)、注入(DI)、面向切面编程(AOP)…

十年码农的编程心得分享

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

【网络安全】|nessus使用

1、扫描结果分析: Sev:漏洞的严重性级别 CVSS:量化漏洞严重性的标准,通过计算得出一个分数,分数越高表示漏洞越严重。 VPR:基于风险的评分系统,帮助组织优先处理风险最高的漏洞。 EPSS&#xf…

为什么越来越多人开始用云电脑?网友道出了真相

近期,3A游戏大作《黑神话:悟空》的横空出世,成功激起大多数人对国产游戏的兴趣。然而,没有一台高配置的电脑,就无法在《黑神话:悟空》中获得震撼的游戏体验。想要配齐处理器、显卡、内存等硬件,…

W6100-EVB-Pico2评估板介绍

目录 1 简介 2 硬件资源 2.1 硬件规格 2.2 引脚定义 2.3 工作条件 3 参考资料 3.1 RP2350 数据表 3.2 W6100 数据表 3.3 原理图 原理图 & 物料清单 & Gerber 文件 3.3 尺寸图(尺寸:mm) 3.4 参考例程 认证 CE FCC 4 硬…

VUE2升级成VUE3的优化与区别

大家好,我是小编阿贤。欢迎各位大神关注《全栈技术圈》,让技术更加简单易懂。 1. vue2和vue3实例区别 1.1 创建一个vue2实例 在vue2里面的Vue是一个构造函数,通过该构造函数创建一个Vue实例,data选项可以是对象,也可以…

ProLightsfx新的出发–从CSDN到WordPress

原文链接:ProLightsfx新的出发--从CSDN到WordPress_ProLightsfx的技术分享 (https://www.prolightsfxjh.com/article/article-new-start/) 大概有差不多2年时间没有在csdn发布文章了。可能主要是最近几年工作有些疲惫、精神有些懈怠&#xff…

「Mac畅玩鸿蒙与硬件19」鸿蒙UI组件篇9 - 自定义动画实现

自定义动画让开发者可以设计更加个性化和复杂的动画效果,适合表现独特的界面元素。鸿蒙提供了丰富的工具,支持通过自定义路径和时间控制来创建复杂的动画运动。本篇将带你学习如何通过自定义动画实现更多样化的效果。 关键词 自定义动画动画路径贝塞尔曲…

GPIO子系统中Controller驱动源码分析

往期内容 本专栏往期内容: Pinctrl子系统和其主要结构体引入Pinctrl子系统pinctrl_desc结构体进一步介绍Pinctrl子系统中client端设备树相关数据结构介绍和解析inctrl子系统中Pincontroller构造过程驱动分析:imx_pinctrl_soc_info结构体Pinctrl子系统中c…

【Linux系统编程】第四十二弹---多线程编程全攻略:涵盖线程创建、异常处理、用途、进程对比及线程控制

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、线程创建 2、线程异常 3、线程用途 4、进程 VS 线程 5、线程控制 5.1、创建和等待线程 1、线程创建 线程能看到进程的大…

Qt入门基础分享

文章目录 学习 Qt 语言之前的基本知识1. 编程基础语法:面向对象编程(OOP):基本数据结构:了解数组、链表、栈、队列、树(如二叉树、平衡树)、图(如邻接矩阵、邻接表)等。算法:熟悉常见的排序算法(如快速排序、归并排序、冒泡排序)和查找算法(如线性查找、二分查找)…