AI Prompt工程师 学习整理

news2024/11/27 1:33:25

前言

如果说Al大语言模型(LLM,Large Language Model)是宝藏我,那么Prompt提示词就是打开宝藏的钥匙。

最新一代的Al大语言模型具备出色的创作能力,能够生成富有人类感情、严谨逻辑、多场景应用的内容,而如何获得高质量的回答,正确学习使用Prompt提示词是关键。

💥Prompt提示词的发展带来新的就业机会:随着Prompt技术的不断发展,Al Prompt工程师将在各个行业找到新的就业机会。岗位职责将包括设计、开发和优化Prompt、应用落地以满足不同场景需求,Prompt提示词更像是未来人人都要学会的一门互联网语言。

一、文心一言创作者服务

1、创作者服务平台

网址:http://prompt.baidu.com/ 抽空摸了会鱼,一直都在学习这个服务。借助这个也是学习了一下 prompt。

2、新建角色,暂且这么定义

2.1 提示词

应用达模型能力,创作优雅极致的效率工具。

整体创建界面分为两部分:提示词设置基础信息设置


这部分信息需要撰写你的创意,我们为你提供了调试功能,在介绍这个功能之前,需要向你解释设置页面出现的内容含义

页面信息描述

内容含义

提示词名称

你创作的工具名称,可以帮助使用它的人快速了解基本功能和含义

Prompt

你可以理解为“提示词、命令、指示“,通俗易懂的解释是Prompt是你想让大模型执行的词/句/段落

Prompt模版

Prompt模版,主要是我们总结的一些比较适合与大模型沟通的模版,可以作为你的灵感参考,撰写Prompt的内容并无定式,期待你探索更多

调试功能说明

如果你是第一次使用平台,当你填写完提示词设置的信息,请使用调试功能验证自己的模型效果

大语言模型的产品使用体验都是通过对话实现的,初做新手往往很难判断大模型的回复是否符合预期,所以我们采取了左右布局,Prompt实时调试的方案:你只需要在右侧输入Prompt,左侧标绿区域就会展示出来,发送对话即可得到回复效果

每次更新提示词信息并进行对话(注意:不开启对话不更新记录),调试区会将每次的Prompt信息记录下来,方便创作者进行择优比对

调试功能将帮助你有效提高模型的输出质量,降低错误率,满足创作者的多元需求

当提示词效果符合预期后,点击下一步进入基础信息设置

基础信息设置

这部分信息将在文心一言app以及任何可见的分享页进行展示,几乎大部分信息都必须填写

页面信息描述

内容含义

是否必填

封面

封面将会展现在文心一言app,优秀的封面图将吸引更多用户关注

开场白

开场白是你创作的内容对用户说的第一句话,想象两个陌生人相见如何打招呼吧~

预设示例

预设一些你认为不错的情景,点击可以进行上下文对话

提示词简介

介绍你的提示词如何应用

提示词类型

选择你的提示词与之相近的场景,精准的类型匹配可以帮助用户更容易找到你的创意

提示词文本是否公开

你可以选择将你在“提示词设置里所写的Prompt公开或者不公开,平台将支持你的任何行为

输入框预置词

指文心一言app的文本输入框的展示,帮助用户熟悉你的创意用

提示词类型说明

这里会简单介绍一些我们定义一些提示词类型,请注意:提示词类型会根据平台策略调整,无法与文档完全一致

类型

描述

职场

“职场”主要为工作场景,包含不限于求职、创业、办公,比如:PPT大纲生成、日报助手、行业研究报告

学习

“学习”是指通过各种方式获得新的知识、技能或经验,并能够持续地改变自己的行为或行为潜能,比如:考试、考研、考公,练习口语,翻译

绘画

“绘画”是通过语言描述调教出不同风格、类型的图像,比如:毕加索风格、梵高风格

创作

”创作“主要集中在写作场景,应用大模型帮你吟诗作对、撰写文章,比如:写三行情书、情歌、俳句等

生活

“生活”主要为吃喝玩乐、衣食住行等多个场景,比如:帮我规划旅行计划、卡路里和营养师分析

娱乐

