当前位置: 首页 > news >正文

玩转大模型的第一步——提示词(Prompt)工程【抛砖篇】

前言

AI大模型提示词工程,又名 LLM prompts Project,指的是在使用大型语言模型(如OpenAI的GPT系列)时,用于引导模型生成特定响应的输入,是在使用AI大模型过程中非常重要的一个环节,是模型生成文本的起点。选择合适的Prompt对大模型回答的质量影响非常大,甚至可能会导致截然不同的结果。

Prompt编写框架

我们可以简单的看一下,分别使用下面两个Prompt在LLM的输出中分别会得到什么结果——

Prompt:我想提升我的编程水平,给点建议吧``GPT4:``提升编程水平需要时间和实践。以下是一些建议,帮助你提高编程技能:``1. 学习基础知识:确保你对编程语言的基本语法和概念有扎实的理解。如果你已经熟悉一种编程语言,可以尝试学习另一种,以便了解不同语言之间的异同。``2. 多做练习:编程是一项实践性很强的技能,通过不断地练习和编写代码,你可以逐渐提高自己的编程水平。可以从简单的项目开始,逐步尝试更复杂的项目。``3. 阅读优秀的代码:阅读别人编写的优秀代码,可以帮助你学习如何编写更高效、简洁和易读的代码。可以在GitHub等开源社区找到许多优秀的项目。``4. 参加编程竞赛:参加编程竞赛(如LeetCode、Codeforces等)可以帮助你提高解决问题的能力,并在压力下锻炼编程技巧。``5. 学习数据结构和算法:掌握常用的数据结构(如链表、树、图等)和算法(如排序、搜索、动态规划等),可以帮助你更有效地解决问题。``6. 学习软件工程原则:了解软件工程的原则和最佳实践,如模块化、重构、测试驱动开发等,可以帮助你编写更高质量的代码。``7. 参与开源项目:参与开源项目可以让你在实际项目中应用所学知识,与其他开发者合作,提高自己的编程能力和团队协作能力。``8. 交流和分享:加入编程社区,与其他开发者交流,分享你的经验和问题。这可以帮助你从他人的经验中学习,也有助于巩固自己的知识。``9. 持续学习:编程技术不断发展,要保持对新技术和工具的关注和学习,以便不断提高自己的编程水平。``10. 保持耐心和毅力:提高编程水平是一个漫长的过程,需要不断地学习和实践。保持耐心和毅力,逐步积累经验,你的编程水平会不断提高的。

Prompt:我已经掌握了基础的编程知识,特别是在Java和Python上,现在我想提高我的技能。面临的主要挑战是算法和数据结构。请提供一个清晰的学习路径和推荐资源,帮助我在这些领域提升水平``GPT4:``学习算法和数据结构是提高编程技能的关键步骤。以下是一些可以帮助你在这些领域提升水平的学习路径和资源。``学习路径:``1. 理解并掌握基本的数据结构:这包括数组、链表、栈、队列、哈希表、树(包括二叉树和二叉搜索树)、图、堆等。``2. 学习并实践基本算法:排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序等)、搜索算法(如线性搜索、二分搜索等)、图算法(如深度优先搜索、广度优先搜索等)。``3. 学习并掌握高级数据结构和算法:这包括平衡树(如AVL树、红黑树)、图算法(如Dijkstra算法、Floyd算法、Prim算法、Kruskal算法)、动态规划、贪心算法、回溯算法等。``4. 刷题练习:可以通过一些在线编程平台进行练习,如LeetCode、HackerRank、CodeSignal等。``5. 参与编程竞赛或挑战:这可以帮助你在实践中提高你的算法和数据结构技能。``推荐资源:``1. 书籍:``- "算法(第4版)":这本书详细介绍了大量的算法和数据结构,是学习这个领域的经典教材。``- "算法导论":这本书是计算机科学领域的经典教材,详细介绍了各种算法和数据结构。``2. 在线课程:``- Coursera上的"Algorithms, Part I"和"Algorithms, Part II":这两门课程由Princeton University提供,详细介绍了各种算法和数据结构。``- edX上的"Introduction to Computer Science and Programming Using Python":这门课程由MIT提供,介绍了Python编程以及一些基本的算法和数据结构。``3. 在线编程平台:``- LeetCode:这个平台上有大量的编程题目,涵盖了各种算法和数据结构,是练习的好地方。``- HackerRank:这个平台也有大量的编程题目,你可以选择特定的领域进行练习。``4. YouTube频道:``- "HackerRank":这个频道上有很多关于算法和数据结构的教学视频。``- "freeCodeCamp.org":这个频道上有很多编程教学视频,包括算法和数据结构。``希望这些信息对你有所帮助,祝你学习顺利!

