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

(done) 吴恩达版提示词工程 3. 迭代 (控制输出长度、提取特定细节、输出 HTML 格式)

url: https://www.bilibili.com/video/BV1Z14y1Z7LJ?spm_id_from=333.788.videopod.episodes&vd_source=7a1a0bc74158c6993c7355c5490fc600&p=3

别人的笔记 url: https://zhuanlan.zhihu.com/p/626966526


3. 迭代(Iterative)

当我使用大语言模型构建应用程序时,我想我从来没有在第一次尝试时就用对提示词,在最终应用程序中还使用这个提示。没关系,只要有一个好的迭代过程能不断改进你的提示,那么你就能找到对任务实现效果较好的提示词。
有一个好的迭代过程能不断改进你的提示,那么你就能找到对任务实现效果较好的提示词。

你可能听过我说,当我训练一个机器学习模型时,它几乎从来没有第一次就成功过。事实上,如果训练的第一个模型能有效,我反而会感到非常惊讶。正如她所说,提示词在第一次是否起作用并不重要,最重要的是获得适用于应用程序的提示的过程。
提示词在第一次是否起作用并不重要,最重要的是获得适用于应用程序的提示的过程。

让我们进入代码,我向你展示一些框架,让你思考如何迭代地开发提示。

3.1 提示词的迭代开发

如果你和我一起上过机器学习课,你可能看到我使用这样的一张图。我们在机器学习开发中通常会有一个想法,然后实现它。编写代码,获取数据,训练你的模型,这会给你一个实验结果。

然后,你可以查看输出,也许进行错误分析,找出它在什么地方工作或不工作,然后甚至可能改变你要解决什么问题或如何处理的想法,然后改变你的实施方案,运行另一个实验等等,如此反复迭代,以获得一个有效的机器学习模型。如果你对机器学习不熟悉,没有见过这张图,也不要担心,这对本课程的其它余部分来说并不重要。
在这里插入图片描述

但是,当你使用 LLM 开发应用程序的编写提示时,这个过程可以说非常相似。你对自己想做什么、想完成的任务有一个想法,然后你就可以初步尝试编写,希望能有一个清晰和具体的提示,如果合适的话,会给系统思考的时间,然后你就可以运行它,看看会得到什么结果。

如果第一次的效果不够好,那么就需要反复迭代的过程来搞清楚为什么指令不够清晰,为什么它没有给算法足够的时间思考,这样你就可以完善想法,完善提示。在此基础上进行多次循环,直到你最终得到一个适用于你的应用程序的提示。

这也是为什么我个人没有那么关注网络上那些30个完美提示词的文章,因为我认为可能没有一个完美的提示来适用于世间万物。重要的是,你要有一个迭代过程,用来为你的特定应用挖掘出良好的提示。

让我们一起来看看代码示例。这里有上节视频中你所看到的初始代码,导入了 openai 和 os,然后我们得到 OpenAI 的 API key,这是辅助函数 get_completion()。

import openai
import osfrom dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env fileopenai.api_key = os.getenv('OPENAI_API_KEY')def get_completion(prompt, model="gpt-3.5-turbo"):messages = [{"role": "user", "content": prompt}]response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0, # this is the degree of randomness of the model's output)return response.choices[0].message["content"] 

在这个视频中,我将使用"“总结椅子情况介绍”"的任务作为运行示例。我把它粘贴在这里,你可以随时暂停视频,在 Notebook 上仔细阅读这些代码。

fact_sheet_chair = """
OVERVIEW
- Part of a beautiful family of mid-century inspired office furniture, 
including filing cabinets, desks, bookcases, meeting tables, and more.
- Several options of shell color and base finishes.
- Available with plastic back and front upholstery (SWC-100) 
or full upholstery (SWC-110) in 10 fabric and 6 leather options.
- Base finish options are: stainless steel, matte black, 
gloss white, or chrome.
- Chair is available with or without armrests.
- Suitable for home or business settings.
- Qualified for contract use.CONSTRUCTION
- 5-wheel plastic coated aluminum base.
- Pneumatic chair adjust for easy raise/lower action.DIMENSIONS
- WIDTH 53 CM | 20.87”
- DEPTH 51 CM | 20.08”
- HEIGHT 80 CM | 31.50”
- SEAT HEIGHT 44 CM | 17.32”
- SEAT DEPTH 41 CM | 16.14”OPTIONS
- Soft or hard-floor caster options.
- Two choices of seat foam densities: medium (1.8 lb/ft3) or high (2.8 lb/ft3)
- Armless or 8 position PU armrests MATERIALS
SHELL BASE GLIDER
- Cast Aluminum with modified nylon PA6/PA66 coating.
- Shell thickness: 10 mm.
SEAT
- HD36 foamCOUNTRY OF ORIGIN
- Italy
""" 