“娱乐”与生活相关,但更具可玩性,比如游戏、剧本杀、故事书等

情感

“情感”主要指人类的主观体验,比如感情生活、恋爱故事、言外之意等

预览功能说明

预览功能是你真实线上效果的展示,与调试记录并不相通,请不要把它当作Prompt调试进行使用

平台会帮你保存初始的内容,当内容发布之后,初始内容将消失处理,这与草稿功能不同,当你切换浏览器的时候,初始内容不同

注意:在最新的版本里,我们增加了发布设置功能,详情请查阅发布设置说明

2.2 智能体

创造AI世界陪伴智能体,赋予性格、形象和声音

角色设置

角色指虚构的人物或者具备人格化特征的虚拟形象

页面信息描述

内容含义

角色名称

你创作的角色名称

Prompt

你可以理解为“提示词、命令、指示“,通俗易懂的解释是Prompt是你想让大模型执行的词/句/段落,在角色里,更偏向于人格化的设定

Prompt模版

Prompt模版,主要是我们总结的一些比较适合与大模型沟通的模版,可以作为你的灵感参考,撰写Prompt的内容并无定式,期待你探索更多

基础信息设置

页面信息描述

内容含义

是否必填

头像

角色的头像,类似于封面图,平台提供了AI生图+动态头像图能力,注意“ 动态头像并非每张头像都能获取

开场白

开场白是你创作的内容对用户说的第一句话,想象两个陌生人相见如何打招呼吧~

预设示例

预设一些你认为不错的情景,点击可以进行上下文对话

简介

介绍你的角色的信息、生平

音色

当用户使用文心一言app与你的角色进行对话时,你的角色将用你选择的音色进行沟通

角色分类

主要分为虚拟类的人物、现实真实存在的人物,非人类形态但具备人形思维的生物特征

备注:角色目前采取内邀制,暂时不支持开放给所有用户

2.3 管理设置

发布流程管理

发布提示词之后,内容将流转至我的管理界面,平台将对内容进行审核 ,审核通过之后即可外网展示,提示词与角色均再此展示,新建角色流程不再赘述该部分

如下为我们目前的管理能力描述

能力项

能力描述

查看提示词/角色

查看你发布的所有提示词/角色列表,并进行对话,目前平台暂不支持非自己的提示词/角色收藏

展示提示词/角色审核状态

平台将对你发布的提示词/角色按标准审核

我今天的成果

审核状态说明

所有的发布和修改都支持被审核,审核状态一共分为三种,分别是:

  • 审核通过:意味着你的提示词/角色可以被使用,在文心一言app个人主页中将可以展示你的内容
  • 待审核:你的提示词/角色暂时还没有被审核,审核的时间一般不会超过24h,超过24h可以联系文心一言小助手进行处理
  • 审核拒绝:你的提示词审核不通过,下述会讲明原因,在审核拒绝中存在一种中间态原因:当你之前的提示词已经被审核通过,又因二次修改导致审核不通过,我们将在app上保留你之前的审核通过版本

审核原因说明

所有的内容都需符合法律法规,并符合平台的质量要求,主要不通过原因如下:

非常抱歉,您的内容不合规定,无法通过,请修改后重新提交

非常抱歉,您的内容存在文本不通畅/错别字,请修改后重新提交

非常抱歉,您的内容图片质量差/封面与内容不符,请修改后重新提交

非常抱歉,您的内容有标题党、或内容与主题无关,请修改后重新提交

当您的提示词审核通过后,您的内容将在文心一言app展示,欢迎你探索更多大模型的能力

审核成功以后 文心一言App 内同样可以看到并快速使用,效果如图:

3、优秀的Prompt工程师一定是善于深度思考的。

Promt创作过程:寻找需求——分析需求——提示词框架——提示词工程

Prompt的创作绝不只是与大模型的沟通,同样也是创作者对自身的思考。

1.寻找需求:如何寻找自身需求?

需求在生活中的蛛丝马迹中。

当我们去写提示词的时候,往往会出现这样的场景:面对的输入框不知道写什么,输入框空荡荡的,脑子也是空荡荡的。我们自身不知道需求是什么,或者说脑海中没有灵感。那我们怎么寻找自己的需求呢?请大家依次问自己三个问题:工作中最花费时间的内容是什么?生活中最耗费时间的内容是什么?你的兴趣爱好是什么?或许你会得到答案。