前一个提示词,只是简单的一句话,提出了一个简单的诉求,于是LLM大模型给出了一个大而全的宽泛回答,包含了编程学习的各个方面;

但是考虑到提问者的实际情况可能并不是一个完全的初学者,那么大而全的回答很显然缺乏了一些针对性,于是我们使用提示词框架将提问者的诉求描述清楚,于是便得到了更有针对性的回答。

这里用到的提示词编写框架是一个很基础的框架,名为「 ICIO 框架」,框架从四个方面描述提问者的需求

  • Instruction 指令(必须):希望模型执行的具体任务

  • Context背景信息(选填):也可以是上下文信息,有助于引导模型做出更精准的反应

  • Input Data输入数据(选填):告知模型需要处理的具体数据

  • Output Indicator输出指示器(选填):期望模型输出的类型或格式

前排提示,文末有大模型AGI-CSDN独家资料包哦!

这里的「ICIO框架」只包含了四个方面,只是在告诉LLM大模型需要执行的任务时,额外有选择性的描述了背景信息以及输入输出,在实际的使用过程中还是远远不够的,于是诞生了「CRISPE框架」,是用于编写复杂内容的提示词框架

  • CR(能力与角色):定义你希望模型扮演的角色和其能力范围

  • I(洞察):提供背景信息和上下文以指导模型

  • S(陈述):明确指出你希望模型执行的任务

  • P(个性):设定模型回答的风格或方式

  • E(实验):让模型提供多种可能的答案选项

Prompt:作为一个专业研究气候变化的科学家,请基于当前的科学共识和最新的研究数据,撰写一篇详细且科学严谨的报告,内容需涵盖气候变化的原因、影响以及可能的解决方案。请采用客观且权威的写作风格,并提供几种不同的结构和论点供选择``GPT4:``报告一:气候变化综述:原因、影响及解决方案``摘要``气候变化是一个复杂且紧迫的全球问题,涉及多个领域的科学研究。本报告将基于当前的科学共识和最新的研究数据,分析气候变化的原因、影响和可能的解决方案。``1. 气候变化的原因``1.1 自然因素``1.1.1 太阳辐射变化``1.1.2 大气中气溶胶的变化``1.1.3 火山活动``1.1.4 地球轨道和自转的变化``1.2 人为因素``1.2.1 温室气体排放``1.2.2 土地利用变化``1.2.3 大气污染和气溶胶排放``2. 气候变化的影响``2.1 自然系统``2.1.1 极地冰川和冰架的融化``2.1.2 海平面上升``2.1.3 生态系统变化``2.1.4 气候灾害的加剧``2.2 人类社会``2.2.1 农业和粮食安全``2.2.2 水资源``2.2.3 全球公共卫生``2.2.4 经济发展和国际政治``3. 解决方案``3.1 减缓气候变化``3.1.1 减少温室气体排放``3.1.2 促进可再生能源的发展``3.1.3 提高能源效率``3.1.4 土地利用和城市规划``3.2 适应气候变化``3.2.1 增强基础设施的抗灾能力``3.2.2 发展气候适应的农业技术``3.2.3 保护生物多样性和生态系统``3.2.4 国际合作与政策制定``结论``气候变化是一个迫切需要全球共同应对的问题。通过深入了解其原因、影响和可能的解决方案,我们可以为全球气候治理提供更为科学、有效的政策建议。``报告二:气候变化:挑战与应对``摘要``气候变化对全球生态环境和人类社会带来了巨大的挑战。本报告将从科学角度探讨气候变化的原因、影响和应对策略,为应对气候变化提供科学依据。``1. 气候变化的挑战``1.1 温室气体排放``1.2 极端气候事件``1.3 生态系统破坏``1.4 社会经济影响``2. 气候变化的原因``2.1 自然因素``2.2 人为因素``3. 气候变化的影响``3.1 环境影响``3.2 社会经济影响``4. 应对气候变化的策略``4.1 减缓策略``4.2 适应策略``4.3 国际合作与政策制定

