大模型应用:Prompt-Engineering优化原则

在这里插入图片描述

1.Prompt-Engineering

随着大模型的出现及应用,出现了一门新兴“技术”,该技术被称为Prompt-Enginerring。Prompt Engineering即提示工程,是指在使用大语言模型时,编写高效、准确的Prompt(提示词)的过程。通过不同的表述、细节和关键词,使大模型更好服务于特定任务。

为什么需要提示词工程?
如果把大模型看作一个灯神,我们在向灯神许愿,那么我们许愿的“愿望”就是提示词,如果我们说的愿望无法被灯神很好理解,那么灯神给我们的还愿就会出现歧义。

比如:我许愿想要100万,没有指明币种,可能灯神会认为我想要的是100万津巴布韦币。

2.具体优化原则

Prompt-Enginerring的优化原则为:

  1. 指定角色及随机度
  2. 编写清晰、具体的指令
  3. 给予执行步骤及思考过程

2.1.指定角色及温度值

角色

指定角色可以让大模型更好地约束自己的行为,给到更专业的输出结果,如在Prompt中指定:

  1. 你是一个认真的审核员
  2. 你是一个高级软件工程师
  3. 你是一个小红书文案生成器
  4. 你是一个数学老师

温度值

在OpenAPI接口或者Playground中,可以指定大模型的输出温度值(temperature)。
温度值越高,大模型的输出越具有不确定性和跳脱性,一般在文科类或情感类需求中,会指定较高的温度值。
温度值越低,大模型的输出会越严格和逻辑慎密,一般在理科类或工程推理等需求中,会指定较低温度值,一般设置为0。

2.2.编写清晰具体的指令

使用分隔符

在编写Prompt时常会出现大模型阅读上下文混淆的问题,比如输入的文本包含与预设Prompt相冲突的内容,如果不加分隔,这些输入就可能“注入”并操纵大模型,导致模型产生毫无关联的乱七八糟的输出。
这种由输入文本影响预设Prompt导致非预期输出的问题,被称为“提示词注入”。
为了避免提示词注入,我们可以在输入文本中使用特定分隔符,强制将不同内容分隔出来,让大模型更好地理解。
常用的分隔符为```、{}、“”、<>等。

  • promptDelimiter
func promptDelimiter(ctx context.Context) {
   systemText := `你是一个文本总结器,可以把{}扩起来的内容总结为20个字内的概要`
   gptCaller, err := llm_caller.NewGptLLMCaller(ctx, systemText, 0.0, 512)
   if err != nil {
      logrus.Errorf("gpt caller init fail, err = %v,", err)
      return
   }

   {
      text := `大模型问世仅仅一年,就迎来了免费时代。
在字节跳动的大模型喊出比行业便宜99.3%之后,其“行业最低价”正在被不断打破。近日,阿里云、百度等巨头公司纷纷宣布将大模型价格降到更低,百度甚至直接宣布免费。科大讯飞更是宣布,其讯飞星火API能力正式免费开放。其中,讯飞星火Lite API永久免费开放。
多位业内人士在接受《中国经营报》记者采访时表示,尽管宣布降价的模型产品众多,但真正大规模、高性能并且支持高并发的大模型推理仍然需要收费,降价幅度有限。不过,可以明确的是,这场关于大模型免费使用的价格战才刚刚开始。也许很快人们就会看到,在大模型这场比赛中,大多数的大模型公司都将被淘汰。
没有最低,只有更低
5月22日,腾讯云正式对外宣布了全新的大模型升级方案,其核心模型之一的混元-lite模型价格策略发生重要调整,由原先的0.008元/千tokens调整为全面免费使用。同时,最高配置的万亿参数模型混元-pro也进行了价格优化,从原有的0.1元/千tokens下降至0.03元/千tokens。
短短数日,百度、阿里云、腾讯、字节跳动、科大讯飞等各家大模型厂商均已投入到这场“价格战”中。而国内这场“价格战”最早可追溯到5月6日,幻方量化旗下DeepSeek发布第二代MoE(专家模型)DeepSeek-V2,API定价为每百万tokens输入1元、输出2元(32K上下文),价格为GPT-4-Turbo的近百分之一。`
      resp, err := gptCaller.Call(ctx, fmt.Sprintf("{%v}", text))
      if err != nil {
         logrus.Errorf("gpt caller call fail, err = %v", err)
         return
      }
      logrus.Infof("-原始文本:%v\n-总结文本:%v", text, resp)
   }

   {
      text := `百度文心大模型5.0将在2025年发布