2.分析需求:思考自身的根本需求是什么!

望提示词工程师在创作过程中认真思考:我的根本需求是什么?

在计算机领域有一个经典的"X-Y”问题:

X-Y“问题是一个问题解决策略的概念,其中 X 是你真正面临的问题,而Y 是你认为的解决方案。当你尝试获取 Y 的信息或怎么做 Y 时,你实际上避开了真正的问题 X。

举例来说,假设你正在编写一个程序,需要解析一种特定格式的数据(这是你的X问题)。你决定使用某种特定的库来解析这种数据,但遇到困难(你现在的Y 问题)。你可能会询问关于这个库的问题,而不是你实际面对的如何解析这种格式的数据的问题。通过构造出一个 X-Y 问题,你可能限制了别人能给出的帮助,因为他们被限制在你选择的方案,而不是实际问题。

最好的方法是描述你的实际问题(X一-如何解析特定格式的数据)然后才告诉别人你试图怎么解决(你的 Y-一使用某个特定的库)。这样他们既可以在你遇到困难的方法上给予帮助,也可以提供其他可能的更好的解决方案。

什么意思呢?可能说到计算机领域的问题大家不是很清晰,在这里我们用一个通俗易懂的例子来讲解上述问题:在一个土木工程中,你遇到了一个问题——你需要把10吨的土运到工地,但是工地没有货车了。

你通过一系列的操作寻找货车,但是一直没有找到。最终他人提出,用拖拉机拉几趟也可以把土拉过来,随后问题迎刃而解。

在这个过程中'把10吨的土运到工地'是X问题,也就是根本的问题;'寻找货车'是Y问题,也就是在解决问题的过程中遇到的问题。当我们在解决Y问题的过程中没有办法的时候,反而退一步想想“如何解决X问题”会更加高效的解决问题。

下面我们来举一个在提示词创作过程中遇到的"X-Y”问题:
需求:让文心一言生动的扮演张飞与用户交谈。

我的思考:我在创作Prompt的过程中,遇到的“X问题”是“让文心一言生动的扮演张飞与用户交谈”,由此产生了“Y问题”是“如何让文心一言表现出张飞的所有性格”;我在解决“Y问题”(如何让文心一言表现出张飞的所有性格)的过程中花费了大量的精力和笔墨,生动的描绘了张飞的各种性格、也讲述了张飞大量的经历,但最终效果不尽人意,甚至可以说效果很差(因为字数和特征太多了,导致模型的生成效果不好)。

其实这个时候我是很沮丧的,我付出了很多努力,但是没有收获好的效果。但是我们回过头来看,其实我在解决问题的时候已经偏离了“X问题”(让文心一言生动的扮演张飞与用户交谈);我们深层次来剖析一下“X问题”(让文心一言生动的扮演张飞与用户交谈):“让文心一言生动的扮演张飞与用户交谈”,动作是“让文心一言生动的扮演张飞”,面向对象是“与用户交谈”,当我们将两者结合之后得“X问题”的根本需求——让文心一言扮演用户眼中的张飞。因为面向对象是“用户”,那我只要做到“让文心一言扮演用户眼中的张飞”即可,接着我仔细思考了一下“什么是用户眼中的张飞?”,其实就是“一个粗鲁、勇猛的蜀国猛将”。

当我拿到上面的思路后,我又一次设计了Prompt,这次的重点不再是“详细的表述张飞的所有性格和事件了”,而是“尽可能表现在用户眼中的张飞,也就是一个粗鲁、勇猛的蜀国猛将”。之后的效果也很好,被文心一言收录了,甚至利用这个思路创作了十多个角色,同样被文心一样收录。

上面这个过程就是一个典型的“X-Y”问题,当我剥离所有的杂乱思路后,得到了一个简单的工作方式,甚至复制这个方式再一次创作了多个类似的案例。

3.提示词框架:如何搭建一个合适的“提示词框架”?