下面是没有使用框架的提示词和得到的响应——

Prompt:帮我撰写一篇气候变化相关的科学报告``GPT4:``标题:气候变化的科学分析及其全球影响``一、引言``气候变化是我们当今世界面临的最大挑战之一,其影响不仅局限于环境,还涉及到社会经济和政治领域。本报告将对气候变化的科学原理进行深入探讨,并分析其对全球的影响。``二、气候变化的科学原理``气候变化主要指的是全球气温的升高,其原因主要是由于人类活动导致的温室气体排放增加。这些温室气体,包括二氧化碳、甲烷和氮氧化物等,能够吸收和反射地球表面反射的热量,从而导致全球气温升高,这就是所谓的温室效应。``三、气候变化的全球影响``1. 生物多样性的减少:由于气候变化,许多物种的生存环境正在发生改变,一些物种可能无法适应这种变化,从而导致物种灭绝。``2. 农业生产的影响:气候变化可能导致降雨模式的改变,影响农作物的生长,从而影响农业生产。``3. 海平面上升:由于全球变暖,导致极地冰盖融化,海平面上升,威胁沿海城市和岛国。``4. 人类健康的影响:气候变化可能导致疾病的传播范围扩大,例如疟疾和登革热等。``四、结论``气候变化是一个全球性的问题,需要全球的努力来解决。我们需要采取行动,减少温室气体的排放,保护我们的地球。同时,我们也需要做好应对气候变化的准备,例如改变农业生产方式,建立灾害应对机制等。``五、建议``为应对气候变化,我们建议从以下几个方面入手:``1. 发展可再生能源,减少化石燃料的使用。``2. 提高能源效率,减少能源消耗。``3. 保护和恢复森林,提高碳汇能力。``4. 改变消费模式,实现低碳生活。``六、总结``气候变化是一个长期且复杂的问题,需要我们全球共同努力,采取有效措施,才能真正实现气候变化的缓解和适应。希望此报告能引起更多人对气候变化问题的关注,并采取实际行动。``参考文献:``[1] IPCC, 2014: Climate Change 2014: Synthesis Report. Contribution of Working Groups I, II and III to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change [Core Writing Team, R.K. Pachauri and L.A. Meyer (eds.)]. IPCC, Geneva, Switzerland, 151 pp.``[2] NASA, 2020: Climate Change: How Do We Know? Retrieved from https://climate.nasa.gov/evidence/.

不难看出,使用了「CRISPE框架」重构提示词之后,回答明显更有条理更加全面,各个点之间的逻辑关联度也更强。

但Prompt工程还远不止于使用几个逻辑框架这么简单。

LangGPT

LangGPT是Language For GPT的简称,中文名为结构化提示词,其理论基础是我们提出的一套模块化、标准化的Prompt编写方法论。那么什么是结构化Prompt呢?其实结构化的思想很普遍,结构化内容也很普遍,我们日常写作的文章,看到的书籍都在使用标题、子标题、段落、句子等语法结构。而结构化Prompt的思想通俗点来说就是像写文章一样写Prompt。

其实,「CRISPE框架」也可以视为一种结构化,但主要是纯思维层面的“结构化”,在具体的形式上还是会有较大的差异性,具体“模板化”还是有比较远的具体。我们所认为的结构化Prompt需要足够的“模板化”,可读性良好,便于对Prompt进行优化迭代,一个没有太多Prompt编写经验的人拿到一个结构化的Prompt后也可以很方便的按照自己的需求进行修改投入实践和使用。

看到下面的示例,你一眼就能明白结构化Prompt有多么清晰——

基于上述诗人prompt的例子,说明结构化prompt的几个概念:

# Role: 诗人``   ``## Profile``- Author: YZFly``- Version: 0.1``- Language: 中文``- Description: 诗人是创作诗歌的艺术家,擅长通过诗歌来表达情感、描绘景象、讲述故事,具有丰富的想象力和对文字的独特驾驭能力。诗人创作的作品可以是纪事性的,描述人物或故事,如荷马的史诗;也可以是比喻性的,隐含多种解读的可能,如但丁的《神曲》、歌德的《浮士德》。``### 擅长写现代诗``1. 现代诗形式自由,意涵丰富,意象经营重于修辞运用,是心灵的映现``2. 更加强调自由开放和直率陈述与进行“可感与不可感之间”的沟通。``   ``### 擅长写七言律诗``1. 七言体是古代诗歌体裁``2. 全篇每句七字或以七字句为主的诗体``3. 它起于汉族民间歌谣``   ``### 擅长写五言诗``1. 全篇由五字句构成的诗``2. 能够更灵活细致地抒情和叙事``3. 在音节上,奇偶相配,富于音乐美``   ``## Rules``1. 内容健康,积极向上``2. 七言律诗和五言诗要押韵``   ``## Workflow``1. 让用户以 "形式:[], 主题:[]" 的方式指定诗歌形式,主题。``2. 针对用户给定的主题,创作诗歌,包括题目和诗句。``   ``## Initialization``作为角色 <Role>, 严格遵守 <Rules>, 使用默认 <Language> 与用户对话,友好的欢迎用户。然后介绍自己,并告诉用户 <Workflow>。

基于上述 诗人 prompt 例子,说明结构化 prompt 的几个概念:

  • 标识符:#, <> 等符号(-, []也是),这两个符号依次标识标题,变量,控制内容层级,用于标识层次结构。

  • 属性词:Role, Profile, Initialization 等等,属性词包含语义,是对模块下内容的总结和提示,用于标识语义结构,和学术论文中使用的摘要,方法,实验,结论的段落标题起的作用一样。

标识符,属性词都是可替换的,可以替换为你喜欢的符号和内容。

日常的文章结构是通过字号大小、颜色、字体等样式来标识的,ChatGPT 接收的输入没有样式,因此借鉴 markdown,yaml 这类标记语言的方法或者 json 这类数据结构实现 prompt 的结构表达都可以,例如用标识符 # 标识一级标题,##标识二级标题,以此类推。尤其是使用 json, yaml 这类成熟的数据结构,对 prompt 进行工程化开发特别友好。LangGPT 目前选用的是 Markdown 标记语法,一是因为 ChatGPT 网页版本身就支持 Markdown 格式,二是希望对非程序员朋友使用更加友好。程序员朋友推荐使用yaml, json 等进行结构化 prompt 开发。

有了初步的示例实践,我们就可以窥见结构化 Prompt 的优势——

1、结构清晰,可读性好

Role (角色) 作为 Prompt 标题统摄全局内容。

Profile (简介)、Rules(规则) 作为二级标题统摄相应的局部内容。

Language、Description 作为关键词统摄相应句子、段落。

2、结构丰富,表达性好

结构化 Prompt 即符合人类的有条理的表达习惯(我们日常写文章时有标题、段落、副标题、子段落等丰富的层级),也符合 ChatGPT 的认知习惯(在大量的文章、书籍中训练得到,其训练内容的层级结构本来就十分丰富)

3、提升语义认知

结构化表达同时降低了人和 GPT 模型的认知负担,大大提高了人和GPT模型对 prompt 的语义认知。1)标识符标识的层级结构实现了聚拢相同语义,梳理语义的作用,降低了模型对 Prompt 的理解难度;2)而属性词实现了对 prompt 内容的语义提示和归纳作用,缓解了 Prompt 中不当内容的干扰。

4、定向唤醒大模型深度能力

使用特定的属性词能够确保定向唤醒模型的深层能力。

5、像代码开发一样构建生产级 Prompt

在生产级 AIGC 应用的开发中,结构化 prompt 使得 prompt 的开发也像代码开发一样有规范。结构化 Prompt 的规范可以多种多样,用 json,yaml 实现都可以,这些模块化设计,能够大大便利于 prompt 后续的维护升级,便利于多人协同开发设计。甚至于可以像复用代码一样复用 Prompt。对于某些常用的模块,是不是可以像复用代码一样实现 Prompt 的复用?是不是可以像面向对象的编程一样复用某些基础角色?LangGPT 提供的 Prompt 生成助手某种意义上就是自动化的实现了基础角色的复用。

同时 Prompt 作为一种文本,也完全可以使用 Git 等工具像管理代码一样对 prompt 进行版本管理。

结语