这是有一张椅子的说明书,上面写着它的灵感来自于一个华丽的中世纪家族,还有结构,尺寸,选项,材料,来自意大利,等等。所以,假设你想拿着这份说明书,帮助营销团队为在线零售网站编写一份描述。

然后我们会有如下的提示,我把上节课的提示策略直接粘贴过来,所以我在这里的提示说,你的任务是根据技术信息表,帮助营销团队为零售网站创建描述,编写一个产品描述,等等。这是我第一次尝试向大语言模型解释任务。

prompt = f"""
Your task is to help a marketing team create a 
description for a retail website of a product based 
on a technical fact sheet.Write a product description based on the information 
provided in the technical specifications delimited by 
triple backticks.Technical specifications: ```{fact_sheet_chair}```
"""
response = get_completion(prompt)
print(response)

让我点击 Shift+回车键,这需要几秒钟的时间运行,然后我们得到了这个结果。

Introducing our stunning mid-century inspired office chair, the perfect addition to any home or business setting. Part of a beautiful family of office furniture, including filing cabinets, desks, bookcases, meeting tables, and more, this chair is available in several options of shell color and base finishes to suit your style. Choose from plastic back and front upholstery (SWC-100) or full upholstery (SWC-110) in 10 fabric and 6 leather options. The chair is constructed with a 5-wheel plastic coated aluminum base and features a pneumatic chair adjust for easy raise/lower action. It is available with or without armrests and is qualified for contract use. The base finish options are stainless steel, matte black, gloss white, or chrome. Measuring at a width of 53 cm, depth of 51 cm, and height of 80 cm, with a seat height of 44 cm and seat depth of 41 cm, this chair is designed for ultimate comfort. You can also choose between soft or hard-floor caster options and two choices of seat foam densities: medium (1.8 lb/ft3) or high (2.8 lb/ft3). The armrests are available in either an armless or 8 position PU option. The materials used in the construction of this chair are of the highest quality. The shell base glider is made of cast aluminum with modified nylon PA6/PA66 coating and has a shell thickness of 10 mm. The seat is made of HD36 foam, ensuring maximum comfort and durability. This chair is made in Italy and is the perfect combination of style and functionality. Upgrade your workspace with our mid-century inspired office chair today!

看起来这已经完成了一个很好的描述,介绍了一把令人惊叹的中世纪风格的办公椅、完美的补充,等等。它做得很好,正是按照我的要求,从技术说明书开始,写一份产品描述。但我发现这个内容真是太长了,也许我们希望它稍微简短一点。

所以我有了一个想法,我写了一个提示,得到了一个结果。

3.2 控制输出的长度

我对它不是很满意,因为它太长了,所以我要让提示更加清晰,并说最多使用50个单词,来更清楚地要求所需的长度。

prompt = f"""
Your task is to help a marketing team create a 
description for a retail website of a product based 
on a technical fact sheet.Write a product description based on the information 
provided in the technical specifications delimited by 
triple backticks.Use at most 50 words.Technical specifications: ```{fact_sheet_chair}```
"""
response = get_completion(prompt)
print(response) 

然后我们再运行一次。好的,这看起来像是一个更好的简短描述,介绍了一款中世纪风格的办公椅,既时尚又实用等等。不错。

Introducing our mid-century inspired office chair, perfect for home or business settings. Available in a range of shell colors and base finishes, with or without armrests. Choose from 10 fabric and 6 leather options for full or plastic upholstery. With a 5-wheel base and pneumatic chair adjust, it’s both stylish and functional. Made in Italy.

我再来检查一下这段内容的长度。

 len(response) 

我把模型的答复拆开来,然后打印出长度,它是52个单词。这个大语言模型还不错,但它不太擅长遵循非常精确的单词计数的指令。有时它会输出60到65个单词之类的内容,但也在合理范围之内。

让我们再做一遍。你可以尝试不同的方法,告诉大语言模型最多使用三个句子。这些都是告诉模型你想要的输出长度的不同方法。这次模型的输出结果,有三个句子,看起来做得很好。

我也看到人们有时会做一些事情,比如最多使用280个字符。大型语言模型使用一种称为标记器解释文本,他们在计算字符方面往往表现平平。让我们看看,模型的输出是281个字符,这个结果已经非常接近了。而通常情况下,一个大语言模型对字符的控制是无法做到这样精确的,但是可以用不同的方式来控制输出的长度。

3.3 提取特定的细节

当我们继续为我们的网站完善这段文字时,我们可能会决定,天哪,这个网站不是直接向消费者销售,它实际上旨在向家具零售商销售家具,他们更关心椅子的技术细节和材料。在这种情况下,你可以接受这个提示,然后说,我想修改这个提示,使其在技术细节上更准确。