把大模型当做一个世界看待。
好了,当我们整理完思路,接下来要整理我们的信息,或者换句话说——需求的实现需要哪些条件?

在这里我们仍然以“角色捏造Prompt”为例,我想让文心一言扮演我想要的张飞形象,那我就需要整理出能表达张飞形象的信息,比如:张飞的性格、张飞的人设、张飞的说话方式等。这些信息都可以帮助文心一言更清晰的认识到“我脑海中的张飞”,也让我更清晰的用自然语言表达“我脑海中的张飞”。这个从1到X的过程就是“提示词框架”建立的过程,一个好的“提示词框架”会让创作者的思路更加清晰,同时也会帮助文心一言更准确的识别语义。

那么问题来了——怎么搭建一个“提示词框架”呢?

在这里提出一个概念:把大模型当做一个世界对待。我们都知道,在现世界中的所有事物都是有属性的,比如提到老虎,属性就有猫科、动物、体型大等等;提到东北虎,属性有猫科、豹属动物、是虎的亚种之一等。同样的,在大模型中对万事万物也有相应的标签,你说老虎,大模型同样知道老虎是大型猫科动物;提到东北虎,大模型也知道东北虎是虎的亚种之一。从这个角度来讲,大模型和现实世界有一个相同点——现实世界和大模型都为事物赋上了属性。我们在创作Prompt的过程中可以通过事物的属性来搭建“提示词框架”。

比如,我想让文心一言扮演一个角色,我就围绕角色的属性把任务拆分,拆分为“角色的性格”、“角色的人设”、“角色的说话方式”等;我想让大模型模拟一个游戏系统,就围绕游戏系统对任务进行拆分,拆分为“游戏的交互方式”、“游戏的主循环”、“游戏的初始化场景”、“游戏中对象的属性”等。“提示词框架”来源于事物的属性,我们只要了解事物的属性,就可以围绕属性来对任务进行拆分,从而更详细的把我们的意思表达给大模型。

提示词框架搭建方法思路整理

那接下来我们试着用思维链把逻辑串起来:脑海中的需求——现实空间的映射——需求的拆解——提取关键特征——搭建提示词框架。

当我们理清脑海中的需求后,我们要去现实空间寻找需求能够映射的事物,之后对这个事物进行拆解,就好比一篇优秀的文章,一定是有层次的,那我们就要按照自己的理解去拆解这个文章的框架,再提取我们有用的信息,最后搭建一个合适的提示词框架。这个过程就是一个搭建“提示词框架”的过程,我称这个过程为“提示词映射法”。

4.提示词工程:如何向大模型表达我们的需求?

Attention Is All You Need.(注意力就是你所需要的)

我们一路从需求到思路梳理、再从思路梳理到创建提示词框架,这些过程都属于我们由外到内的自我思考,下一步则是由内到外的表达过程——提示词创作。那么要如何才能创作出优质的提示词呢?答案是精确表达。我将在下文详细解释什么是精确表达

首先,我要引用深度学习初学者必读的一篇论文——《Attention Is All You Need》(注意力就是你所需要的)。我把论文放在这里不是为了让各位去阅读或者学习这篇文章,而是为了引出大模型的思维方式——注意力机制。

人与人交流的过程中会下意识的抓取关键词作为对方的参考,举个例子来说:你在某次线下聚会中认识了A,你与A聊了起来,整个过程大概10分钟,你们相互认识了对方。但是当第二天你醒来之后,或许你只会记住寥寥几个关键词,A是什么职业、有XX成就、擅长XXX、谈吐如何。你并不会记住昨天所有的聊天内容,因为你的注意力只放在你关注的领域。我们再回到上面的论文题目《Attention Is All You Need》,它的意思是指大模型的注意力同样是有限的(当然比人多得多),也只会放在关键信息的部分。

下面我以GPT3.5为例,做一个实验来验证大模型的注意力只会放在关键信息部分。

第一次试验提问:4杯100°的水倒在一起是多少度

结论:答案正确、推理过程正确

分析过程:大模型审题之后把注意力放在了温度的特征上——温度相同的物体放在一起温度不变。

第二次试验提问:4杯100°的水倒在一起,再倒出来4分之1,最后温度是多少度