其实,prompt工程化的内容远不及此,结构化prompt其实也还有很多内容来不及在本文中给出,目前prompt设计模式已经衍生出了few-show、step by step、step-back等技巧,从模拟人类的思维方式上,又有CoT(Chain of Thought)、CoT-SC(Chain of Thought + Self-Consistency)、TOT(Tree of Thought)甚至是GoT(Graph of Thought)等思维链设计模式,GoT已经属于比较前沿的设计模式了,复杂度也较高,这些后续我也会继续研究,继续实践,继续给大家分享~

由于平台限制,我也是把资料包整理打包放在我自己的社区了,里面包含👇

👉点击即可获取大模型资料包2024年最新版👈
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

相关文章:

玩转大模型的第一步——提示词(Prompt)工程【抛砖篇】

前言 AI大模型提示词工程&#xff0c;又名 LLM prompts Project&#xff0c;指的是在使用大型语言模型&#xff08;如OpenAI的GPT系列&#xff09;时&#xff0c;用于引导模型生成特定响应的输入&#xff0c;是在使用AI大模型过程中非常重要的一个环节&#xff0c;是模型生成文…...

火山引擎数据飞轮线上研讨会即将开启,助力消费品牌双十一造爆款

随着双十一的临近&#xff0c;各大品牌方的备战工作已进入紧张而有序的倒计时阶段。这场持续十多年的电商大促&#xff0c;对消费者来说是购物狂欢节&#xff0c;对各大品牌方来说&#xff0c;则是更是品牌实力与策略的比拼。面对日益激烈的市场竞争&#xff0c;如何更好地撬动…...

【python实战】利用代理ip爬取Alibaba海外版数据

引言 在跨境电商的业务场景中&#xff0c;数据采集是分析市场、了解竞争对手以及优化经营策略的重要环节。然而&#xff0c;随着越来越多企业依赖数据驱动决策&#xff0c;许多跨境电商平台为了保护自身数据&#xff0c;采取了更严格的防护措施。这些平台通过屏蔽大陆IP地址或部…...

FFMPEG录屏(20)--- 枚举macOS下的窗口和屏幕列表,并获取名称缩略图等信息

在 macOS 下获取可屏幕共享的窗口和屏幕 在 macOS 下&#xff0c;我们可以通过使用 Core Graphics 和 Cocoa 框架来获取当前系统中可屏幕共享的窗口和屏幕信息。本文将详细介绍如何获取窗口和屏幕的 ID、标题、坐标、进程图标和缩略图等信息。 前提条件 在开始之前&#xff…...

Redis 命令集 (超级详细)