我要说的是,这个描述是为家具零售商准备的,所以它应该是技术性的,重点关注材料、产品和结构。于是我将提示修改如下。

prompt = f"""
Your task is to help a marketing team create a 
description for a retail website of a product based 
on a technical fact sheet.Write a product description based on the information 
provided in the technical specifications delimited by 
triple backticks.The description is intended for furniture retailers, 
so should be technical in nature and focus on the 
materials the product is constructed from.Use at most 50 words.Technical specifications: ```{fact_sheet_chair}```
"""
response = get_completion(prompt)
print(response) 

好吧,让我们来看看。

Introducing our mid-century inspired office chair, perfect for both home and business settings. With a range of shell colors and base finishes, including stainless steel and matte black, this chair is available with or without armrests. The 5-wheel plastic coated aluminum base and pneumatic chair adjust make it easy to move and adjust to your desired height. Made with high-quality materials, including a cast aluminum shell and HD36 foam seat, this chair is built to last.

不错。这次写着,涂层铝底座和气动座椅,优质材料。因此,通过更改提示,你可以让它更多地关注特定的特征,提取你想要的特定的细节特征。

进一步地,我可能还会决定,希望在描述的最后包括产品 ID。例如这把椅子的两个产品,SWC 110和SOC 100。以此,我可以进一步改进这个提示,让它给我产品的 ID。我可以在描述的末尾添加这样的指令:在技术规范中,用 7个字符来描述每一个产品 ID。

prompt = f"""
Your task is to help a marketing team create a 
description for a retail website of a product based 
on a technical fact sheet.Write a product description based on the information 
provided in the technical specifications delimited by 
triple backticks.The description is intended for furniture retailers, 
so should be technical in nature and focus on the 
materials the product is constructed from.At the end of the description, include every 7-character 
Product ID in the technical specification.Use at most 50 words.Technical specifications: ```{fact_sheet_chair}```
"""
response = get_completion(prompt)
print(response) 

让我们运行它,看看会发生什么。

Introducing our mid-century inspired office chair, perfect for home or business settings. With a range of shell colors and base finishes, and the option of plastic or full upholstery, this chair is both stylish and comfortable. Constructed with a 5-wheel plastic coated aluminum base and pneumatic chair adjust, it’s also practical. Available with or without armrests and suitable for contract use. Product ID: SWC-100, SWC-110.

它说,让我介绍中世纪风格的办公椅,外壳颜色,塑料涂层铝基底座,实用,一些选项,还有两个产品 ID 。所以这看起来很不错。

你刚才所看到的,就是一个简短的迭代开发示例。许多开发人员将会经历这样的迭代开发过程。

在上一个视频中 Yisa 分享了一些最佳实践。我通常会牢记这样的最佳实践,做到清晰和具体,必要时给模型时间思考。在这些原则的基础上,我们需要尝试编写提示,看看会发生什么,然后从这里开始反复迭代、完善提示,以越来越接近你需要的结果。在很多程序中使用的成功的提示语,都是在这样的迭代过程中得到的。

3.4 输出 HTML 格式

为了更加有趣,我给你展示一个更复杂的提示示例,它可能会让你更加了解 ChatGPT 的功能。

我只是在这里添加了一些额外的指令:在描述之后,包括一个给出产品尺寸的表格,然后将所有内容格式化为 HTML。你最终会得到这样的提示,我想可能不会有谁第一次就写出这样准确的提示语,让系统处理一个信息表。只有在多次迭代之后,才会出现这样的提示。

prompt = f"""
Your task is to help a marketing team create a 
description for a retail website of a product based 
on a technical fact sheet.Write a product description based on the information 
provided in the technical specifications delimited by 
triple backticks.The description is intended for furniture retailers, 
so should be technical in nature and focus on the 
materials the product is constructed from.At the end of the description, include every 7-character 
Product ID in the technical specification.After the description, include a table that gives the 
product's dimensions. The table should have two columns.
In the first column include the name of the dimension. 
In the second column include the measurements in inches only.Give the table the title 'Product Dimensions'.Format everything as HTML that can be used in a website. 
Place the description in a <div> element.Technical specifications: ```{fact_sheet_chair}```
"""response = get_completion(prompt)
print(response) 

让我们再次运行,这次输出了一些 HTML语句。