据知情人士消息,百度或将于2025年百度世界大会期间发布新一代文心大模型5.0。目前,文心大模型最新版本为4.0版本,具备理解、生成、逻辑和记忆四大核心能力。公开信息显示,百度文心大模型于2019年3月首发,同年7月迭代至2.0版本,2021年7月发布3.0版本,2023年10月升级至4.0版本。截至目前,百度方面暂未就此传闻给出回应。
OpenAI宣布已启动下一代前沿模型训练
当地时间周二,OpenAI发布公告称董事会成立了一个负责把控AI开发方向的安全委员会。同时,OpenAI还在公告中表示,近些日子已经开始训练公司的“下一代前沿模型”,该新模型预计带来更高水平的能力,将成为聊天机器人、智能助手、搜索引擎和图像生成器在内的各类人工智能产品的核心引擎,助力Open AI实现“通用人工智能”(AGI)的目标。`
      resp, err := gptCaller.Call(ctx, fmt.Sprintf("{%v}", text))
      if err != nil {
         logrus.Errorf("gpt caller call fail, err = %v", err)
         return
      }
      logrus.Infof("-原始文本:%v\n-总结文本:%v", text, resp)
   }
}
  • 输出
-原始文本:大模型问世仅仅一年,就迎来了免费时代。
在字节跳动的大模型喊出比行业便宜99.3%之后,其“行业最低价”正在被不断打破。近日,阿里云、百度等巨头公司纷纷宣布将大模型价API永久免费开放。
多位业内人士在接受《中国经营报》记者采访时表示,尽管宣布降价的模型产品众多,但真正大规模、高性能并且支持高并发的大模型大模型这场比赛中,大多数的大模型公司都将被淘汰。
没有最低,只有更低
522日,腾讯云正式对外宣布了全新的大模型升级方案,其核心模型之一的混元-lite模型价格策略发生重要调整,由原先的0.008/1/千tokens下降至0.03/千tokens。
短短数日,百度、阿里云、腾讯、字节跳动、科大讯飞等各家大模型厂商均已投入到这场“价格战”中。而国内这场“价格战”最早可追溯kens输入1元、输出2元(32K上下文),价格为GPT-4-Turbo的近百分之一。
-总结文本:大模型价格战:巨头公司纷纷降价,部分免费使用,行业竞争激烈,价格不断下降。 

-原始文本:百度文心大模型5.0将在2025年发布
据知情人士消息,百度或将于2025年百度世界大会期间发布新一代文心大模型5.0。目前,文心大模型最新版本为4.0版本,具备理解、0217月发布3.0版本,202310月升级至4.0版本。截至目前,百度方面暂未就此传闻给出回应。
OpenAI宣布已启动下一代前沿模型训练
当地时间周二,OpenAI发布公告称董事会成立了一个负责把控AI开发方向的安全委员会。同时,OpenAI还在公告中表示,近些日子已经图像生成器在内的各类人工智能产品的核心引擎,助力Open AI实现“通用人工智能”(AGI)的目标。
-总结文本:百度计划2025年发布文心大模型5.0,OpenAI启动下一代前沿模型训练,旨在实现通用人工智能目标。 

结构化的输出

许多时候我们需要大模型给我们一些结构化的输出,而不仅仅是连续的文本,例如JSON、HTML等。这种输出非常适合在代码中进一步解析和处理。

  • promptJSON
func promptJSON(ctx context.Context) {
   systemText := `你是一个文本总结器,可以把{}括起来的内容总结并提炼出对应的关键字。