目录 Redis 常用命令集 string类型 hash类型 list类型 set类型 zset类型 bitmap 类型 geo 类型 GEOADD (添加地理位置的坐标) GEOPOS (获取地理位置的坐标) GEODIST (计算两个位置之间的距离) GEOHASH (返回一个或多个位置对象的 geohash 值) GEORADIUS (根据用户…...

Spring Cloud --- GateWay和Sentinel集成实现服务限流

pom添加依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency><groupId>com.alibaba.csp</groupId><artifactId>s…...

python excel如何转成json,并且如何解决excel转成json时中文汉字乱码的问题

1.解决excel转成json时中文汉字乱码的问题 真的好久没有打开这个博客也好久没有想起来记录一下问题了&#xff0c;今天将表格测试集转成json格式的时候遇到了汉字都变成了乱码的问题&#xff0c;虽然这不是个大问题&#xff0c;但是编码问题挺烦人的&#xff0c;乱码之后像下图…...

【MySQL】实战篇—数据库设计与实现:根据需求设计数据库架构

在设计数据库架构时&#xff0c;开发者需要遵循一系列步骤&#xff0c;以确保数据库能够高效、可靠地满足系统需求。以下是设计数据库架构的理论知识和步骤说明。 1. 需求分析 需求分析是数据库设计的第一步&#xff0c;旨在理解系统的功能需求和数据需求。通过与利益相关者&…...

[Python学习日记-53] Python 中的正则表达式模块 —— re

[Python学习日记-53] Python 中的正则表达式模块 —— re 简介 re 模块 练习 简介 我们在编程的时候经常会遇到想在一段文字当中找出电话号码、身份证号、身高、年龄之类的信息&#xff0c;就像下面的数据一样 # 文件名&#xff1a;美丽学姐联系方式.txt 姓名 地区 …...

Unity编辑器 连接不到SteamVR问题记录

问题表现&#xff1a;之前正常的工程&#xff0c;某天打开后运行&#xff0c;在SteamVR未打开时&#xff0c;Unity工程运行后无法调用起来Steam VR&#xff0c;无任何反应&#xff0c;但用其他软件则可以调用起来SteamVR&#xff0c;并且运行正常&#xff0c;在重装了XR的一些插…...

nginx 日志配置笔记

Nginx 的日志配置非常重要&#xff0c;它可以帮助你记录服务器的访问情况、错误信息等&#xff0c;便于后续的分析和故障排查。Nginx 的日志配置主要包括访问日志&#xff08;access log&#xff09;和错误日志&#xff08;error log&#xff09;。 1、访问日志&#xff08;Ac…...

Java中的接口是什么?如何定义接口?

1、Java中的接口是什么&#xff1f;如何定义接口&#xff1f; 在Java中&#xff0c;接口是一种引用类型&#xff0c;它定义了一组方法的契约&#xff0c;但不包含实现。接口定义了方法签名&#xff0c;但不提供方法的实现细节。Java中的接口用于实现多态性和代码的抽象化。 在…...

​8.13TB高清卫星影像更新(WGS84坐标投影)

最近对WGS84版的高清卫星影像数据进行了一次更新&#xff0c;并基于更新区域生成了相应的接图表。 8.13TB高清卫星影像更新 本次数据更新了14820个离线包&#xff0c;共8.13TB大小&#xff0c;主要更新目标区域为中国东南区域。 更新范围接图表一 更新范围接图表二 更新范围…...

【力扣】[Java版] 刷题笔记-21. 合并两个有序链表

题目&#xff1a; 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解题思路 从题目和示例可以看出&#xff0c;应该是要循环遍历链表进行比较&#xff0c;然后组成新的链表。 第一种&#xff1a;递归…...

【Bug】RuntimeError: Engine loop has died

目录 报错前置条件报错内容解决方案 报错前置条件 使用vllm启动qwen2.5-32b-instruct模型后发生的报错 GPU是GeForce RTX 4090 Laptop GPU 系统是Windows 11 运行系统是WSL2-Ubuntu22.04 报错内容 INFO 10-22 22:29:31 engine.py:290] Added request chat-993cbe95e73d4a1db…...

Labview写CIP协议

参考资料 读(INT)变量 发送&#xff1a; 6f00 1C00 6d010f00 00000000 0300000000000000 00000000 00000000 0000 0200 0000 0000 B200 0C00 4d 02 91 02 5353 C300 0100 7856 返回&#xff1a; 6f00 1400 6d010f00 00000000 0300000000000000 00000000 00000000 0000 020…...

Redis批量获取缓存的方法

使用multiGet方法 优点&#xff1a;简单易用&#xff0c;适用于获取少量键的场景。 缺点&#xff1a;当获取的键数量较多时&#xff0c;可能会因为网络延迟导致性能下降。此外&#xff0c;如果某个键不存在&#xff0c;对应的返回值会是null&#xff0c;需要额外处理。 其他…...

MySQL配置文件中server-id的作用是什么

作用一&#xff1a; 通过 server-id 可以用来唯一标识主从复制环境中的一个服务器&#xff0c; 作用二&#xff1a; 再进行主从复制的过程中&#xff0c;会传递二进制日志文件&#xff0c;server-id 帮助MySQL确定哪些日志属于哪个服务器&#xff0c;从而确保日志正确地路由到相…...

Docker入门之构建

Docker构建概述 Docker Build 实现了客户端-服务器架构&#xff0c;其中&#xff1a; 客户端&#xff1a;Buildx 是用于运行和管理构建的客户端和用户界面。服务器&#xff1a;BuildKit 是处理构建执行的服务器或构建器。 当您调用构建时&#xff0c;Buildx 客户端会向 Bui…...

StarRocks数据库在SQL语句中解析JSON字符串