<div>
<h2>Mid-Century Inspired Office Chair</h2>
<p>Introducing our mid-century inspired office chair, part of a beautiful family of office furniture that includes filing cabinets, desks, bookcases, meeting tables, and more. This chair is available in several options of shell color and base finishes, allowing you to customize it to your liking. You can choose between plastic back and front upholstery or full upholstery in 10 fabric and 6 leather options. The base finish options are stainless steel, matte black, gloss white, or chrome. The chair is also available with or without armrests, making it suitable for both home and business settings. Plus, it's qualified for contract use, ensuring its durability and longevity.</p>
<p>The chair's construction features a 5-wheel plastic coated aluminum base and a pneumatic chair adjust for easy raise/lower action. You can also choose between soft or hard-floor caster options and two choices of seat foam densities: medium (1.8 lb/ft3) or high (2.8 lb/ft3). The armrests are also customizable, with the option of armless or 8 position PU armrests.</p>
<p>The materials used in the chair's construction are of the highest quality. The shell base glider is made of cast aluminum with modified nylon PA6/PA66 coating, with a shell thickness of 10 mm. The seat is made of HD36 foam, ensuring maximum comfort and support.</p>
<p>Made in Italy, this mid-century inspired office chair is the perfect addition to any office space. Order yours today!</p>
<h3>Product IDs:</h3>
<ul>
<li>SWC-100</li>
<li>SWC-110</li>
</ul>
</div><table><caption>Product Dimensions</caption><tr><th>Dimension</th><th>Measurement (inches)</th></tr><tr><td>Width</td><td>20.87"</td></tr><tr><td>Depth</td><td>20.08"</td></tr><tr><td>Height</td><td>31.50"</td></tr><tr><td>Seat Height</td><td>17.32"</td></tr><tr><td>Seat Depth</td><td>16.14"</td></tr>
</table>

让我们显示 HTML,看看这是否是有效的HTML,看看它是否有效。我也不知道它是否能工作,让我们看看。

from IPython.display import display, HTMLdisplay(HTML(response)) 

哦,太酷了。看起来这个 HTML 运行成功了。

在这里插入图片描述

一个非常好看的椅子的描述。结构、材料、产品尺寸。

哦,看起来我漏掉了最多50个单词的使用说明,所以这有点长。如果你想进行调整,你可以暂停视频,要求它更简洁,然后重新生成,看看你会得到什么结果。

3.5 小结

我希望你从这段视频中了解到,提示开发是一个迭代的过程。

尝试一些东西,看看它有哪些地方还不能满足你的要求,然后考虑如何更清晰地描述你的提示指令。或者在某些情况下,考虑如何给模型更多的思考空间,让它更接近你想要的结果。

我认为,成为一名好的提示工程师的关键,重要的不是知道多少完美的提示,而是使用一个良好的迭代流程来开发提示,使应用更加高效。

在这个视频中,我只是用一个例子说明如何迭代开发提示。对于更复杂的应用程序,有时你会有很多例子,例如有10个、50个甚至100个信息表的列表,需要迭代地开发一个提示,并根据大量案例对其进行评估。

对于大多数应用程序的早期开发,许多人会像我只有只用一个例子进行开发。对于更成熟的应用程序来说,有时根据一组更大的例子来评估提示可能会很有用,比如在几十份信息表上测试不同的提示,看看在多份信息表上的平均或最差情况的性能如何。但通常来说,只有当应用程序更加成熟时,你才会这样做,而且你必须有这些指标来推动最后几步的快速改进。

因此,请使用 Jupyter Notebook 的示例,尝试改变不同的提示,看看你会得到什么结果。

接下来,让我们继续看下一个视频,我们将讨论大型语言模型在软件应用中的一个非常普遍的用途,也就是总结文本的摘要任务。

相关文章:

(done) 吴恩达版提示词工程 3. 迭代 (控制输出长度、提取特定细节、输出 HTML 格式)

url: https://www.bilibili.com/video/BV1Z14y1Z7LJ?spm_id_from333.788.videopod.episodes&vd_source7a1a0bc74158c6993c7355c5490fc600&p3 别人的笔记 url: https://zhuanlan.zhihu.com/p/626966526 3. 迭代&#xff08;Iterative&#xff09; 当我使用大语言模型…...

学员答题pk知识竞赛小程序怎么做

制作学员答题PK知识竞赛小程序&#xff0c;主要有以下步骤&#xff1a; 一、规划设计 明确需求&#xff1a;确定小程序的使用场景是校园知识竞赛、培训机构考核还是企业内部培训等。答题功能&#xff0c;规定答题的具体规则&#xff0c;包括题目类型&#xff08;单选、多选、…...

P1217 [USACO1.5] 回文质数 Prime Palindromes【python】

P1217 [USACO1.5] 回文质数 Prime Palindromes 题目描述 因为 151 151 151 既是一个质数又是一个回文数&#xff08;从左到右和从右到左是看一样的&#xff09;&#xff0c;所以 151 151 151 是回文质数。 写一个程序来找出范围 [ a , b ] ( 5 ≤ a < b ≤ 100 , 000 …...

搭建私人网站

第一章 阿里云服务器选购与配置 1.1 注册与实名认证 ‌注册账号‌ 访问阿里云官网&#xff0c;点击右上角"免费注册"&#xff0c;填写邮箱/手机号&#xff0c;完成人机验证后获取验证码。 注意&#xff1a;企业用户需选择"企业实名认证"&#xff0c;个人用…...