你需要以JSON形式返回提炼文本、文本中涉及到的关键字列表,对应的Key分别为summarizeText、keywords`
   gptCaller, err := llm_caller.NewGptLLMCaller(ctx, systemText, 0.0, 512)
   if err != nil {
      logrus.Errorf("gpt caller init fail, err = %v,", err)
      return
   }
   {
      text := `大模型问世仅仅一年,就迎来了免费时代。
在字节跳动的大模型喊出比行业便宜99.3%之后,其“行业最低价”正在被不断打破。近日,阿里云、百度等巨头公司纷纷宣布将大模型价格降到更低,百度甚至直接宣布免费。科大讯飞更是宣布,其讯飞星火API能力正式免费开放。其中,讯飞星火Lite API永久免费开放。
多位业内人士在接受《中国经营报》记者采访时表示,尽管宣布降价的模型产品众多,但真正大规模、高性能并且支持高并发的大模型推理仍然需要收费,降价幅度有限。不过,可以明确的是,这场关于大模型免费使用的价格战才刚刚开始。也许很快人们就会看到,在大模型这场比赛中,大多数的大模型公司都将被淘汰。
没有最低,只有更低
5月22日,腾讯云正式对外宣布了全新的大模型升级方案,其核心模型之一的混元-lite模型价格策略发生重要调整,由原先的0.008元/千tokens调整为全面免费使用。同时,最高配置的万亿参数模型混元-pro也进行了价格优化,从原有的0.1元/千tokens下降至0.03元/千tokens。
短短数日,百度、阿里云、腾讯、字节跳动、科大讯飞等各家大模型厂商均已投入到这场“价格战”中。而国内这场“价格战”最早可追溯到5月6日,幻方量化旗下DeepSeek发布第二代MoE(专家模型)DeepSeek-V2,API定价为每百万tokens输入1元、输出2元(32K上下文),价格为GPT-4-Turbo的近百分之一。`
      resp, err := gptCaller.Call(ctx, fmt.Sprintf("{%v}", text))
      if err != nil {
         logrus.Errorf("gpt caller call fail, err = %v", err)
         return
      }
      logrus.Info(resp)
   }

   {
      text := `百度文心大模型5.0将在2025年发布
据知情人士消息,百度或将于2025年百度世界大会期间发布新一代文心大模型5.0。目前,文心大模型最新版本为4.0版本,具备理解、生成、逻辑和记忆四大核心能力。公开信息显示,百度文心大模型于2019年3月首发,同年7月迭代至2.0版本,2021年7月发布3.0版本,2023年10月升级至4.0版本。截至目前,百度方面暂未就此传闻给出回应。
OpenAI宣布已启动下一代前沿模型训练
当地时间周二,OpenAI发布公告称董事会成立了一个负责把控AI开发方向的安全委员会。同时,OpenAI还在公告中表示,近些日子已经开始训练公司的“下一代前沿模型”,该新模型预计带来更高水平的能力,将成为聊天机器人、智能助手、搜索引擎和图像生成器在内的各类人工智能产品的核心引擎,助力Open AI实现“通用人工智能”(AGI)的目标。`
      resp, err := gptCaller.Call(ctx, fmt.Sprintf("{%v}", text))
      if err != nil {
         logrus.Errorf("gpt caller call fail, err = %v", err)
         return
      }
      logrus.Info(resp)
   }
}
  • 输出
{
    "summarizeText": "大模型问世仅仅一年,就迎来了免费时代。多家巨头公司宣布大模型价格降低甚至免费,引发了一场关于大模型免费使用的价格战。各家厂商纷纷加入这场价格战,价格不断被打破。",
    "keywords": ["大模型", "免费时代", "字节跳动", "阿里云", "百度", "科大讯飞", "价格战", "腾讯云", "混元-lite模型", ", "MoE", "GPT-4-Turbo"]
} 

{
    "summarizeText": "百度计划在2025年百度世界大会期间发布新一代文心大模型5.0,该模型具备理解、生成、逻辑和记忆四大核心类人工智能产品的核心引擎,助力实现通用人工智能的目标。",
    "keywords": ["百度", "文心大模型", "5.0版本", "OpenAI", "前沿模型", "训练", "人工智能", "通用人工智能", "AGI"]
} 

检查是否满足条件

如果任务包含不一定能满足的假设(条件),我们可以告诉大模型先检查这些假设,如果不满足,则会指出并停止执行后续的完整流程。

  • promptCheck
func promptCheck(ctx context.Context) {
   systemText := `你是一个操作步骤总结器,请阅读{}括起来的输入内容,并提炼出输入内容中提到的执行步骤。