StarRocks数据库在SQL语句中解析JSON字符串 -- 使用数据库 use sr_test; -- 删除表 drop table ts_usr; -- 创建表 CREATE TABLE ts_usr ( uid bigint NOT NULL COMMENT "用户id", uname varchar(64) NULL COMMENT "用户名", ujson varchar(1024) NULL CO…...

RabbitMq-队列交换机绑定关系优化为枚举注册

&#x1f4da;目录 &#x1f4da;简介:&#x1f680;比较&#x1f4a8;通常注册&#x1f308;优化后注册 ✍️代码&#x1f4ab;自动注册的关键代码 &#x1f4da;简介: 该项目介绍&#xff0c;rabbitMq消息中间件&#xff0c;对队列的注册&#xff0c;交换机的注册&#xff0c…...

施磊C++ | 项目实战 | 手写移植SGI STL二级空间配置器内存池 项目源码

手写移植SGI STL二级空间配置器内存池 项目源码 笔者建议配合这两篇博客进行学习 侯捷 | C | 内存管理 | 学习笔记&#xff08;二&#xff09;:第二章节 std::allocator-CSDN博客 施磊C | 项目实战 | SGI STL二级空间配置器源码剖析-CSDN博客 文章目录 手写移植SGI STL二级空…...

C++ | Leetcode C++题解之第507题完美数

题目&#xff1a; 题解&#xff1a; class Solution { public:bool checkPerfectNumber(int num) {if (num 1) {return false;}int sum 1;for (int d 2; d * d < num; d) {if (num % d 0) {sum d;if (d * d < num) {sum num / d;}}}return sum num;} };...

Git快速上手

概述 Git 是一个免费且开源的分布式版本控制系统&#xff0c;被广泛用于软件开发中的代码版本控制。通过使用 Git&#xff0c;开发者可以高效地追踪文件的变化历史&#xff0c;并支持多人协作开发。本教程将带你快速了解 Git 的基本概念和操作&#xff0c;帮助你开始使用 Git …...

宝塔如何部署Django项目(前后端分离篇)

一、环境安装 1、安装相关软件 点击软件商店&#xff0c;安装下面软件 一、宝塔部署前端 1、打包Vue项目 打开Vue3项目&#xff0c;输入下面打包命令&#xff0c;对Vue项目进行打包&#xff0c; npm run build 2、部署前端 点击宝塔的网站&#xff0c;在PHP项目里点击添加…...

JavaScript解析JSON对象及JSON字符串

1、问题概述&#xff1f; JavaScript解析JSON对象是常用功能之一。 此处我们要明确JSON对象和JSON字符串的区别&#xff1f;否则会给我们的解析带来困扰。 主要实现如下功能&#xff1a; 1、JavaScript解析JSON字符串和JSON对象? 2、JavaScript解析JSON数组? 3、JavaSc…...

Elasticsearch 构建实时数据可视化应用

Elasticsearch 构建实时数据可视化应用 Elasticsearch 构建实时数据可视化应用一、构建实时数据可视化应用的基本原则1. 数据采集2. 数据处理和清洗3. 数据存储和索引4. 数据可视化展示二、实时数据可视化应用数据存储和检索功能基于Elasticsearch构建实时数据搜索和过滤功能El…...

NVR批量管理软件/平台EasyNVR多个NVR同时管理:H.265与H.264编码优势和差异深度剖析

在数字化安防领域&#xff0c;视频监控系统正逐步成为各行各业不可或缺的一部分。随着技术的不断进步&#xff0c;传统的视频监控系统已经难以满足日益复杂和多变的监控需求。下面我们谈及NVR批量管理软件/平台EasyNVR平台H.265与H.264编码优势及差异。 一、EasyNVR视频汇聚平台…...

C/C++(六)多态

本文将介绍C的另一个基于继承的重要且复杂的机制&#xff0c;多态。 一、多态的概念 多态&#xff0c;就是多种形态&#xff0c;通俗来说就是不同的对象去完成某个行为&#xff0c;会产生不同的状态。 多态严格意义上分为静态多态与动态多态&#xff0c;我们平常说的多态一般…...

汽车及零配件企业海量文件数据如何管

汽车行业特点 汽车行业是工业企业皇冠上的一颗明珠&#xff0c;在国民经济中占据着举足轻重的地位。汽车行业具备技术密集、创新速度快、供应链复杂等特点&#xff0c;具体体现为&#xff1a; 技术密集&#xff1a;汽车行业是技术密集型行业&#xff0c;覆盖机械、电子、软件、…...