Nacos简介—1.Nacos使用简介

大纲 1.Nacos的在服务注册中心 配置中心中的应用 2.Nacos 2.x最新版本下载与目录结构 3.Nacos 2.x的数据库存储与日志存储 4.Nacos 2.x服务端的startup.sh启动脚本 5.Dubbo Nacos微服务RPC调用开发示例 6.Nacos对临时与持久化服务实例的健康检查机制 7.Nacos保护阈值机…...

【工具】使用 MCP Inspector 调试服务的完全指南

Model Context Protocol (MCP) Inspector 是一个交互式开发工具&#xff0c;专为测试和调试 MCP 服务器而设计。本文将详细介绍如何使用 Inspector 工具有效地调试和测试 MCP 服务。 1. MCP Inspector 简介 MCP Inspector 提供了直观的界面&#xff0c;让开发者能够&#xff…...

架构-项目管理

一、盈亏平衡分析 核心知识点&#xff1a; 基本公式 正常情况&#xff1a;销售额 固定成本 可变成本 税费 利润盈亏平衡时&#xff1a;销售额 固定成本 可变成本 税费&#xff08;利润为0&#xff0c;即不赚不亏的临界点&#xff09; 公式推导&#xff1a;利润 销售额…...

域控重命名导致无法登录

问题描述&#xff1a;公司新买了一个服务器用于替换旧服务器&#xff0c;旧服务器名称为server3为域控&#xff0c;降级后新装的服务器升级为了新域控。然后旧服务器更名为server5&#xff0c;新服务器server6更名为server3.重启新服务器后服务器无法登录。但是服务器相关功能都…...

C++内存管理那些事

一、C/C内存分布 【说明】&#xff1a; 栈又叫堆栈&#xff0c;是非静态局部变量、函数参数、返回值存放的区域&#xff0c;栈向下增长内存映射段是高效的IO映射方式&#xff0c;用于装载一个共享的动态内存库。用户可以使用系统接口创建共享内存&#xff0c;做进程间的通信堆…...

C++多态(实现部分)(一)

目录 1.多态的概念 1.1运行时多态 1.2 编译时多态 2.多态的定义以及实现 2.1 多态构成的条件 2.2 虚函数 2.3 虚函数的重写/覆盖 2.3.1 虚函数重写的两个例外 1.协变 2.析构函数的重写 2.4 override 和final关键字 2.5 重载/重写/隐藏的对比 ​编辑 3. 抽象类 和…...

HOW - Code Review 流程自动化

文章目录 前言流程自动化落地一、自动发起 MR&#xff08;Merge Request&#xff09;macOS 安装 glab方式一&#xff1a;使用 Homebrew&#xff08;推荐&#xff09; 其他平台安装方法Linux (apt)Windows&#xff08;scoop 或 chocolatey&#xff09; 使用示例&#xff1a;自动…...

自动化标注软件解析

关于PyQt5信号槽机制的解析 信号槽机制是 Qt 框架中用于对象间通信的核心机制&#xff0c;它基于发布-订阅模式&#xff0c;能够实现松耦合的组件交互。 1. 信号槽机制的基本概念 信号&#xff08;Signal&#xff09; 信号是对象发出的一种通知&#xff0c;表示某个事件发生…...

机器人结构认知与安装

机器人结构认知与安装 1. ES机器人系统结构与硬件组成 核心组件&#xff1a; OPPO ES5机器人系统由机器人本体、控制手柄、48V电源和OPPO Studio终端构成。一体化底座&#xff1a;包含控制主板、安全接口板、监测保护电路单元&#xff0c;支持外接急停开关&#xff0c;采用光耦…...

SQLMesh 模型选择指南:优化大型项目的模型更新

在处理大型 SQLMesh 项目时&#xff0c;模型之间的依赖关系可能会变得非常复杂。为了更有效地管理这些项目&#xff0c;SQLMesh 提供了一种模型选择机制&#xff0c;允许用户有针对性地选择需要更新的模型。本文将详细介绍如何使用 SQLMesh 的模型选择功能来优化项目更新过程。…...

linux:启动后,ubuntu屏幕变成红色了

屏幕启动后变成 红色背景 通常说明 显卡驱动出了问题&#xff0c;或者是 图形界面加载失败 使用了 fallback 模式。这种现象在 NVIDIA 驱动安装失败或显卡与驱动不兼容时常见。 &#x1f3af; 先给你几个快速修复选项 ✅ 1. 进入 TTY 命令行界面 按下&#xff1a;Ctrl Alt …...

抖音的逆向工程获取弹幕(websocket和protobuf解析)

