生成式人工智能服务安全基本要求实务解析
本文尝试明晰《基本要求》的出台背景与实践定位,梳理《基本要求》所涉的各类安全要求,以便为相关企业遵循执行《基本要求》提供抓手。
引言
自2022年初以来,我国陆续发布算法推荐、深度合成与生成式人工智能服务相关的规范文件,初步构建起对特定领域人工智能技术与服务的监管机制。具体至生成式人工智能服务领域,在《生成式人工智能服务管理暂行办法》(以下简称“《暂行办法》”)的监管框架下,形成了由算法备案制度和生成式人工智能(大语言模型)备案(下称“大模型备案”)构成的“双备案制”的实践机制。
算法备案制度最早在《互联网信息服务算法推荐管理规定》(以下简称“《算法推荐规定》”)中确立,企业可通过中央网信办的互联网信息服务算法备案系统提交算法备案申请,流程和备案内容细则均较为固定。而大模型备案自《暂行办法》施行之日起也仅有半年,还需要与服务提供者开展更多有效地沟通、互动来积攒监管经验以制定明确、具体的规则,从而指引企业履行大模型备案义务,尤其是备案所需的安全评估。
在此背景下,2023年10月11日,全国网络安全标准化技术委员会秘书处发布《生成式人工智能服务安全基本要求(征求意见稿)》(以下简称“《征求意见稿》”),就包含语料安全、模型安全在内的生成式人工智能服务安全的基本要求广泛征求社会公众意见。2024年3月1日,历时近半年,《生成式人工智能服务安全基本要求》(以下简称“《基本要求》”)正式发布。根据规范内容,我们理解,《基本要求》对《暂行办法》相关合规要求例如数据来源合法、内容安全等在执行规则方面的细化,并对生成式人工智能服务提供者在实践中开展安全评估提供有效的路径,不仅能推动企业提高其自身的生成式人工智能服务安全能力,还可为监管部门评价特定生成式人工智能服务的安全水平提供参考标准。
基于前述,本文尝试明晰《基本要求》的出台背景与实践定位,梳理《基本要求》所涉的各类安全要求,以便为相关企业遵循执行《基本要求》提供抓手。
01 规范背景与定位
1. 系对《暂行办法》的细化支撑,对生成式人工智能服务其他适用法律法规的增强衔
从规范效力来看,《基本要求》属于全国信息安全标准化技术委员会编制的技术文件,是一种旨在引导、指引生成式人工智能服务安全发展的指南类文件,而不具备强制性法律效力。但若逐一比对《暂行办法》除安全评估相关要求之外的通用规定(即第5-7章),可以看到《基本要求》并非是空中楼阁地架设额外合规义务,而是对《暂行办法》接近于一一对应的细化、解释,以及对于《暂行规定》上位法、其他监管生成式人工智能服务的法律法规的增强衔接性规定,故可以为服务提供者有的放矢落实《暂行办法》,在现行网络空间治理法律框架下合法合规提供生成式人工智能服务提供实践指引与监管侧重参照。
《基本要求》与《暂行办法》规定的具体对应关系,可参见下表:

值得注意的是,除《暂行规定》及其上位法外,考虑到《基本要求》列明的参考文献还特别包括了《中华人民共和国密码法》《商用密码管理条例》以及《网络信息内容生态治理规定》等生成式人工智能服务通常受到规制的法律法规,故从《基本要求》的规定中同样可以看到对前述规范的增强衔接性规定。例如,安全措施要求之“训练、 推理所采用的计算系统要求”明确提出“对系统所采用芯片宜支持基于硬件的安全启动、 可信启动流程及安全性验证”,即建议企业采用可信计算芯片,并应当注意遵循密码法、商用密码相关规定。
2. 大模型备案的配套指南
另一方面,根据《基本要求》总则,除说明其旨在支撑《暂行办法》外,“服务提供者在按照有关要求履行备案手续时,按照本文件第9章要求进行安全评估并提交评估报告。”
结合我们的备案相关项目经验,《基本要求》所指称的备案手续即是大模型备案,从实践中大模型备案的实践情况来看,《基本要求》实质上属于大模型备案的配套指引,其第9章“安全评估要求”对备案所需安全评估应涵盖的要点进行逐一细化,第8章“其他要求”及附录A则是对于安全评估材料必备附件的细化要求。
总体而言,我们理解《基本要求》是《暂行办法》等规定的有益细化补充,尽管暂时不具备强制法律效力,但被法规、规章等正式法源引用或其实际内容被作为监管执法参照时,其效力也会发生转化。考虑到《基本要求》属于结合大模型备案支持工作经验形成,文本成熟度较高,不排除网信部门在未来的大模型备案与生成式人工智能行政执法活动中将其作为参照性标准,这也是我国APP治理等网络空间治理领域的常见实践。
02 重点合规观察
相比2023年10月份发布的《征求意见稿》的内容,《基本要求》对生成式人工智能服务在各项安全方面的要求,提出了进一步细化的指引,同时对《征求意见稿》的部分内容进行了删除。如下列明了《基本要求》提出的重点合规要点:
1. 对关键术语作出明确定义
作为与《暂行办法》中“生成式人工智能服务提供者”定义的衔接,并为了明确《基本要求》的适用对象,《基本要求》所确定的“服务提供者”为“以交互界面、可编程接口等形式提供生成式人工智能服务的组织或个人。”此前在《征求意见稿》中前述定义还包括了“面向我国境内公众提供服务”的前提限定,《基本要求》对此范围限定进行了删除,这一修订与《暂行办法》的整体适用范围保持一致。
其次,《基本要求》针对“训练语料”“抽样合格率”“基础模型”“违法不良信息”等实践中可能存在争议的关键术语均进行界定,例如“训练语料”包括所有直接作为模型训练输入的数据,而无论某一训练阶段,包括在预训练或优化训练过程中的输入数据。抽样合格率需要结合《基本要求》附录A列明的31种安全风险样本进行占比计算。
可以想见,明确上述关键术语定义,也将有助于生成式人工智能服务提供者有效落实合规义务,并使得人工智能服务供应链上的多元主体(例如训练语料提供者、基础模型开发者等)在合作过程中进一步界分各方责任义务。
2. 明确五类安全风险
鉴于生成式人工智能本身可能无法充分理解输入与输出内容的真实内涵,且受制于模型训练数据集等技术局限性,生成式人工智能的输出内容可能存在虚假、低劣、含有偏见与歧视性质,甚至输出与人类伦理准则不相符的内容。在广泛应用下,前述违法不良信息内容更有可能对于公众的事实认知造成影响并进一步引导舆论传播。因此,对于生成式人工智能输出的内容安全治理一直是立法与监管的“安全底线”。
《基本要求》在附录A中列明了语料及生成内容的五类主要安全风险,其中A.1类(包含违反社会主义核心价值观的内容)以及A.2类(包含歧视性内容)作为关键词库必须覆盖的安全风险类别,属于五类安全风险中风险等级较高的情况,这也与《网络信息内容生态治理规定》中关于违法信息种类的列举意图一脉相承。
另外三类安全风险包括A.3类商业违法违规风险、A.4类侵犯他人合法权益的风险以及A.5类无法满足特定服务类型的安全需求。随着数字经济的飞速发展,在新经济、新业态、新模式发展中逐渐出现了利用数据与技术手段从事不正当竞争的行为,在本次《基本要求》列明的A.3类商业违法违规风险项下,选择纳入了“利用算法、数据、平台等优势,实施垄断和不正当竞争行为”的安全风险,与中华人民共和国反不正当竞争法(修订草案征求意见稿)》的立法方向进行了衔接。
但是,《基本要求》附录A列明的五类安全风险中也存在定义模糊、在实践中可能较难理解与界定的内容,例如A.3类商业违法违规风险项下的“违反商业道德”风险,A.4类侵犯他人合法权益风险项下的“危害他人身心健康”风险,以及A.5类无法满足特定服务类型的安全需求风险项下的“内容不可靠”“无法对使用者形成帮助”等概念。
3. 合规义务清单
《基本要求》整体从语料安全、模型安全以及生成式人工智能服务的安全措施、词库题库等维度上对服务提供者提出了一系列较为细致的合规义务,其中语料安全保障义务又分为语料的来源安全、内容安全以及标注安全要求保障义务。同时,《基本要求》明确列明服务提供者需要根据《暂行办法》开展的安全评估应当针对《基本要求》中第5章至第8章的每一条款形成单独的评估结果,也即为服务提供者列明了合规义务清单,该等内容主要包括:
(1)语料安全要求
首先,就语料来源安全而言,《基本要求》首先删除了《征求意见稿》中关于建立语料黑名单机制的要求,也即“单一来源语料内容中含违法不良信息超过5%的,应将该来源加入黑名单”,但这不代表《基本要求》对于语料来源包含违法不良信息的比例没有进行规定;相反,《基本要求》对于语料来源的管理要求新增提出了事前评估、事后核验的双重安全保障措施,即对面向特定语料来源采集前需要进行安全评估,同时采集后也需要进行二次核验,以便完全排除掉“含有违法不良信息超过5%的情况,”从源头上全面避免了不良语料进入数据训练的问题。
其次,延续《算法推荐规定》《暂行办法》等规定对于算法偏见、算法歧视等要求,《基本要求》提出需要就语料语言及语料类型进行不同语料的多语料来源的搭配,以提高语料来源的多样性,并且可以合理搭配境内外来源的语料。
第三,随着人工智能在公众社会中的普及,其生成内容可能会被广泛传播、引用和使用,而当出现违法不良信息输出或输出内容侵犯权益的情况时,直接传播者可能并非单一责任主体,违法不良信息或侵权内容可能存在于语料本身。因此,语料的可溯源性一直是保障生成式人工智能输出内容合法、安全的必要措施,也是定位输出内容责任主体、压实信息内容安全治理责任的有效办法。《基本要求》针对使用开源语料、自采语料、商业语料三种不同情形提出了细化规定,尤其是当服务提供者使用商业语料时,除了确保语料交易的法律效力、交易方或提供方对语料安全的承诺保障外,《基本要求》明确提出服务提供者同时应当对交易方或合作方所提供的语料、承诺、材料进行合规审查,这对于依赖第三方语料库的服务提供者而言为一项新增合规义务,但在服务提供者自行审核语料安全性时,应当以何种方式或者审核结果达到何种效果时方可确认某一语料的安全性,目前尚不非常明确。服务提供者可以考虑从交易方或合作方提供的基本书面材料有效性、结合《基本要求》附录列明的语料及生成内容的主要安全风险清单等方面进行多方面的审核。
(2)语料内容安全要求
《基本要求》对于语料内容的安全要求,主要围绕搭建以知识产权保护为基础的策略与结构,包括应当专门设置语料以及生成内容的知识产权负责人,允许并支持第三方就语料使用情况以及相关知识产权情况进行查询的功能设置等规定。结合此前北京互联网法院审结的人工智能生成图片著作权纠纷案、广州互联网法院审结的生成式人工智能训练数据集侵权案,可以看出《基本要求》对于在语料内容的训练、使用以及在事后为知识产权相关权益方提供畅通的投诉与查询通道等方面,同样继承了目前的实践监管趋势,表明了重点保护知识产权的立场与态度。
第二,秉承《网络信息内容生态治理规定》的主旨,《基本要求》在内容安全治理方面提出服务提供者应当采取关键词、分类模型、人工抽检等方式,充分过滤全部语料中的违法不良信息,从源头避免违法不良信息与内容的生成。
第三,针对语料中包含个人信息及敏感个人信息的情形,《基本要求》对服务提供者仅规定了事前告知与获得个人信息主体同意的前置义务,但并没有明确个人信息主体在事后可以通过何种方式向服务提供者主张权利、提出问询或投诉、或要求服务提供者删除其个人信息。服务提供者可以结合《个人信息保护法》中关于个人对个人信息的处理知情权、决定权、有权限制或拒绝他人对其个人信息进行处理的规定,在其服务产品的显著位置向个人信息主体说明其有权主张前述权利的途径与方式,以便权利人的权益在使用生成式人工智能服务事前、事中与事后均可得到充分的保障。
(3)语料标注安全要求
《基本要求》针对语料标注人员、标注规则、标注内容的准确性均提出了要求,例如,相对《征求意见稿》而言,新增要求服务提供者应当自行组织对标注人员的安全培训,这与目前大模型备案中的安全评估要点也进行了衔接,同时明确了培训的内容应当包括例如标注任务规则、标注内容质量核验方法等事项。在标注内容的准确性保障方面,《基本要求》对于功能性标注与安全性标注提出了不同的确认规则,针对功能性标注需要进行人工抽检、抽检对象的语料以每一批为单位。而针对安全性标注则需要进行人工审核,审核对象的语料以每一条为单位。
(4)模型安全要求
《基本要求》首先明确如服务提供者需要基于第三方基础模型提供服务,必须使用已经主管部门备案的基础模型。尽管“基于”的范畴尚不明确,结合《暂行规定》及实践中的服务上线要求,我们理解,这意味着直接接入境内外未备案的服务提供者可能无法上线生成式人工智能服务,但并未禁止基于未备案基础模型进行二次开发的服务在完成备案要求后上线。此外,《基本要求》分别针对模型生成内容的安全性、准确性、可靠性提出了具体要求,以正确引导生成式人工智能服务可以安全地为使用者输出安全、有效、符合科学常识以及主流认知的内容。
(5)安全措施要求
在上线范围方面,《基本要求》提出了根据服务应用场景不同采取分类分级的保护措施的要求,针对用于关键信息基础设施,以及如自动控制、医疗信息服务、心理咨询、金融场景等本身存相对较高风险的内容安全、数据安全、个人信息保护安全的情况,服务提供者需要就此配备与具体场景风险程度以及场景相适应的保护措施,加强对重点重要场景的安全保障。
在针对未成年人使用者的保护方面,对于面向未成年人提供生成式人工服务的提供者,《基本要求》删除了《征求意见稿》中关于限制未成年人单日对话次数与时长的前提限定,对于可能涉及消费、支付功能或场景的情况,《基本要求》同样作出了微调,将从“需经过监护人确认后未成年人方可进行消费”修订为“不应向未成年人提供与其民事行为能力不符的付费服务”,这一调整与《民法典》《未成年人网络保护条例》等规定中关于未成年人从事与其年龄、认知等民事行为能力相符的行为以及引发的责任承担的规定意图相一致,对于通过生成式人工智能提供的各项付费服务,尤其是有益于未成年人身心健康的服务和内容,不应简单地要求所有未成年人均需事前获得其监护人的确认,从使用者的角度而言,前述修订也更易于例如辅助学习类别、寓教于乐类别的生成式人工智能服务得到更加广泛地应用。
第三,《基本要求》对生成式人工智能服务的使用者及其使用规范也提出了具体要求,例如,当需要收集使用者输入的信息用于数据和模型训练时,《基本要求》要求的授权模式为“默认开启+显著告知单独关闭渠道”,即“Opt-out”模式。也即服务提供者只需要为使用者提供关闭其输入信息用于训练的途径与方式即可,并非由使用者主动选择开启该等功能,这对于需要实时过滤、微调、更新模型训练语料与词库题库的需求而言可能为一项更高效便捷的模式,同时也能促使生成式人工智能服务的输出内容尽可能多地采集到不同使用者的输入内容以及同一内容的不同表述样本,有益于对不同问题的需求与反馈统计等,以便及时完善模型、内容质量及其配套安全措施。
需要注意的是,虽然前述“Opt-out”模式为目前同类生成式人工智能服务的主流实践做法,但该等模式下的个人信息处理的合法性基础可能较为薄弱,结合此前X/Twitter、Zoom等国内外企业更新隐私政策宣布将用户数据用于训练人工智能模型存在广泛争议的情况,以及基于同意将用户数据用于模型训练后响应删除权等个人数据权利存在技术困难等实践情况,我们理解目前亦有诸多企业将前述情形采取或调整为用户Opt-in模式,即默认情况下不会使用用户提交的数据来训练或优化模型,除非用户主动选择共享给公司);或明确不将该等数据用于模型训练的做法。
此外,《暂行办法》第十四条提出,提供者发现使用者利用生成式人工智能服务从事违法活动的,应当依法依约采取警示、限制功能、暂停或者终止向其提供服务等处置措施,保存有关记录,并向有关主管部门报告。《基本要求》承接并量化了前述主体责任的落实方案,明确规定了对违规使用或恶意使用生成式人工智能服务的情况应当设置使用拦截功能,如果使用者连续三次或一天内累计五次输入违法不良信息或明显诱导生成违法不良信息的,应依法依约采取暂停提供服务等处置措施,这为提供者在实践中设置有关拦截机制方面提供了相对具体的合规义务落实指引。
值得注意的是,《基本要求》删除了《征求意见稿》规定的在模型重要更新、升级之后,需要再次进行安全评估并重新向主管部门备案的要求。根据目前的规定,服务提供者在模型完成重要更新和升级后,只需再次自行组织安全评估即可,这对于服务提供者的合规成本以及提供服务的业务连续性均是利好信号。但是,前述“重要更新和升级”所指具体内容与范围、以及该事项是否会落入需要办理变更备案的情况,尚待进一步释明。
(6)关键词库与测试题库要求
建立关键词库与测试题库是保证语料安全的重要前提之一,《基本要求》结合其附录A列明的五类安全风险,对于关键词库与生成内容测试题库进行了对应规定,可以看出针对风险等级较高的A.1类与A.2类安全风险均规定了最低条目数量的要求。
同时,相比《征求意见稿》,《基本要求》新增了关键词库与测试题库的定期更新的推荐性条款,服务提供者可以参照该等规定,按照网络安全、信息内容安全治理以及业务实践情况与需要,及时更新关键词库与测试题库。
03 合规建议
1. 增强语料等源头治理工作
《暂行办法》第九条压实了生成式人工智能服务提供者的网络信息内容生产者责任,即落实生成内容的具体责任主体。但是,生成式人工智能的权利侵害结果形成原因可能复杂多样,仅关注传统的侵害结果维度忽略了人工智能技术的设计意图、训练数据、科技伦理等源头性因素对人工智能造成侵害结果的直接影响。因此,相关企业应增强人工智能的源头治理力度,将人工智能侵害治理追溯至人工智能的设计、开发等源头阶段,优化人工智能侵害的责任主体链。
具体而言,在算法设计方面,应采取有效措施防止产生民族、信仰、国别等歧视,并将伦理道德纳入技术体系,推动“科技向善”。在人工智能训练、优化、测试数据等语料治理方面,应关注语料的来源、质量、安全乃至语料搭配等方面,制定恰当的治理规则以实现语料的源头治理。例如,保留开源语料的开源许可协议、自采语料的采集记录等以确保语料来源的可追溯性,对采集后的语料进行核验以避免因使用存在大量违法不良信息的语料而致使人工智能的运行受到相应的负面影响。
2. 坚持安全底线,尤其是内容安全
《基本要求》旨在细化生成式人工智能服务在安全方面的基本要求,从而贯彻落实“发展与安全并重”的人工智能理念。这一以安全为底线护航人工智能产业发展的思路也应贯彻至生成式人工智能服务提供者等相关企业的业务实践当中。
一方面,企业宜遵循《基本要求》的颗粒度,逐步落实语料来源安全、语料内容安全、语料标注安全、模型安全与安全措施的相关要求,完善内部的安全治理体系,保障用户权益、社会公共利益。另一方面,《基本要求》还重点对包含语料内容安全和生成内容安全的内容安全提出了关切,例如通过附表形式明确列举了现阶段识别出的主要内容安全风险,细化了内容安全目标粒度或提出具有实操性的安全举措。我们理解,在网络消息传播速度飞速的互联网信息时代,对生成式人工智能服务相关的内容安全的重视也是互联网内容治理整体框架下的“题中应有之义”。
总的来说,我们理解,企业在积极推进生成式人工智能安全治理工作时,宜重点加强内容安全治理,采取诸如人工与机器结合审核、引入或开发高质量语料库等方式保障输入与输出内容的安全。实践中,我国各行业积极建设高质量语料库,如人民网开发主流价值语料库、智源人工智能研究院联合其他单位发布开源可信中文互联网语料库。相关企业可充分利用现有优质语料资料,实现内容安全与技术发展的“同频共振”。
3. 加强合规体系建构,完备内部制度
伴随《暂行办法》《科技伦理审查办法(试行)》《网络安全标准实践指南——生成式人工智能服务内容标识方法》《基本要求》等与生成式人工智能技术及服务相关的法律法规、技术文件的出台,构建制度完备的生成式人工智能合规体系是相关企业在人工智能迅捷发展时代下的重要命题。
我们理解,完备的人工智能合规体系应以网络安全、数据安全和个人信息保护为底层架构,即应首先按照《网络安全法》《数据安全法》《个人信息保护法》及配套规则构建健全的网络安全与数据合规治理体系,例如制定并落实数据分级分类保护规则、安全事件应急响应规则。在此基础上,结合《暂行办法》等人工智能相关规定,补充完善训练数据治理、内容治理、生成内容标识、科技伦理审查等由人工智能引发的特殊合规要求。
此外,根据2023年度国务院立法计划,我国《人工智能法草案》已被纳入提请全国人大常委会审议的范畴当中。我们理解,随着人工智能监管顶层设计的出台、包含生成式人工智能在内的人工智能治理规范体系的不断完善,人工智能相关企业应依据最新立法与监管动态,及时更新既有合规体系。为了确保企业内部既有人工智能合规体系能够有效落地与执行,企业还宜积极引入具备人工智能技术与法律双重背景的治理人才,以畅通新兴技术发展与企业合规之间的桥梁。
4. 开展大模型备案遵照执行《基本要求》
如前所述,《基本要求》作为全国网络安全标准化技术委员会发布的技术文件,并非具有强制性法律效力的正式立法,也暂未被纳入强制性国家标准的范畴。但是,一方面,不具有法定强制性效力不影响《基本要求》因其规范支撑作用与明晰的执行颗粒度,而可能在实践监管活动中被相关监管部门选定为评估生成式人工智能服务安全能力等方面的具有可落地性的执法标准。
另一方面,考虑到《基本要求》基本涵盖了大模型备案过程中要求生成式人工智能服务提供者开展安全评估的具体评估指标例如训练语料来源、标注人员情况等,相关服务者在实际开展大模型备案工作时,也宜遵照《基本要求》的相关合规要求自行或委托第三方机构开展安全评估,以提高备案效率。
5. 开展大模型备案前组织自测工作
自大模型备案开展以来,大模型备案的实践要求处于动态调整的过程当中,例如,在保留训练数据来源等内容的基础上,新增了企业提供大模型下载通道、实测账号与内容审核机制等要求。我们理解,这在一定程度上体现出监管部门对大模型备案的重视程度:随着实践经验的积累,适时调整备案要求从而契合当下生成式人工智能服务的发展情况,从而实现精准收集信息、提供更为柔性的指导之目的。
因此,在正式开展大模型备案前,为提高备案的可行性,如可行,相关企业宜自行或引入上海人工智能实验室等第三方专业机构开展大模型自测工作。遵循《基本要求》的安全评估办法及具体评估事项开展测试工作,以“查漏补缺”,优化自身安全评估流程,提高自身的生成式人工智能服务的安全水平。
本文作者 宁宣凤
相关文章:
生成式人工智能服务安全基本要求实务解析
本文尝试明晰《基本要求》的出台背景与实践定位,梳理《基本要求》所涉的各类安全要求,以便为相关企业遵循执行《基本要求》提供抓手。 引言 自2022年初以来,我国陆续发布算法推荐、深度合成与生成式人工智能服务相关的规范文件,…...
nginx详解,配置http,https,负载均衡,反向代理,SMTP 代理步骤说明
Nginx 是一款高性能的开源 Web 服务器,同时也可以用作反向代理服务器、负载均衡器、HTTP 缓存、HTTPS 中继、以及作为邮件代理服务器等。以下是 Nginx 可以实现的一些常见用途: 静态内容服务: Nginx 可以用来提供静态内容,比如 HTML、CSS、JavaScript 文件等。 动态内容服务…...
ARTS Week 20
Algorithm 本周的算法题为 1222. 可以攻击国王的皇后 在一个 下标从 0 开始 的 8 x 8 棋盘上,可能有多个黑皇后和一个白国王。 给你一个二维整数数组 queens,其中 queens[i] [xQueeni, yQueeni] 表示第 i 个黑皇后在棋盘上的位置。还给你一个长度为 2 的…...
python如何读取文件
这里的文件是txt文件,office文件不支持。 假如有一个pi_digits的txt文件,里面的内容是“3.1415926” 如果要读取这个文件的内容,需要调取pathlib模块,并把路径告知python。同时python文件必须要和目标读取文件在一个文件夹里。 …...
InnoDB和MyISAM存储引擎
InnoDB mysql默认存储引擎 支持事务,行级锁(并发量大),外键约束,容量大,支持缓存,支撑主键自增, 全文检索,不存储表的总行数,需要sql逐行统计 MyISAM 不…...
DataGrip 2023:让数据库开发变得更简单、更高效 mac/win
JetBrains DataGrip 2023是一款功能强大的数据库IDE,专为数据库开发和管理而设计。通过DataGrip,您可以连接到各种关系型数据库管理系统(RDBMS),并使用其提供的一组工具来查询、管理、编辑和开发数据库。 DataGrip 2023软件获取 DataGrip 2…...
突破编程_C++_设计模式(命令模式)
1 命令模式的基本概念 C 命令模式是一种设计模式,它允许将请求封装为一个对象,从而可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式的主要目的是将请求封装为对象,从而可…...
LeetCode102题:二叉树的层序遍历(python3)
代码思路:使用队列先进先出的特性,queue[]不为空进入for循环,tmp存储每层的节点,将结果添加至res[]中。 python中使用collections中的双端队列deque(),其popleft()方法可达到O(1)时间复杂度。 class Solution:def lev…...
linux服务器保存git账号密码命令
1.保存git账号密码 git config --global credential.helper store 2.查看git账号密码 cd回车 ls -a cat .git-credentials 步骤: 先输入 git config --global credential.helper store 然后进入代码目录,git pull 会提示输入git账号、密码,因为我们提前输…...
基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的田间杂草检测系统(深度学习模型+UI界面+Python代码+训练数据集)
摘要:开发用于田间杂草识别的系统对提高农业运营效率和提升作物产出至关重要。本篇文章详尽阐述了如何应用深度学习技术开发一个用于田间杂草识别的系统,并附上了完备的代码实现。该系统基于先进的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5…...
java Lambda表达式如何支持静态方法引用
java Lambda表达式如何支持静态方法引用 在Java中,Lambda表达式支持静态方法引用,允许你直接使用静态方法作为Lambda表达式的实现。静态方法引用使用类名和方法名来引用静态方法。 下面是一个简单的示例,展示了如何在Lambda表达式中使用静态…...
SpringMVC04、Controller 及 RestFul
4、Controller 及 RestFul 4.1、控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。控制器负责解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器类可以包含多个方法在Spring MVC中,对于Contr…...
【机器学习300问】33、决策树是如何进行特征选择的?
还记得我在【机器学习300问】的第28问里谈到的,看决策树的定义不就是if-else语句吗怎么被称为机器学习模型?其中最重要的两点就是决策树算法要能够自己回答下面两问题: 该选哪些特征 特征选择该选哪个阈值 阈值确定 今天这篇文章承接上文&…...
剑指offer C ++双栈实现队列
1. 基础 队列:先进先出,即插入数据在队尾进行,删除数据在队头进行; 栈:后进先出,即插入与删除数据均在栈顶进行。 2. 思路 两个栈实现一个队列的思想:用pushStack栈作为push数据的栈ÿ…...
【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt
【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt 1. 模型权重准备2. 模型重新参数化2.1 文件准备2.2 参数修改2.3 重新参数化过程 3. 重新参数化后模型推理3.1 推理超参数配置3.2 模型推理及对比 4. onnx 模型导出(补充内容)4…...
Zookeeper搭建
目录 前言 初了解Zookeeper 搭建 准备 配置Zookeeper 前言 今天来介绍Zookeeper的搭建,其实Zookeeper的搭建很简单,但是为什么还要单独整一节呢,这就不得不先了解Zookeeper有什么功能了!而且现在很火的框架也离不开Zookeepe…...
2.Datax数据同步之Windows下,mysql和sqlserver之间的自定义sql文数据同步
目录 前言步骤操作大纲步骤明细mysql 至 sqlServersqlServer 至 mysql执行同步语句中报 前言 上一篇文章实现了不同的mysql数据库之间的数据同步,在此基础上本篇将实现mysql和sqlserver之间的自定义sql文数据同步 准备工作: JDK(1.8以上,推…...
commonjs和esmodule
commonjs的模块导出和引用写法: lib.js 导出一个模块 let a 1 let b 2 function aPlus1() {return a } module.exports {a,b,aPlus1 } index.js引用一个模块 const {a,b,aPlus1} require(./lib.js) console.log(hh:,a) esmodule的模块导出和引用方法&#x…...
Android的编译系统
安卓的编译真的太多吐槽的地方了,有必须到croot下编译的,有随便改个.c就要七八分钟编译的。我有时候真的不知道这么多开发人员是怎么挺过来的。 今晚简单看看这个编译系统soong吧。 算了,下面这个写的很好了,我先看看吧。。。 …...
Midjourney指控Stability AI夜袭数据,网络风波一触即发
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