提炼出的步骤按以下格式返回:
- 第一步:...
- 第二步:...
注意,对于不存在明确步骤的输入内容,直接说"不存在步骤"`
   gptCaller, err := llm_caller.NewGptLLMCaller(ctx, systemText, 0.0, 512)
   if err != nil {
      logrus.Errorf("gpt caller init fail, err = %v,", err)
      return
   }
   {
      text := `制作牛排首先需要准备材料有牛肉1块,洋葱半个,蒜头2个,黄油1小块,黑胡椒粉少许。
首先把牛肉切成半个巴掌大小的块状,然后往肉上撒盐和黑椒粉,两面抹匀,腌制一两小时。剁碎蒜头和洋葱放入
热锅,待油融化后摆好牛排,慢火煎至你想要的成熟度。制作完成后将牛排装盘,用锅中的余油把蒜头碎和洋葱碎爆香。
随后把洋葱碎炒软后,加入一碗清水煮开,放几滴酒,再用盐和黑椒粉调味,慢慢炒匀成稠汁状。将熬好的黑椒汁淋到牛排上即可`
      resp, err := gptCaller.Call(ctx, fmt.Sprintf("{%v}", text))
      if err != nil {
         logrus.Errorf("gpt caller call fail, err = %v", err)
         return
      }
      logrus.Info(resp)
   }
   {
      text := `今天天气很不错,也不会下雨,也没有多云,阳光明媚`
      resp, err := gptCaller.Call(ctx, fmt.Sprintf("{%v}", text))
      if err != nil {
         logrus.Errorf("gpt caller call fail, err = %v", err)
         return
      }
      logrus.Info(resp)
   }
}
  • 输出
- 第一步:将牛肉切成半个巴掌大小的块状,撒盐和黑椒粉,腌制一两小时。
- 第二步:剁碎蒜头和洋葱,放入热锅,摆好牛排,慢火煎至理想的成熟度。
- 第三步:将煎好的牛排装盘,用余油爆香蒜头碎和洋葱碎。
- 第四步:炒软洋葱碎后,加入清水煮开,加入几滴酒,用盐和黑椒粉调味,慢慢炒匀成稠汁状。
- 第五步:将熬好的黑椒汁淋到牛排上即可。 

不存在步骤

提供少量示例

对于不提供任何示例直接给出提示词并要求模型给出结论的过程,被称为zero-shot(零样本提示),对于某些比较复杂的、需要让大模型先参考一些示例的情况被称为few-shot(少样本提示),通过few-shot可以更好地让大模型了解自己应该输出怎么样的内容,以及完成怎样特定的任务。

  • promptFewShot
func promptFewShot(ctx context.Context) {
   systemText := `你是一个小红书文案生成器,你需要将{}括起来的输入内容改写为小红书的文案风格并输出改写后的文案。以下是几段小红书风格的博文参考:
1、嘴上说不要,钱包却很诚实嘛。
2、原谅我一生放浪不羁爱shopping!
3、草!我又拔草了!
4、工资已经到账,快递还会远吗?
5、掐指一算,姑娘你命中缺钱。
注意,只需要给出一句话作为文案,不要有多余的特殊符号输出`
   gptCaller, err := llm_caller.NewGptLLMCaller(ctx, systemText, 0.0, 512)
   if err != nil {
      logrus.Errorf("gpt caller init fail, err = %v,", err)
      return
   }
   text := `大模型是当今的潮流,学习及应用大模型是一个大趋势,让我们一起学习大模型`
   resp, err := gptCaller.Call(ctx, fmt.Sprintf("输入内容为{%v}", text))
   if err != nil {
      logrus.Errorf("gpt caller call fail, err = %v", err)
      return
   }
   logrus.Info(resp)
}
  • 输出
大模型是当今的潮流,学习及应用大模型是一个大趋势,让我们一起探索大模型的魅力吧!

2.3.指定执行步骤及思考过程

语言模型与人类一样,需要时间来思考并解决复杂问题。如果让语言模型匆忙给出结论,其结果很可能不准确。在让大模型处理复杂的推理逻辑类问题时,可以指明执行步骤,并要求其输出思考过程,这样可以大提高大模型处理复杂问题的效果。

指定执行步骤

对于一个复杂任务,我们可以给出完成该任务的一系列步骤让大模型遵守,一步步完成并给到最终的输出。

  • promptStructure
func promptStructure(ctx context.Context) {
   systemText := `请你对{}括起来的文本执行以下操作:
1.首先判断该文本属于哪类语言
2.将该文本翻译为英文
3.总结出中文文本中有哪些地点
4.总结出中文文本中有哪些人物

使用JSON形式表达上述操作结果,输出以下Key及值:原始语言、英文翻译、地点汇总、人物汇总`
   gptCaller, err := llm_caller.NewGptLLMCaller(ctx, systemText, 0.0, 512)
   if err != nil {
      logrus.Errorf("gpt caller init fail, err = %v,", err)
      return
   }
   text := `小村庄里,老师小林找到了一把古老的钥匙,决定带领李雷和韩梅梅探索传说中的秘密花园。
他们穿过幽深的森林,解开了一系列谜题,最终发现花园中隐藏的是一座知识的宝库,让整个村庄的孩子们受益无穷。`
   resp, err := gptCaller.Call(ctx, fmt.Sprintf("输入文本:{%v}", text))
   if err != nil {
      logrus.Errorf("gpt caller call fail, err = %v", err)
      return
   }
   logrus.Info(resp)
}
  • 输出
{
    "原始语言": "中文",
    "英文翻译": "In a small village, teacher Xiao Lin found an ancient key and decided to lead Li Lei and Han Meimei tplore the legendary secret garden. They passed through a deep forest, solved a series of puzzles, and finally discovered that the hidden treasure in the garden was a treasury of knowledge, benefiting all the children in the village.",
    "地点汇总": ["小村庄", "秘密花园", "幽深的森林"],
    "人物汇总": ["小林", "李雷", "韩梅梅"]
} 

思考过程

在设计Prompt时,我们还可以通过明确指导语言模型进行自主思考,来获得更好的效果。举个例子,假设我们要语言模型判断一个数学问题的解答是否正确。仅仅提供问题和解答是不够的,模型可能会匆忙做出错误判断。
相反,我们可以在Prompt中先要求语言模型自己尝试解决这个问题,给出思考过程,然后再与提供的解答进行对比,判断正确性。这种先让语言模型自主思考的方式,能帮助它更深入理解问题,做出更准确的判断。

  • promptCoT
func promptCoT(ctx context.Context) {
   systemText := `你是一个数学老师,请你批改{}括起来的含有作业题目及答案的文本,执行以下操作:
1.首先阅读题目,并自己计算得到答案,写下推理过程
2.将你的推理过程与文本中的答案比对
3.判断文本中的答案是否正确
4.总结文本中的答案错在了哪里

最后,上述操作无需输出,只需要使用JSON格式输出以下Key及值:推理过程、答案是否正确、答案错在哪里

对于JSON格式中Key的说明:
1.推理过程:你解答这个题目的推理过程
2.答案是否正确:输入文本中的答案是否正确,输出值为:正确、不正确  
3.答案错在哪里:输入文本中的答案错在哪里`
   gptCaller, err := llm_caller.NewGptLLMCaller(ctx, systemText, 0.0, 1024)
   if err != nil {
      logrus.Errorf("gpt caller init fail, err = %v,", err)
      return
   }
   text := `题目:
土地费用为 100美元/平方英尺
我可以以 250美元/平方英尺的价格购买太阳能电池板
我已经谈判好了维护合同,每年需要支付固定的10万美元,并额外支付每平方英尺10美元
作为平方英尺数的函数,首年运营的总费用是多少。
答案:
设x为发电站的大小,单位为平方英尺。
费用:
土地费用:100x
太阳能电池板费用:250x
维护费用:100,000美元+100x
总费用:100x+250x+100,000美元+100x=450x+100,000美元`
   resp, err := gptCaller.Call(ctx, fmt.Sprintf("输入文本:{%v}", text))
   if err != nil {
      logrus.Errorf("gpt caller call fail, err = %v", err)
      return
   }
   logrus.Info(resp)
}
  • 输出
{
"推理过程": "首年运营的总费用应包括土地费用、太阳能电池板费用和维护费用。土地费用为100x,太阳能电池板费用为250x,维护费100,000美元。",
"答案是否正确": "不正确",
"答案错在哪里": "计算总费用时,维护费用额外支付每平方英尺10美元,而不是10,000美元。因此,总费用应为360x+10x+100,000美元=370x+100,000美元。"
} 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安全风险 - 组件导出风险

在安全审查中关于组件导出风险是一种常见问题&#xff0c;不同组件都有可能遇到这种问题&#xff0c;而且从一定角度来看的话&#xff0c;如果涉及到三方业务&#xff0c;基本处于无法解决的场景&#xff0c;所以我们需要说明为何无法避免这种风险 组件导出风险能不能规避&…

设计模式(十)结构型模式---享元模式

文章目录 享元模式简介结构UML图具体实现UML图代码实现 享元模式简介 享元模式&#xff08;fly weight pattern&#xff09;主要是通过共享对象来减少系统中对象的数量&#xff0c;其本质就是缓存共享对象&#xff0c;降低内存消耗。享元模式将需要重复使用的对象分为两个状态…

Nginx配置详细解释:(2)events事件配置

在nginx核心配置文件conf/nginx.conf中&#xff0c;有全局配置&#xff0c;events模块&#xff0c;http模块&#xff0c;(http模块中有嵌套多个模块)。常见配置项&#xff0c; events模块中&#xff0c;如下图&#xff1a; events是nginx与用户之间处理事件的功能。 如单个wo…

selenium自动化介绍

文章目录 一、selenium原理 安装二、selenium使用1.创建浏览器对象&#xff0c;访问网址2.消除警告提示3.不显示浏览器中受控制字样4.防检测5.设置延时5.1强制延时5.2隐式延时 6.设置浏览器窗口大小 三、案例实战&#xff1a;百度搜索四、iframe标签五、案例实战&#xff1a;Q…

SpringBoot+百度地图+Mysql实现中国地图可视化

通过SpringBoot百度地图Mysql实现中国地图可视化 一、申请百度地图的ak值 进入百度开发者平台 编辑以下内容 然后申请成功 二、Springboot写一个接口 确保数据库里有数据 文件目录如下 1、配置application.properties文件 #访问端口号 server.port9090 # 数据库连接信息 spr…

【Vue】响应式特性

响应式&#xff1a;简单理解就是数据改变&#xff0c;视图会自动更新。 如何访问 和 修改 data中的数据&#xff08;响应式演示&#xff09; data中的数据, 最终会被添加到实例上 例如这里&#xff0c;app身上就会拥有msg属性&#xff0c;修改msg的值&#xff0c;界面的值也会…

原生APP开发和Flutter开发的比较

原生APP开发和Flutter开发各有优缺点&#xff0c;适用于不同的场景和需求。下面是两者的详细比较&#xff0c;从开发语言、性能、开发效率、维护和更新、社区和支持等多个方面进行分析。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。…

成功解决“IndexError: queue index out of range”错误的全面指南

成功解决“IndexError: queue index out of range”错误的全面指南 引言 在Python编程中&#xff0c;queue模块提供了同步队列类&#xff0c;包括FIFO&#xff08;先进先出&#xff09;队列Queue&#xff0c;LIFO&#xff08;后进先出&#xff09;队列LifoQueue&#xff0c;以…

uniapp登录成功后跳回原有页面+无感刷新token

uniapp登录成功后跳回原有页面 引言 在C端的页面场景中&#xff0c;我们经常会有几种情况到登录页&#xff1a; 区分需要登录和不用登录的页面&#xff0c;点击需要登录才能查看的页面 已经登录但是超时&#xff0c;用户凭证失效等原因 以上情况可以细分为两种&#xff0c;一…

2023年全国青少信息素养大赛智能算法C++挑战赛复赛初中组真题,包含答案解析分享

【读前注意】:此卷是真题,答案解析辛苦整理,大家多多点赞并转发支持,需要下载空白文档题目版本(包含2023年小学组和初中组的题目pdf文件),可以在留言区的第一条留言的链接中进行复制,然后再浏览器中下载即可。 智能算法挑战复赛初中组 (总共

AngularJS基础语法(2009版本)

jquery和AngularJS 数据绑定和获取对比&#xff1a; jquery&#xff0c;要操作DOM&#xff1a; angularJS&#xff0c;无需操作DOM就可以进行动态数据变化&#xff1a; 要使用Angularjs就需要在html页面先引入&#xff1a; ng-app&#xff1a; html页面中&#xff0c;需要给…

操作系统的体系结构:宏内核和微内核

操作系统的体系结构是一个开放的问题。操作系统在核心态为应用程序提供公共的服务&#xff0c;那么操作系统在核心态应该提供什么服务、怎样提供服务&#xff1f;有关这个问题的回答形成了两种主要的体系结构&#xff1a;宏内核和微内核。 宏内核&#xff1a;大而全 宏内核系统…

【面试题-004】ArrayList 和 LinkList区别

ArrayList 和 LinkedList 都是 Java 中常用的动态数组实现&#xff0c;都实现了 List 接口&#xff0c;但它们在内部数据结构和性能方面有所不同&#xff1a; 内部数据结构&#xff1a; ArrayList 是基于动态数组的数据结构&#xff0c;它允许快速随机访问。数组的大小在创建时…

simCSE句子向量表示(1)-使用transformers API

SimCSE SimCSE: Simple Contrastive Learning of Sentence Embeddings. Gao, T., Yao, X., & Chen, D. (2021). SimCSE: Simple Contrastive Learning of Sentence Embeddings. arXiv preprint arXiv:2104.08821. 1、huggingface官网下载模型 官网手动下载&#xff1a;pri…

【Self-Attention——Transform—Bert】相关的基础理论

1.Self-Attention模型图解 传统的循环神经网络&#xff0c;如上左图1&#xff0c;并不能解决并行化的问题&#xff0c;右图就是一个self-Attention可以实现并行化&#xff0c;并且能解决对于所有信息的读取利用。 将self—Attention替换相应的GRU或者RNN&#xff0c;就能实现从…

C#WPF数字大屏项目实战09--机器产量统计

1、区域布局 2、柱状图 Live chart 是一个跨平台的图表库 .Net&#xff0c;这是一个简单、灵活、交互式、强大的跨平台图表库&#xff0c;支持Maui、Uno Platform、Blazor-wasm、WPF、WinForms、Xamarin、Avalonia、WinUI、UWP。提供超过60多种图表类型&#xff0c;包括&#…

NumPy应用(一)

NumPy学习篇1 NumPy是一个强大的Python库&#xff0c;它提供了高效的多维数组对象和各种用于数组操作的函数。以下是NumPy学习大纲&#xff0c;详细介绍了NumPy的核心功能和概念。 1. NumPy 简介 NumPy是一个用于处理多维数组的Python库&#xff0c;它提供了一个强大的数组对…

【启程Golang之旅】从结构到接口揭秘Go的“面向对象”面纱

欢迎来到Golang的世界&#xff01;在当今快节奏的软件开发领域&#xff0c;选择一种高效、简洁的编程语言至关重要。而在这方面&#xff0c;Golang&#xff08;又称Go&#xff09;无疑是一个备受瞩目的选择。在本文中&#xff0c;带领您探索Golang的世界&#xff0c;一步步地了…

基于ssm校园自行车租赁系统-计算机毕业设计源码82064

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;学校当然也不例外。基于ssm的校园自行车租赁系统是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#…

《已解决》F12显示已在程序中暂停

首先打开F12-->源代码 最后一步&#xff1a;