目录 声明前言第一节 获取room_id和ttwid值第二节 signture值逆向python 实现signature第三节 Websocket实现长链接请求protubuf反序列化pushFrame反序列化Response解压和反序列化消息体Message解析应答ack参考博客声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的…...

2194出差-节点开销Bellman-ford/图论

题目网址&#xff1a; 蓝桥账户中心 我先用Floyd跑了一遍&#xff0c;不出所料TLE了 n,mmap(int,input().split())clist(map(int,input().split()))INFfloat(inf) ma[[INF]*n for i in range(n)]for i in range(m):u,v,wmap(int,input().split())ma[u-1][v-1]wma[v-1][u-1]w#“…...

【hexo主题自定义】

主题下载安装 进入命令行&#xff0c;下载 NexT 主题&#xff0c;输入&#xff1a; git clone https://github.com/theme-next/hexo-theme-next themes/next 修改站点配置文件_config.yml&#xff0c;找到如下代码&#xff1a; ## Themes: https://hexo.io/themes/ theme: l…...

前后端部署

#在学习JavaWeb之后&#xff0c;进行了苍穹外卖的学习。在进行苍穹外卖的部署的时候&#xff0c;作者遇到了下面的问题# 1.前端工程nginx无法启动&#xff1a; 当我双击已经部署好的nginx工程中nginx.exe文件的时候&#xff0c;在服务中&#xff0c;并没有找到ngnix成功运行。…...

1.jdk+idea安装+HelloWorld项目创建

1.jdk1.8idea安装项目创建 jdk1.8安装配置环境变量 到华为镜像下载jdk,因为Oracle官网需要注册才可以下载jdk https://repo.huaweicloud.com/java/jdk/8u202-b08/ 直接下一步安装&#xff0c;配置环境变量 重启&#xff0c;执行java -version 和 javac idea下载 版本20…...

Puter部署指南:基于Docker的多功能个人云平台掌控自己的数据

前言&#xff1a;嗨&#xff0c;小伙伴们&#xff01;每次开机是不是都要像参加点击大赛一样不停地敲击各种网盘和应用的登录按钮&#xff1f;更让人抓狂的是&#xff0c;这些科技巨头会不会偷偷翻阅我们的隐私数据呢&#xff1f;别担心&#xff0c;今天给大家安利一个超炫酷的…...

动态渲染页面智能嗅探:机器学习判定AJAX加载触发条件

本文提出了一种基于机器学习的智能嗅探机制&#xff0c;革新性地应用于自动判定动态渲染页面中AJAX加载的最佳触发时机。系统架构采用先进模块化拆解设计&#xff0c;由请求分析模块、机器学习判定模块、数据采集模块和文件存储模块四大核心部分构成。在核心代码示例中&#xf…...

探索 CameraCtrl模型:视频生成中的精确摄像机控制技术

在当今的视频生成领域&#xff0c;精确控制摄像机轨迹一直是一个具有挑战性的目标。许多现有的模型在处理摄像机姿态时往往忽略了精准控制的重要性&#xff0c;导致生成的视频在摄像机运动方面不够理想。为了解决这一问题&#xff0c;一种名为 CameraCtrl 的创新文本到视频模型…...

理解欧拉公式

1. 欧拉公式中的符号 欧拉公式 e i x cos ⁡ x i sin ⁡ x e^{ix}\cos xi\sin x eixcosxisinx当 x π x \pi xπ时 e i π 1 0 / / 欧拉恒等式 e^{i\:\pi}10 //欧拉恒等式 eiπ10//欧拉恒等式 e e e:自然对数的底 i i i:虚数&#xff0c; i 2 − 1 i^2 -1 i2−1 cos…...

7.9 Python+Click实战:5步打造高效的GitHub监控CLI工具

Python+Click实战:5步打造高效的GitHub监控CLI工具 GitHub Sentinel Agent 命令行界面开发实战 关键词:CLI 开发实践、Click 框架、API 集成、命令行参数解析、错误处理机制 1. 命令行界面技术选型与架构设计 GitHub Sentinel 采用 Click + Requests 技术栈构建 CLI 工具,…...

leetcode28. 找出字符串中第一个匹配项的下标_简单KMP

28. 找出字符串中第一个匹配项的下标 - 力扣&#xff08;LeetCode&#xff09; 模仿&#xff1a;algorithm-journey/src/class100/Code01_KMP.java at main algorithmzuo/algorithm-journey GitHub #include <stdio.h> #include <stdlib.h> #include <strin…...

代码随想录算法训练营第二十六天

LeetCode题目: 452. 用最少数量的箭引爆气球435. 无重叠区间763. 划分字母区间2799. 统计完全子数组的数目(每日一题) 其他: 今日总结 往期打卡 452. 用最少数量的箭引爆气球 跳转: 452. 用最少数量的箭引爆气球 学习: 代码随想录公开讲解 问题: 有一些球形气球贴在一堵用 X…...

