Nacos系列:Nacos 控制台手册

在这里插入图片描述

引言

  Nacos是阿里巴巴中间件部门开源的一款用于服务发现和配置管理的产品,Nacos 控制台主要旨在于增强对于服务列表、健康状态管理、服务治理、分布式配置管理等方面的管控能力,以便进一步帮助用户降低管理微服务应用架构的成本。

一、访问 Nacos 控制台

1.1 登录管理

  Nacos Server 运行成功后我们可以打开后台管理界面,查看其运行状态和管理信息。在浏览器访问 http://ip:8848/nacos ,默认会跳转到以下登录页面,默认的账号和密码都为:nacos。

image

  登录后可以看到如下界面,默认进入nacos管理中心,此时还没有服务注册进来,所以服务列表是空的。右上角的内容就是一些超链接,能够跳转到 Nacos 的官网等地方

image

  由于部分公司自己开发控制台,不希望被nacos的安全filter拦截。因此nacos支持定制关闭登录功能找到配置文件 application.properties, 替换以下内容即可。

## spring security config
### turn off security
spring.security.enabled=false
management.security=false
security.basic.enabled=false
nacos.security.ignore.urls=/**# nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**

注意:默认会话保持时间为30分钟,30分钟后需要重新登录认证,暂时不支持修改该默认时间。

1.2 功能菜单

  登录成功后可以看到左侧的菜单栏,主要功能有:配置管理、服务管理、权限管理、命名空间、集群管理,如下表所示:

一级菜单二级菜单说明
配置管理主要是管理配置中心的所有配置文件
配置列表查询、添加、修改配置数据
历史版本
监听查询
服务管理
服务列表用于展示已经注册到 Nacos Server的服务列表以及服务的基本信息
订阅者列表服务消费方以及包括客户端的版本信息等
权限控制用于维护管理后台系统的用户角色和权限,一般的系统都有这个功能
用户列表用于查询、修改、删除、添加用户
角色管理用于查询、修改、删除、添加角色
权限管理
命名空间用于将服务的注册订阅信息在逻辑上隔离开来
集群管理
节点列表用于查看集群节点、查看节点元数据、下线节点

二、配置管理

  应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。如果服务中配置都放在代码中或者项目里的配置文件中,那么我们想要修改配置,就不得不修改代码,提交上线、重启服务。但若是我们使用统一配置管理,就可以在服务启动的时候从配置管理服务读取配置,启动后,修改配置后,也会主动通知我们的服务。Nacos 提供了动态配置服务,支持基于 Namespace 和 Group 的配置分组管理,以便更灵活的根据自己的需要,实时进行服务应用的配置变更,让配置管理变得更加高效和快捷。

image

  它基于 key/value 方式存储应用配置和其他元数据信息,为分布式系统中的外部化配置提供服务器端和客户端支持,以便用户更灵活的根据自己的需要按照环境或者应用、模块等分组管理微服务以及Spring的大量配置。在配置管理中主要提供了配置历史版本、回滚、订阅者查询等核心管理能力。

2.1 配置列表

  点击Nacos控制台的【配置管理 -> 配置列表】,即可看到以下图所示。界面中展示了不同 namespace 下的配置集列表,可以点击左上角的不同 namespace 进行切换,右上角“+"号或点击某配置集后的编辑按钮可进入配置集编辑器。

image  在 nacos 服务端默认是没有任何配置的,我们可以在配置列表页面新增一个配。在命名空间public中点击右边+号来新建配置或点击某配置集后的编辑按钮,如下图所示。

image

  Nacos支持 YAML、Properties、TEXT、JSON、XML、HTML 等常见配置格式在线编辑、语法高亮、格式校验,帮助用户高效编辑的同时大幅降低格式错误带来的风险。Nacos支持配置标签的能力,帮助用户更好、更灵活的做到基于标签的配置分类及管理。同时支持用户对配置及其变更进行描述,方面多人或者跨团队协作管理配置。

  当我们在修改配置文件的时候,最容易出现的就是误修改某些内容,好在Nacos支持编辑DIFF能力,帮助用户校验修改内容,降低改错带来的风险。

image

  Nacos 提供示例代码能力,能够让新手快速使用客户端编程消费该配置,大幅降低新手使用门槛。

image

注意: 在 Mac 上进行同样的操作,会发现提示: "导入失败! 未读取到合法数据,请检查导入的数据文件。"这个是由于mac系统自带的 .DS_store 文件,Nacos 读取的时候会出现异常,所以需要清除 .DS_store 文件。

2.2 历史版本

  Nacos 通过提供配置版本管理及其一键回滚能力,帮助用户改错配置的时候能够快速恢复,降低微服务系统在配置管理上的一定会遇到的可用性风险。Nacos中,修改配置点击发布后会创建一个对应的历史版本快照,我们可以在Nacos控制台的历史版本列表中找到这些快照,点击回滚按钮即可将配置恢复到指定的版本。

image

2.3 监听查询

  Nacos 提供配置订阅者即监听者查询能力,可以查看配置是否推动更新成功。同时提供客户端当前配置的MD5校验值,以便帮助用户更好的检查配置变更是否推送到 Client 端,如下图所示:

image

三、服务管理

  开发者或者运维人员往往需要在服务注册后,通过友好的界面来查看服务的注册情况,包括当前系统注册的所有服务和每个服务的详情。并在有权限控制的情况下,进行服务的一些配置的编辑操作。Nacos 控制台的服务发现部分,主要就是提供用户一个基本的运维页面,能够查看、编辑当前注册的服务。

3.1 服务列表

3.1.1 服务列表页面

  服务列表页面主要展示已经在Nacos注册的服务列表以及服务的基本信息等,整体界面布局是左上角有一个支持根据服务名搜索服务的搜索框和搜索按钮,页面中央是服务列表的展示。服务列表主要展示服务名、集群数目、实例数目、健康实例数目和详情按钮五部分,如下图所示。我们可以按照服务名称进行搜索,后面的隐藏空服务意思是我们可以创建一个空服务,这个空服务暂时没有任意一个实例,它就只是创建了,占了一个位置等待Nacos Client来进行注册。

image

3.1.2 创建服务页面

  我们可以点击创建服务的按钮来进行创建空服务,然后输入服务名和保护阀值,如下图所示,点击确定后的服务列表就会显示出刚刚创建的服务。

image

  其中,服务名⼀般用于描述该服务提供了某种功能或能力,服务名作为服务唯⼀标示,需要确保在使用中能够唯⼀定位到该服务,在项目中可以通过 spring.application.name 来指定,如下所示:

spring.application.name=spring-cloud-nacos-producer

  服务实例分为健康的实例和不健康的实例,默认在5秒之后Nacos注册中心还没有收到某个实例的心跳就认为这是一个不健康的实例,当30秒还没有收到心跳就把这个服务实例剔除掉。再上图中提到保护阈值,我们可以设置一个0~1之间的数,来进行雪崩保护。如果不设置,默认是0,也就是不开启雪崩保护,当 健康的实例数 / 总实例数 < 保护阀值 就会触发雪崩保护。我们一般也不会设置保护阀值,因为后面一般会结合sentinel服务熔断降级来完成雪崩保护,Nacos 主要还是做注册中心的工作。

  上图中提到分组,这是 Nacos 中次于命名空间的⼀种隔离概念,区别于命名空间的强制隔离属性,分组属于⼀个弱隔离概念,主要用于逻辑区分⼀些服务使用场景或不同应用的同名服务,最常用的情况主要是同⼀个服务的测试分组和生产分组,或者将应用名作为分组以防止不同应用提供的服务重名。分组名默认为 DEFAULT_GROUP,在项目中可通过 spring.cloud.nacos.discovery.group 来设置,如下所示:

# 指定 nacos 中的分组名
spring.cloud.nacos.discovery.group=DEV_GROUP

此项可省略,省略时的默认值为 DEFAULT_GROUP。 分组名可以直接在项目中使用,无需像命名空间那样,在使用前还要在控制台中新建,设定了分组名之后,刷新服务列表就可以看到新的分组名称了。

3.1.3 服务详情页面

  在服务列表页面点击“详情”按钮,就会进入服务详情页面。服务详情页面展示的是一个服务的所有关键信息,包括服务的配置和元数据、集群列表和示例列表,以及一些操作的按钮,如下图所示:

image

  在该页面的上方,是服务的配置和元信息,目前包含服务名、保护阈值、健康检查模式以及元数据metadata。右上方是编辑服务按钮,点击后会有对话框弹出,可以对服务的配置进行编辑。例如服务的元数据编辑,首先点击服务详情页右上角的“编辑服务”按钮,然后在元数据输入框输入:version=1.0,env=prod。

image

  服务详情的下方,是集群列表和集群下的实例列表。实例列表将会分页展示该集群下注册的所有实例,展示的信息有IP、端口、权重、是否健康、元信息和对应的编辑及下线按钮。Nacos 为用户提供了流量权重控制的能力,同时开放了服务流量的阈值保护,以帮助用户更好的保护服务服务提供者集群不被意外打垮。如下图所以,可以点击实例的编辑按钮,修改实例的权重。如果想增加实例的流量,可以将权重调大,如果不想实例接收流量,则可以将权重设为0。

image

  Nacos还提供服务实例的上下线操作,在服务详情页面,可以点击实例的“上线”或者“下线”按钮。下线按钮点击后,该实例将不会返回给订阅端,无论该实例是否健康。“下线”文本会改成“上线”,用于对应的实例上线操作。

image

3.2 订阅者列表

  这里能够查询的服务提供者的访问记录,很简单,没有什么需要说的,略过。

四、权限控制

4.1 用户列表

  Nacos 开启权限控制后,多了权限控制模块,可以给不同的用户分配不同的角色,给不同的角色分配不同资源的不同的权限。点击“用户列表”,进入用户管理页面,可以进行用户的创建、修改和删除。

image

4.2 角色管理

  因为 Nacos 的自带的权限是基于角色来进行分配的,因此需要给创建好的用户绑定一些角色。

image

4.3 权限管理

  角色创建好以后,就可以给这个角色赋予特定的权限了。在“添加权限”对话框里,可以选择绑定的角色、命名空间资源以及对应的动作类型。例如,可以给角色 test 绑定命名空间test的读写权限。然后又因为刚刚我们是将用户 test 绑定到了角色 test 上,那么 test 这个用户就可以对 test 这个命名空间的资源进行读写操作了。

image

  点击控制台右上角,退出 admin 账号,然后用刚才创建的 test 进行登录。首先是左侧的权限管理菜单消失了,因为当前用户不是管理员。其次是会弹出一个鉴权失败的提示框。不用担心,这个提示框意思是 test 没有 public 命名空间的读权限,所以会弹出,但是不影响我们将命名空间切换到 test。

五、命名空间

5.1 隔离设计

  Nacos 服务中最顶层、也是包含范围最广的概念,命名空间的作用其实就是可以进行多租户的分割,Nacos 基于Namespace 帮助用户逻辑隔离多个命名空间,这可以帮助用户更好的管理测试、预发、生产等多环境服务和配置,让每个环境的同一个配置(如数据库数据源)可以定义不同的值。其中,Namespace 代表不同的环境,如开发,测试,生产等;Group 代表项目,如 xxx 安全项目、xxx 电商项目等;每个项目往往有若干个工程(微服务),每个配置集(DataId)是一个工程(微服务)的主配置文件,如下图所示:

image

  从一个租户(用户)的角度来看,如果有多套不同的环境,那么这个时候可以根据指定的环境来创建不同的namespce,以此来实现多环境的隔离。例如,你可能有开发,测试和生产三个不同的环境,那么使用一套nacos 集群可以分别建以下三个不同的 namespace。如下图所示:

image

  从多个租户(用户)的角度来看,每个租户(用户)可能会有自己的 namespace,每个租户(用户)的配置数据以及注册的服务数据都会归属到自己的 namespace 下,以此来实现多租户间的数据隔离。例如超级管理员分配了三个租户,分别为张三、李四和王五。分配好了之后,各租户用自己的账户名和密码登录后,创建自己的命名空间。如下图所示:

image

5.2 命名空间管理

  在管理界面创建命名空间的方法如下,点击【命名空间–>新建命名空间】,然后输入名称和描述,如下图所示,点击保存之后在列表这里就可以看到刚刚创建的命名空间了,同时在服务列表中也能看到命名空间的身影。

image

  命名空间默认为 public,在项目开发中,如果不指定命名空间,那么会使用默认值 public。官方推荐使用运行环境来定义命名空间,例如: 开发环境(dev)、测试环境(test)、验收测试环境(uat)、生成环境(prod)等,用于将服务的注册订阅信息在逻辑上隔离开来。

  在项目开发中,在Nacos Client 配置的时候其实就通过 spring.cloud.nacos.discovery.namespace 来指定命令空间了,如下所示:

spring:application:name: order-service # 指定应用名称,Nacos会将该名称当做服务名称cloud:nacos:server-addr: 127.0.0.1:8848 # 指定Nacos服务的地址,默认值是localhost:8848discovery:# 指定Nacos 管理界面登录用户名和密码,默认值是nacosusername: nacospassword: nacosnamespace: public # 指定命名空间,可以隔离不同的服务实例。这里填的是命名空间的id,默认是public

注意:如果在控制台没有新建命名空间,直接在项目中使用的话,是不能将服务成功的注册到 Nacos 中的。

六、集群管理

6.1 Nacos 服务存储模型

  Nacos Server可以是集群部署的也可以是单机部署,在实际生产环境中,为了防止单点故障我们肯定不可能部署一个节点。Nacos服务分级存储模型:一级是服务;二级是集群,比如可以按区域机房划分集群,北京集群、上海集群、广州集群等等;三级是实例,例如北京机房的某台服务器部署的某服务。

杭州
上海
北京
实例
集群
实例
实例
集群
实例
实例
集群
实例
服务

6.2 Nacos 服务配置集群

  在 Nacos 注册的服务,如果没有配置集群的话,默认是没有集群的,也就是在一个名为 DEFAULT 的集群下,如下:

image

  我们可以在 Nacos 服务的配置文件中通过配置指定该服务的集群,只需在配置文件比如 application.yml 中添加 spring.cloud.nacos.discovery.cluster-name 属性即可,如下:

spring:application:name: orderservicecloud:nacos:server-addr: http://localhost:8848 # nacos服务地址discovery:cluster-name: HZ # 配置集群名称,例如:HZ,代指杭州集群

此时,注册在 Nacos 中的服务可以看到它的集群名称就是我们配置的集群名称,如下:

image

  在服务互相调用时我们应该尽可能地去选择本地集群,即同一集群的服务,因为跨集群调用延迟较高,只有当本地集群的需调用的服务不可访问时,再去访问其它集群。如下所示:

上海
北京
order-service
order-service
order-service
order-service
order-service
order-service
order-service
order-service

  但是使用 Spring Cloud 在 Nacos 中注册的服务,默认的负载均衡策略是轮询,也就是会轮询各个服务,不会区别是否同一集群。我们可以通过配置负载均衡策略来使得调用服务时优先选择同一集群的服务。假设 order-service 和 user-service 两种服务在各个集群中都有实例存在,而我们想要配置在 order-service 中调用 user-service 服务的接口时,优先选择同一集群的服务,只需在 order-service 服务中设置负载均衡的 IRule 为 NacosRule ,如下

userservice:    #指定给某个目标服务发起请求时的负载均衡规则,这里是目标服务的服务名称ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  #负载均衡规则

  NacosRule 负载均衡策略会优先寻找与自己在同一集群的服务,只有在同一集群中找不到服务提供者,才去其它集群寻找,并且当使用了其他集群的服务时,服务消费者中会提示警告信息。如果一个集群中的服务提供者有多个实例,则会使用随机调用的策略。

6.3 配置实例的权重

  当配置了优先访问同一集群内的服务时,在同一集群内如果有多个服务提供者实例的话,此时会使用随机访问的策略。当有时候,服务器设备之间的性能是有差异,部分实例所在的机器性能较好,另一些较差,我们可能会希望性能好的机器能承担更多的用户请求,而 Nacos 也提供了权重配置来让我们控制实例的访问频率,权重越大则访问频率越高。

  我们可以在 Nacos 的控制台中设置实例的权重值,点击实例后面的编辑按钮,弹出窗口可以设置权重值,如下图所示。所有的实例的权重值默认都是1,我们可以将将权重值设置为 0~1,权重越低,被访问到的概率就越低,为 0 时则完全不会被访问到。

image

七、小结

把今天最好的表现当作明天最新的起点..~

image

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

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

相关文章

frida打印日志字体加颜色

平时写frida hook 脚本&#xff0c;有时打印出来的日志太多都是一个颜色不美观。 于是找AI 问了一下frida打印日志字体加颜色的方法 // ANSI 转义码 const RESET “\x1b[0m”; const RED “\x1b[31m”; const GREEN “\x1b[32m”; const YELLOW “\x1b[33m”; const BLUE …

Thunderfury, Blessed Blade of the Windseeker

Thunderfury, Blessed Blade of the Windseeker 雷霆之怒&#xff0c;逐风者的祝福之剑 她应该是wow里面造型最帅&#xff0c;最酷的模型超大武器&#xff0c;而且特效触发频率很高&#xff0c;群拉效果非常好。 雷霆之怒&#xff0c;逐风者的祝福之剑 - 物品 - NFU魔兽世界1…

ubuntu+ros新手笔记(三)

系统ubuntu22.04 ros2 humble 1. 设置ubuntu终端字体大小 点击Terminal右上角的三条横线—>Preferences—>Unnamed—>Text—>勾选Custom font—>点击右侧的字号&#xff08;我的显示的是12&#xff09;—>最下方Size处设置字号大小—>Select—>设置完…

Deveco报错Only files in a module can be previewed

创建工程后需要看看预览的效果&#xff0c;却出现了这个错误 到Index.ets文件下重新构建工程 详细可以查询 鸿蒙报错&#xff08;Only files in a module can be previewed&#xff09;

第六届地博会开幕,世界酒中国菜美食文化节同期启幕推动地标发展

第六届知交会暨地博会开幕&#xff0c;辽黔欧三地馆亮点纷呈&#xff0c;世界酒中国菜助力地理标志产品发展 第六届知交会暨地博会盛大开幕&#xff0c;多地展馆亮点频出&#xff0c;美食文化节同期启幕推动地标产业发展 12月9日&#xff0c;第六届粤港澳大湾区知识产权交易博…

计算机毕业设计PySpark+PyFlink+Hive地震预测系统 地震数据分析可视化 地震爬虫 大数据毕业设计 Hadoop 机器学习 深度学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

C# 探险之旅:第二十七节 - 类型class(属性) —— 给你的类穿上“属性”的外衣

嘿&#xff0c;探险家们&#xff01;欢迎再次踏上我们的C#奇幻之旅。今天&#xff0c;我们要聊聊一个超级有趣的话题——类的“属性”。想象一下&#xff0c;如果我们要给类穿上一件酷炫的外衣&#xff0c;那属性就是这件外衣上的各种口袋和装饰&#xff0c;让类变得既实用又拉…

【学习记录】Docker初探-容器创建与拉取(2)

参考资料 Window下玩转Docker Desktop哔哩哔哩bilibili Docker镜像推送至Docker Hub的完整教程-百度开发者中心 (baidu.com) 为什么需要Docker&#xff1f; Docker可以在不同服务器之间转移打包好的程序和环境&#xff0c;从而方便测试。打包好的程序和环境可以被称之为容器…

MongoDB学习路线图

‌MongoDB 在多种场景下都是理想的数据库解决方案。让我们讨论一些你应该考虑使用 MongoDB 的关键情形。 处理大量数据 当处理可能需要大量读写操作的大量数据时&#xff0c;MongoDB 是一个出色的选择&#xff0c;因为它具有高性能和水平扩展性。通过利用复制和分片&#xff…

IOS通过WDA自动化中遇到的问题

IOS自动化遇到的问题 搭建WDA环境中遇到的问题1、XCode unsupport iphone xxx.2、创建Bundle Identifier出现问题&#xff1a;Communication with Apple failed3、创建Bundle Identifier出现问题&#xff1a;Automatic signing failed \Signing certificate is invalid4、创建B…

基于卷积神经网络的图像二分类检测模型训练与推理实现教程 | 幽络源

前言 对于本教程&#xff0c;说白了&#xff0c;就是期望能通过一个程序判断一张图片是否为某个物体&#xff0c;或者说判断一张图片是否为某个缺陷。因为本教程是针对二分类问题&#xff0c;因此主要处理 是 与 不是 的问题&#xff0c;比如我的模型是判断一张图片是否为苹果…

【razor】echo搭配relay功能分析

echo 要搭配relay 实现作者说relay在linux上跑,可以模拟丢包、延迟目前没看到如何模拟。relay监听9200,有俩作用 echopeer1 发relay,replay 把peer1的包给peer2 ,实现p2p能力。 接收端:采集后发送发给relay的 接收端的地址就是自己,的地址就是本地的9200,因此是让relay接…

轩凯生物被警示,财务内控不规范,华泰证券又被处罚

作者&#xff1a;Tracy 来源&#xff1a;IPO魔女 11月21日&#xff0c;南京轩凯生物科技股份有限公司&#xff08;简称“轩凯生物”&#xff09;被交易所下达书面警示的自律监管函。同时其保荐机构华泰联合证券和会计师事务所天衡&#xff0c;均受到监管处罚。这是今年来&…

【C++习题】19.数组中第K个大的元素

题目&#xff1a;数组中第K个大的元素 链接&#x1f517;&#xff1a;数组中第K个大的元素 题目&#xff1a; 代码&#xff1a; class Solution { public:int findKthLargest(vector<int>& nums, int k) {// 将数组中的元素先放入优先级队列中priority_queue<i…

一键学懂BurpSuite(7)

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…

工业大数据分析算法实战-day04

文章目录 day04统计分析概率分布参数估计假设检验 统计分布拟合1.基于核函数的非参数方法2. 单概率分布的参数化拟合3. 混合概率分布估计 线性回归模型1. OLS模型&#xff08;普通最小二乘法&#xff09;2. OLS模型检验3. 鲁棒线性回归4. 结构复杂度惩罚&#xff08;正则化&…

【Golang】Go语言编程思想(六):Channel,第四节,Select

使用 Select 如果此时我们有多个 channel&#xff0c;我们想从多个 channel 接收数据&#xff0c;谁来的快先输出谁&#xff0c;此时应该怎么做呢&#xff1f;答案是使用 select&#xff1a; package mainimport "fmt"func main() {var c1, c2 chan int // c1 and …

Python中的OpenCV详解

文章目录 Python中的OpenCV详解一、引言二、OpenCV基础操作1、OpenCV简介2、安装OpenCV3、图像读取与显示 三、图像处理技术1、边缘检测2、滤波技术 四、使用示例1、模板匹配 五、总结 Python中的OpenCV详解 一、引言 在当今数字化社会中&#xff0c;图像处理和计算机视觉技术…

基于python的Selenium webdriver环境搭建(笔记)

一、PyCharm安装配置Selenium环境 本文使用环境&#xff1a;windows11、Python 3.8.1、PyCharm 2019.3.3、Selenium 3.141.0 测试开发环境搭建综述 安装python和pycharm安装浏览器安装selenium安装浏览器驱动测试环境是否正确 这里我们直接从第三步开始 1.1 Seleium安装 …

LLMC:大语言模型压缩工具的开发实践

关注&#xff1a;青稞AI&#xff0c;学习最新AI技术 青稞Talk主页&#xff1a;qingkelab.github.io/talks 大模型的进步&#xff0c;正推动我们向通用人工智能迈进&#xff0c;然而庞大的计算和显存需求限制了其广泛应用。模型量化作为一种压缩技术&#xff0c;虽然可以用来加速…