结论:答案错误

分析过程:把水倒在一起温度不变,但是倒出来4分之1却改变了,原因就在于大模型审题之后把注意力放在了转折语句上“再倒出来4分之1”,此时大模型会把注意力集中在这个部分,从而导致忽略温度的特征“温度相同的物体放在一起温度不变”,造成推理过程错误。那我们第三次实验,强调一下这个特征,看看我们的推理是否正确。

总结:在上述实验中,我们发现三个相似的问题因大模型的注意力不同从而导致了不同的结果,明明是基于一个简单的原理(温度相同的物体放在一起温度不变)给出了三个不同的提示词,GPT却给了不同的结果。究其根源在于,在第一次的实验中GPT的注意力放在了温度的特征上(温度相同的物体放在一起温度不变),给出了100℃的正确答案;而第二次的实验中GPT的注意力放在了转折语句(再把水倒出来4分之1)上,从而给出了75℃的错误答案;在第三次的实验中,我们强调了温度的特征(温度相同的物体放在一起温度不变),GPT再一次把注意力放回温度的特征上,从而给出了正确答案。

反思:上面的案例给了我或者说我们一个什么结论呢?你本以为表达的意思或许在大模型中并没有被理解。这个问题是一直存在的,或许我们认为自己表达的已经很清晰的,但是实际上大模型并未真正理解我们的意思。这个问题导致我们在使用提示词的过程中,一直得不到我们想要的结果,也就是上文提到的精确表达。

文献:进阶提示工程师之路 | 文心一言创作平台文档

二、讯飞星火、星火助手中心

1、创作中心

我的 创作“AI周汇报”,使用方便,效果还不错。

2、认证攻略

详细认证见文档:AI Prompt工程师认证&学习指南Docsicon-default.png?t=N7T8https://datawhaler.feishu.cn/docx/ITDod4LCjo5yoixJHkdcUDw6nrc

3、认证成功,学习证书

结束语:

如果说Al大语言模型(LLM,Large Language Model)是宝藏我,那么Prompt提示词就是打开宝藏的钥匙。

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

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

相关文章

vue-cli项目运行流程介绍