精益数据分析(20/126):解析经典数据分析框架,助力创业增长

精益数据分析&#xff08;20/126&#xff09;&#xff1a;解析经典数据分析框架&#xff0c;助力创业增长 在创业和数据分析的学习道路上&#xff0c;每一次深入探索都可能为我们带来新的启发。今天&#xff0c;依旧带着和大家共同进步的想法&#xff0c;我们一起深入研读《精…...

基于Django的权限管理平台

目录 单元一&#xff1a;项目准备 任务一&#xff1a;创建项目 1.1配置 DRF 模型 任务二&#xff1a;设置CSRF令牌 2.1创建app包 2.2检查浏览器Cookies权限 2.3获取cookies 单元二&#xff1a;用户平台 任务一&#xff1a;用户数据模型搭建 1.1创建user模块 1.2生成…...

深度解析 LangChain、ReAct、ReROO 架构及其在 AI Agent 中的应用

一、LangChain 架构&#xff1a;模块化智能代理的核心框架 1. 架构特性与设计原理 LangChain 是构建智能代理的模块化框架&#xff0c;其核心通过 Chains&#xff08;任务链&#xff09;、Agents&#xff08;代理&#xff09;、Memory&#xff08;记忆&#xff09; 和 Tools&a…...

数据库day-07

一、实验名称和性质 子查询 验证 设计 二、实验目的 1&#xff0e;掌握子查询的嵌套查询&#xff1b; 2.掌握集合操作 3&#xff0e;了解EXISTS嵌套查询方法&#xff1b; 三、实验的软硬件环境要求 硬件环境要求&#xff1a; PC机(单机) 使用的软件名称、版本号以及模块…...

使用Tauri 2.3.1+Leptos 0.7.8开发桌面小程序汇总

近期断断续续学习了Rust编程&#xff0c;使用Tauri 2.3.1Leptos 0.7.8开发了一个自用的桌面小程序。Win10操作系统&#xff0c;使用VS Code及rust analyzer插件搭建的开发环境&#xff0c;后期开始使用Roo Code绑定DeepSeek API 辅助编程&#xff0c;对我这个初学者编程帮助很大…...

计算机视觉——速度与精度的完美结合的实时目标检测算法RF-DETR详解

概述 目标检测已经取得了长足的发展&#xff0c;尤其是随着基于 Transformer 的模型的兴起。RF-DETR&#xff0c;由 Roboflow 开发&#xff0c;就是这样一种模型&#xff0c;它兼顾了速度和精度。使用 Roboflow 的工具可以让整个过程变得更加轻松。他们的平台涵盖了从上传和标…...

JS 应用算法逆向三重断点调试调用堆栈BP 插件发包安全结合

# 前置知识 1 、作用域&#xff1a;&#xff08;本地 & 全局&#xff09; 简单来说就是运行后相关的数据值 2 、调用堆栈&#xff1a;&#xff08;由下到上&#xff09; 简单来说就是代码的执行逻辑顺序 3 、常见分析调试&#xff1a; - 代码全局搜索 - 文件流程断点…...

从零开始在Win上添加一块QEMU开发板(四)实现简单USART

文章目录 一、前言背景二、QEMU的字符设备模拟三、USART的发送1. USART发送的QEMU字符设备模拟2. MMIO设计3. 中断连接4. 复位 三、代码验证1. 输出到serial控制台2. 输出到文件 一、前言背景 QEMU是一款开源的模拟器及虚拟机管理器。而QEMU内置支持了一些开发板&#xff0c;我…...

目标检测篇---faster R-CNN

目标检测系列文章 第一章 R-CNN 第二篇 Fast R-CNN 目录 目标检测系列文章&#x1f4c4; 论文标题&#x1f9e0; 论文逻辑梳理1. 引言部分梳理 (动机与思想) &#x1f4dd; 三句话总结&#x1f50d; 方法逻辑梳理&#x1f680; 关键创新点&#x1f517; 方法流程图关键疑问解答…...

【计算机视觉】CV实战项目- 深度解析FaceAI:一款全能的人脸检测与图像处理工具库

深度解析FaceAI&#xff1a;一款全能的人脸检测与图像处理工具库 项目概述核心功能与技术实现1. 人脸检测与识别2. 数字化妆与轮廓标识3. 性别与表情识别4. 高级图像处理 实战指南&#xff1a;项目运行与开发环境配置典型应用示例常见问题与解决方案 学术背景与相关研究项目扩展…...

Linux下编译opencv-4.10.0(静态链接库和动态链接库)

1. 安装依赖 在编译之前&#xff0c;确保系统中安装了必要的依赖工具和库。运行以下命令安装&#xff1a; sudo apt update sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config sudo apt-get install libavcodec-dev libavforma…...