一、前言 ​ 本文介绍 vue-cli搭建的项目运行流程,基于已经搭建好的基础项目。关于 vue-cli 构建项目的详细流程,可参考博文:使用vue脚手架构建项目 二、main.js 项目运行 会加载入口文件 main.js /* html文件中,通过script …

MYSQL基础(一) --- 学习笔记

一.基础操作 启动与关闭:net start mysql80,net stop mysql80 客户端连接:mysql -u root -p 关系型数据库:建立在关系模型基础上,由多张相互连接的二维表(由行和列组成的表)组成的数据库 二…

《Pandas 简易速速上手小册》第6章:Pandas 时间序列分析(2024 最新版)

文章目录 6.1 时间序列数据基础6.1.1 基础知识6.1.2 重点案例:股票市场分析6.1.3 拓展案例一:温度变化分析6.1.4 拓展案例二:电商平台日销售额分析 6.2 日期与时间功能6.2.1 基础知识6.2.2 重点案例:活动日志分析6.2.3 拓展案例一…

最全整理!37 个 Python Web 开发框架总结!

大家好,用了 2 周的时间整理了 Python 中所有的网站开发库(下文简称:Web 框架),供大家学习参考。 Q:Web 框架到底是什么? A:Web 框架主要用于网站开发。开发者在基于 Web 框架实现…

【数据结构(C语言)】树、二叉树详解

目录 文章目录 前言 一、树的概念及结构 1.1 树的概念 1.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用 二、二叉树的概念及结构 2.1 二叉树的概念 2.2 二叉树的基本形态 ​编辑2.3 特殊的二叉树 2.4 二叉树的性质 2.5 二叉树的存储结构 三、二叉树的顺序结…

Java编程练习之类的封装2

1.封装一个股票(Stock)类,大盘名称为上证A股,前一日的收盘点是2844.70点,设置新的当前值如2910.02点,控制台既要显示以上信息,又要显示涨跌幅度以及点数变化的百分比。运行效果如下:…

SketchBook 2022下载安装教程,保姆级教程,操作简单,小白也能轻松搞定,附安装包和工具

前言 Autodesk SketchBook是一款新一代的自然画图软件,软件界面新颖动人,功能强大,仿手绘效果逼真,笔刷工具分为铅笔,毛笔,马克笔,制图笔,水彩笔,油画笔,喷枪…

Offer必备算法_前缀和_牛客+力扣OJ题详解(由易到难)

目录 前缀和算法介绍 一维前缀和 二维前缀和 ①牛客DP34 【模板】前缀和 解析代码 ②牛客DP35 【模板】二维前缀和 解析代码 ③力扣724. 寻找数组的中心下标 解析代码 ④力扣238. 除自身以外数组的乘积 解析代码 ⑤力扣560. 和为 K 的子数组 解析代码 ⑥力扣974. …

2024美国大学生数学建模竞赛A-F题完整思路+配套代码数据+后续高质量参考论文更新

The Mathematical Contest in Modeling (MCM) The Interdisciplinary Contest in Modeling (ICM) 24美赛【完整每问手把手详细思路可修改50页多种思路版本word版保奖论文】配套升级求解代码可视化图表 美赛A-F题完整版获取见文末 下文包含:2024美国大学生数学建模…

代码随想录 Leetcode110.平衡二叉树

题目: 代码(首刷看解析 2024年1月30日): class Solution { public:int depth(TreeNode* root) {if (root nullptr) return 0;int leftHeight depth(root->left);if (leftHeight -1) return -1;int rightHeight depth(root->right)…

Java List的合并与切分

在Java开发中经常遇到list结构数据的处理,如List的合并或拆分,记录下来,方便备查。 一、List 合并 两个list数据的合并处理,可使用Java8 新特性的stream流,根据实际需要遍历取值。 1、定义 UserInfo 对象 订单的相…

LeetCode: 189.轮转数组

本篇目标了解,翻转数组的经典解法, 189. 轮转数组 - 力扣(LeetCode) 目录 基本方法概述: 1,翻转做法,推荐时O(n),空(1) 2&#x…

Windows IIS服务如何配置并制作web站点结合内网穿透实现公网访问

文章目录 1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访问测试 4. 安装Raidrive客户端4.1 连接WebDav服务器4.2 连接成功4.2 连接成功总结: 自己用Windows Server搭建了家用NAS主机&…

【Linux C | I/O模型】IO复用 | select、pselect函数详解(看完就会用了)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

Unity 模板方法模式(实例详解)

文章目录 简介示例1:游戏关卡流程示例2:测试试卷类示例3:游戏场景构建流程示例4:游戏动画序列示例5:游戏对象初始化过程 简介 Unity中的模板方法模式是一种行为设计模式,它在父类中定义了一个算法的框架&a…

关键字const

1.定义常量 const int a; 2.定义常量指针 1.不可以通过常量指针来修改其指向的内容。 2.不能把常量指针赋值给非常量指针,反过来可以。 3.函数参量为常函数指针时,可以避免函数内部不小心改变指针所指地方的内容。

【2024美国大学生数学建模竞赛】2024美赛C题 问题分析、数学模型、实现代码、完整论文

【2023美国大学生数学建模竞赛】2024美赛C题 问题分析、数学模型、实现代码、完整论文 引言 题目将于2024年2月2日6:00发布。我们团队将会在8点前准时更新问题分析,逐步更新数学模型和实现代码,最后发布完整的论文。 更新进展: (…

elementui 开始结束时间可以选择同一天不同时间段

先在main.js中导入 import moment from moment <el-row><el-col :span"12"><el-form-item label"考试开始时间" prop"startTime"><el-date-picker v-model"shiJuanXinXiForm.startTime" style"width: 100…

7款免费的Midjourney平替平台

AI艺术生成器正在改变设计和内容的制作方式。像Midjourney这样的工具已经将困难的想法转化为令人惊叹的视觉效果&#xff0c;改变了创造力的运作方式。但是&#xff0c;AI艺术涵盖了许多风格和需求。这就是Midjourney替代方案变得重要的原因&#xff08;特别是免费的替代方案&a…

基于springboot+vue的阿博图书馆管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…