OpenBMC:BmcWeb login创建session

OpenBMC:BmcWeb login认证-CSDN博客 完成用户的认证后,还需要为该用户创建session,从而为后续的rest api访问铺平道路 inline void handleLogin(const crow::Request& req,const std::shared_ptr<bmcweb::AsyncResp>& asyncResp) {...auto session =persisten…...

Java高频面试之并发编程-07

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天来报道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面试官&#xff1a;线程之间有哪些通信方式&#xff1f; 在 Java 多线程编程中&#xff0c;线程间通信&#xff08;Inter-Thread Communica…...

四、Python编程基础04

这里写目录标题 一、集合[了解]二、函数1. 函数定义与调用2. 函数返回值 三、模块和包1. 登录案例2.登录案例优化3. 随机数案例 四、异常五、web自动化测试1、selenium介绍2、环境搭建具体安装步骤请看 3、入门案例3.1 自动化测试步骤3.2 案例 一、集合[了解] 1, 集合 set, 表…...

专家系统的一般结构解析——基于《人工智能原理与方法》的深度拓展

不同的专家系统,其功能与结构都不尽相同,但一般都包括人机接口、推理机、知识库及其管理系统、数据库及其管理系统、知识获取机构、解释机构这六个部分,如下图所示。 一、人机接口(Human-Computer Interface, HCI) (一)基本思想与定义 1. 核心思想:双向交互的桥梁 人…...

手搓雷达图(MATLAB)

看下别人做出来什么效果 话不多说&#xff0c;咱们直接开始 %% 可修改 labels {用户等级, 发帖数, 发帖频率, 点度中心度, 中介中心度, 帖子类型计分, 被列为提案数}; cluster_centers [0.8, 4.5, 3.2, 4.0, 3.8, 4.5, 4.2; % 核心用户0.2, 0.5, 0.3, 0.2, 0.1, 0.0, 0.0;…...

FastMCP与FastAPI:构建自定义MCP服务器

FastMCP与FastAPI&#xff1a;构建自定义MCP服务器 模型上下文协议(Model Context Protocol, MCP)是一种让AI模型与外部工具和服务交互的标准。本文将介绍FastMCP和FastAPI&#xff0c;并通过实例展示如何创建自定义MCP服务器。 MCP基础概念 MCP允许语言模型: 访问外部工具…...

基于 springboot+vue+elementui 的办公自动化系统设计(

基于 springbootvueelementui 的办公自动化系统设计(前端代码在oa文件夹里) 系统主要功能&#xff1a; 1、统一的信息发布平台&#xff1a;公告栏&#xff0c;公司活动&#xff0c;项目进度&#xff0c;公司周报 2、统一的文件管理平台&#xff1a;收文管理、发文管理。文件查询…...

Java发展史及版本详细说明

Java发展史及版本详细说明 1. Java 1.0&#xff08;1996年1月23日&#xff09; 核心功能&#xff1a; 首个正式版本&#xff0c;支持面向对象编程、垃圾回收、网络编程。包含基础类库&#xff08;java.lang、java.io、java.awt&#xff09;。支持Applet&#xff08;浏览器嵌入…...

高企复审奖补!2025年合肥市高新技术企业重新认定奖励补贴政策及申报条件

一、合肥市高新技术企业重新认定奖励补贴政策 &#xff08;一&#xff09;高新区高新技术企业重新认定复审补贴奖励 重新认定为国家高新技术企业的给予5万元一次性奖励。 &#xff08;二&#xff09;经开区高新技术企业重新认定复审补贴奖励 对重新认定的企业&#xff0c;给…...

elementui日历显示红点及根据日程范围判断是否有红点

生成指定日期范围内的所有日期 generateDateRange(startStr, endStr) {const dates []; 日期列表const start new Date(startStr); 日程开始日期const end new Date(endStr); 日程结束日期end.setHours(23, 59, 59, 999); 结束的那一天设置为23点59分59秒// 生成日期范围内…...

第六章 QT基础:5、QT的UDP网络编程

在 Qt 中&#xff0c;QUdpSocket 类用于实现基于 UDP 协议的网络通信。UDP&#xff08;用户数据报协议&#xff09;是一种无连接的协议&#xff0c;与 TCP 不同&#xff0c;它不需要建立连接&#xff0c;因此它的传输速度较快&#xff0c;但也不保证数据的可靠传输。 1. Qt UDP…...

JAVA设计模式——(五)享元模式(Flyweight Pattern)

JAVA设计模式——&#xff08;五&#xff09;享元模式&#xff08;Flyweight Pattern&#xff09; 概念理解实现创建内部状态定义享元工厂测试 适用性 概念 使共享对象可以有效的支持大量的细粒度对象。主要采用池技术实现。 理解 享元模式主要解决大量对象的共享&#xff0…...