大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成
大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成
待解决的问题
生成PPT大纲是一种大模型在办公场景下应用的常见需求。
然而:
- 目前直接让大模型生成大纲往往是非结构化的,输出格式多样,难以统一和规范,这使得大纲后续的分析与利用变得复杂。
- 生成过程中的层级深度和每层的颗粒度无法灵活控制,导致生成内容有时过于简单,有时又过于复杂,缺乏可控性。
- 由于大模型是基于自回归的,在生成细粒度大纲时首层大纲并没有生成完,和人类规划大纲自顶向下的方法不同,导致大纲的层级之间往往存在模糊和重叠,无法有效传达不同层次的重点内容。
为了解决上述问题,本文提出了一种递归结构化生成的方法,通过分层递归控制大模型生成大纲的过程,不仅能使大纲结构清晰,而且可以灵活控制各层的深度和颗粒度。这样生成的大纲不仅层次分明,内容也更加贴合实际应用需求,避免了层级模糊和内容重叠的现象。
本项目基于NVIDIA NIM平台,使用 LLaMA 3.1 70B 作为基座模型。NVIDIA NIM 平台提供了强大的自然语言处理等人工智能能力,能够方便、高效地调用各种预训练模型,甚至进行定制化的推理。

核心方案
该项目的核心是递归生成PPT大纲,逐层递进,确保大纲的层次清晰、内容具体,避免生成结果的模糊和重叠问题。核心流程如下:
- 第一层生成:首先,通过模型生成第一层的PPT大纲内容,确保初始大纲框架具有明确的层次。
- 递归生成:在生成初始层之后,递归生成每个子级的内容,逐层递进。每一级的生成都是基于上一层的大纲内容进行细化和补充,保证了层次结构的清晰和逻辑性。
- 递归终止条件:当生成到达指定的层级时,递归终止,输出完整的结构化大纲。
具体的 prompt 将在下一节讲解。
第一层大纲生成 (generate_first_level_outlines)
这个函数负责生成大纲的第一层内容,基于用户输入的主题调用大模型生成初始的大纲框架。
def generate_first_level_outlines(idea):first_level_template = FIRST_LEVEL_PROMPT.format(few_shot=FIRST_LEVEL_EXAMPLE,idea=idea,)response = client.chat.completions.create(model="meta/llama-3.1-70b-instruct",messages=[{"role": "user", "content": first_level_template}],temperature=0.7,max_tokens=1024,)return extract_outlines(response.choices[0].message.content.strip())
注意,调用模型后,通过extract_outlines函数对生成的结果进行处理,去掉不必要的空白行,得到大纲的第一层结构化内容。extract_outlines函数具体详见下一节。
递归生成下一级大纲 (generate_next_level_outline)
当生成了第一层的大纲后,系统需要递归生成各个子级内容。generate_next_level_outline函数根据上一层的大纲内容,生成当前层的细化内容。
模型生成后,如果当前层级达到了目标层(target_layer),则返回当前层的大纲内容。否则,函数将继续递归调用自己,为每个子项生成更深层的大纲内容,直到达到目标层。
def generate_next_level_outline(idea: str,current_level: int,previous_outline: str,previous_list: list[str],target_layer: int,
):formatted_previous_list = ', '.join(previous_list)next_level_template = NEXT_LEVEL_PROMPT.format(few_shot=NEXT_LEVEL_EXAMPLE,idea=idea,formatted_previous_list=formatted_previous_list,previous_outline=previous_outline,current_level=current_level,)response = client.chat.completions.create(model="meta/llama-3.1-70b-instruct",messages=[{"role": "user", "content": next_level_template}],temperature=0.7,max_tokens=1024,)outlines = extract_outlines(response.choices[0].message.content.strip())if target_layer == current_level:return outlineselse: return {text: generate_next_level_outline(idea, current_level + 1, text, outlines, target_layer) for text in outlines}
注意,prompt 中会将上一级的内容和当前的层次信息整合,让模型有更充分的信息生成该层的大纲内容。
递归结构化大纲生成 (recursive_outline)
这个函数是整个递归生成过程的核心,通过逐层调用generate_next_level_outline函数,生成每一层的大纲,直到生成目标层的所有内容。
def recursive_outline(idea, target_layer: int):first_level = generate_first_level_outlines(idea)return {text: generate_next_level_outline(idea, 2, text, first_level, target_layer) for text in first_level}
实现细节
prompt
本项目的 prompt 明确告知模型生成PPT大纲的任务,提供主题信息(idea)和所需层级(layer),确保模型能够聚焦于特定主题,并生成相应层次的内容。此外,通过提供多个生成示例,向模型展示了预期的输出格式和内容结构。通过示例提供了明确的上下文,同时引入了对重复内容的避免,还引入了上一层的内容,帮助模型了解需要避免重复的信息。
BASE_PROMPT = """请你根据主题:“{idea}”生成{layer}层的PPT大纲:\n"""FIRST_LEVEL_EXAMPLE = """请你根据
技术是一把双刃剑,它既能推动社会向前发展,也可能因不当使用而造成伤害。比如数字鸿沟现象。
生成大纲第1层,一行一个条目,生成在<>中,无需其他解释和内容:
<信息爆炸的时代>
<科技革命与产业变革>
<社会影响日益凸显>
<人类应未雨绸缪,趋利避害>
<发展趋势及前景,结论>请你根据
为什么我们要好好学习?在快速变化的世界中,持续学习是实现自我价值和社会贡献的关键。
生成大纲第1层,一行一个条目,生成在<>中,无需其他解释和内容:
<引言>
<学习对个人成长的意义>
<学习对社会的责任>
<如何有效学习>请你根据
在单身的黄金年代我们如何面对爱情:要勇敢地去追求爱情
生成大纲第1层,一行一个条目,生成在<>中,无需其他解释和内容:
<何为单身的黄金时代>
<爱情对人们的意义>
<目前人的生存和处境更加复杂>
<爱情存在肌无力>
<最温暖的东西是人和人之间的感情>
<要勇敢地追求爱情>
"""FIRST_LEVEL_PROMPT = """{few_shot}
上面是几个生成大纲第一层的例子。请你根据
{idea}
生成大纲第1层,一行一个条目,生成在<>中,无需其他解释和内容:"""NEXT_LEVEL_EXAMPLE = """请你根据
技术是一把双刃剑,它既能推动社会向前发展,也可能因不当使用而造成伤害。比如数字鸿沟现象。
不要和上一层的 信息爆炸的时代, 科技革命与产业变革, 人类应未雨绸缪,趋利避害, 发展趋势及前景,结论 重复,
生成“社会影响日益凸显”下的大纲第2层内容,一行一个条目,生成在<>中,无需其他解释和内容:
<举例:数字鸿沟现象>
<各种问题普遍存在>
<对人类各方面产生深远影响>请你根据
在单身的黄金年代我们如何面对爱情:要勇敢地去追求爱情
不要和上一层的 何为单身的黄金时代, 爱情对人们的意义, 目前人的生存和处境更加复杂, 爱情存在肌无力, 最温暖的东西是人和人之间的感情 重复,
生成“要勇敢地追求爱情”下的大纲第2层内容,一行一个条目,生成在<>中,无需其他解释和内容:
<必须树立目标>
<提升心灵的力量>
<走合法的途径去获取>请你根据
为什么我们要好好学习?在快速变化的世界中,持续学习是实现自我价值和社会贡献的关键。
不要和上一层的 理解自己的权利与义务, 正确价值观和社会责任感 重复,
生成“知识是推动社会发展的关键力量”下的大纲第3层内容,一行一个条目,生成在<>中,无需其他解释和内容:
<科技创新与经济发展>
<社会治理与公共政策>
<文化传承与发展>
"""NEXT_LEVEL_PROMPT = """{few_shot}
上面是几个生成大纲具体层的例子。请你根据
{idea}
不要和上一层的 {formatted_previous_list} 重复,
生成“{previous_outline}”下的大纲第{current_level}层内容,一行一个条目,生成在<>中,无需其他解释和内容:
"""
大纲文本提取
简单的提取方法,将模型输出按行分割并去除空白行和格式字符。
def extract_outlines(model_output: str):return [line.strip().strip('<').strip('>')for line in model_output.split('\n')if line.strip()]
baseline 对比、全局变量和简易用户界面
简易的 web 用户界面是基于 gradio 构建的。复现时记得更换为自己的NVIDIA_API_KEY。
借助Gradio构建用户友好的交互界面,用户只需输入一个主题和层数,本项目会生成两个版本的PPT大纲,一个是直接生成的,一个是递归生成的,并将两者进行对比展示。
大纲生成的基本过程通过调用 nVidia NIM 平台 的接口,将主题与层级信息传入模型生成器,控制输出大纲的层级深度和层次内容。
import gradio as gr
from openai import OpenAIimport jsonclient = OpenAI(base_url="https://integrate.api.nvidia.com/v1",api_key=NVIDIA_API_KEY
)def generate_outline(input_text, layer: int):prompt = BASE_PROMPT.format(idea=input_text, layer=layer)completion = client.chat.completions.create(model="meta/llama-3.1-70b-instruct",messages=[{"role": "user", "content": prompt}],temperature=0.7,max_tokens=1024,)return completion.choices[0].message.content.strip()def compare_outlines(input_text, layers):direct = generate_outline(input_text, int(layers))recursive = recursive_outline(input_text, int(layers))return direct, json.dumps(recursive, ensure_ascii=False, indent=8)iface = gr.Interface(fn=compare_outlines,inputs=["text", gr.Number()],outputs=["text", "text"],title="PPT大纲生成对比",description="输入一个句子,比较直接生成和递归生成的PPT大纲效果。"
)iface.launch()
项目效果
运行后,在浏览器中打开项目前端,输入要生成的主题和期望的层数,可以得到普通方法生成和本方法生成的结果。

如图所示,递归结构化生成的效果不仅结构清晰、方便利用,而且相对于普通方法,生成了正确的层次深度,大纲对于主题的分析更加深入和全面,有更多的信息量和参考价值。
通过采用递归结构化生成的方法,本项目能够有效地解决传统PPT大纲生成中遇到的各种问题,为用户提供更清晰、有条理的内容。希望本项目的实践经验能够为更多相关应用的探索与优化提供启示和借鉴。
完整代码:
import gradio as gr
from openai import OpenAIfrom __env import NVIDIA_API_KEY
import jsonclient = OpenAI(base_url="https://integrate.api.nvidia.com/v1",api_key=NVIDIA_API_KEY
)BASE_PROMPT = """请你根据主题:“{idea}”生成{layer}层的PPT大纲:\n"""FIRST_LEVEL_EXAMPLE = """请你根据
技术是一把双刃剑,它既能推动社会向前发展,也可能因不当使用而造成伤害。比如数字鸿沟现象。
生成大纲第1层,一行一个条目,生成在<>中,无需其他解释和内容:
<信息爆炸的时代>
<科技革命与产业变革>
<社会影响日益凸显>
<人类应未雨绸缪,趋利避害>
<发展趋势及前景,结论>请你根据
为什么我们要好好学习?在快速变化的世界中,持续学习是实现自我价值和社会贡献的关键。
生成大纲第1层,一行一个条目,生成在<>中,无需其他解释和内容:
<引言>
<学习对个人成长的意义>
<学习对社会的责任>
<如何有效学习>请你根据
在单身的黄金年代我们如何面对爱情:要勇敢地去追求爱情
生成大纲第1层,一行一个条目,生成在<>中,无需其他解释和内容:
<何为单身的黄金时代>
<爱情对人们的意义>
<目前人的生存和处境更加复杂>
<爱情存在肌无力>
<最温暖的东西是人和人之间的感情>
<要勇敢地追求爱情>
"""FIRST_LEVEL_PROMPT = """{few_shot}
上面是几个生成大纲第一层的例子。请你根据
{idea}
生成大纲第1层,一行一个条目,生成在<>中,无需其他解释和内容:"""NEXT_LEVEL_EXAMPLE = """请你根据
技术是一把双刃剑,它既能推动社会向前发展,也可能因不当使用而造成伤害。比如数字鸿沟现象。
不要和上一层的 信息爆炸的时代, 科技革命与产业变革, 人类应未雨绸缪,趋利避害, 发展趋势及前景,结论 重复,
生成“社会影响日益凸显”下的大纲第2层内容,一行一个条目,生成在<>中,无需其他解释和内容:
<举例:数字鸿沟现象>
<各种问题普遍存在>
<对人类各方面产生深远影响>请你根据
在单身的黄金年代我们如何面对爱情:要勇敢地去追求爱情
不要和上一层的 何为单身的黄金时代, 爱情对人们的意义, 目前人的生存和处境更加复杂, 爱情存在肌无力, 最温暖的东西是人和人之间的感情 重复,
生成“要勇敢地追求爱情”下的大纲第2层内容,一行一个条目,生成在<>中,无需其他解释和内容:
<必须树立目标>
<提升心灵的力量>
<走合法的途径去获取>请你根据
为什么我们要好好学习?在快速变化的世界中,持续学习是实现自我价值和社会贡献的关键。
不要和上一层的 理解自己的权利与义务, 正确价值观和社会责任感 重复,
生成“知识是推动社会发展的关键力量”下的大纲第3层内容,一行一个条目,生成在<>中,无需其他解释和内容:
<科技创新与经济发展>
<社会治理与公共政策>
<文化传承与发展>
"""NEXT_LEVEL_PROMPT = """{few_shot}
上面是几个生成大纲具体层的例子。请你根据
{idea}
不要和上一层的 {formatted_previous_list} 重复,
生成“{previous_outline}”下的大纲第{current_level}层内容,一行一个条目,生成在<>中,无需其他解释和内容:
"""def generate_outline(input_text, layer: int):prompt = BASE_PROMPT.format(idea=input_text, layer=layer)completion = client.chat.completions.create(model="meta/llama-3.1-70b-instruct",messages=[{"role": "user", "content": prompt}],temperature=0.7,max_tokens=1024,)return completion.choices[0].message.content.strip()def extract_outlines(model_output: str):# 简单的提取方法,将模型输出按行分割并去除空白行return [line.strip().strip('<').strip('>')for line in model_output.split('\n')if line.strip()]def generate_first_level_outlines(idea):first_level_template = FIRST_LEVEL_PROMPT.format(few_shot=FIRST_LEVEL_EXAMPLE,idea=idea,)response = client.chat.completions.create(model="meta/llama-3.1-70b-instruct",messages=[{"role": "user", "content": first_level_template}],temperature=0.7,max_tokens=1024,)return extract_outlines(response.choices[0].message.content.strip())def generate_next_level_outline(idea: str,current_level: int,previous_outline: str,previous_list: list[str],target_layer: int,
):formatted_previous_list = ', '.join(previous_list)next_level_template = NEXT_LEVEL_PROMPT.format(few_shot=NEXT_LEVEL_EXAMPLE,idea=idea,formatted_previous_list=formatted_previous_list,previous_outline=previous_outline,current_level=current_level,)response = client.chat.completions.create(model="meta/llama-3.1-70b-instruct",messages=[{"role": "user", "content": next_level_template}],temperature=0.7,max_tokens=1024,)outlines = extract_outlines(response.choices[0].message.content.strip())if target_layer == current_level:return outlineselse: return {text: generate_next_level_outline(idea, current_level + 1, text, outlines, target_layer) for text in outlines}def recursive_outline(idea, target_layer: int):first_level = generate_first_level_outlines(idea)return {text: generate_next_level_outline(idea, 2, text, first_level, target_layer) for text in first_level}def compare_outlines(input_text, layers):direct = generate_outline(input_text, int(layers))recursive = recursive_outline(input_text, int(layers))return direct, json.dumps(recursive, ensure_ascii=False, indent=8)iface = gr.Interface(fn=compare_outlines,inputs=["text", gr.Number()],outputs=["text", "text"],title="PPT大纲生成对比",description="输入一个句子,比较直接生成和递归生成的PPT大纲效果。"
)iface.launch()相关文章:
大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成
大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成 待解决的问题 生成PPT大纲是一种大模型在办公场景下应用的常见需求。 然而: 目前直接让大模型生成大纲往往是非结构化的,输出格式多样,难以统一和规范&#…...
MRSO算法(JCR2区)
原论文摘要:智能技术的快速发展促使利用自然行为来解决复杂问题的优化算法得以发展。其中,鼠群优化算法(Rat Swarm Optimizer,RSO)受老鼠的社会和行为特征启发,在各个领域已展现出潜力,但其收敛…...
最新Spring Boot3框架入门教程,基础知识讲解(参考官方文档),同时基于MybatisPlus+MYSQL搭建后台管理系统基础流程(附源码)
本文所涉及的代码以及相关文件均上传至仓库:GitHub - yang66-hash/XDPropertyManagementSystemDemo: This is a demo template based on SpringBoot3 in the background of property management system. Spring Boot 是由 Pivotal 团队开发的一款开源框架,它可以帮助…...
导数的概念及在模型算法中的应用
一. 导数概念与计算 1. 导数的物理意义: 瞬时速率。一般的,函数yf(x)在x处的瞬时变化率是 2. 导数的几何意义: 曲线的切线,当点趋近于P时,直线 PT 与曲线相切。容易知道,割线的斜率是当点趋近于 P 时&…...
获取首日涨停封盘后第二次交易日上涨/下跌的概率
有许多投资者喜欢在股票涨停封盘后,跟进买入。普通股民会认为一个能在今日涨停封盘的股票,证明其上市公司正有十分重大的利好信息,只需要跟进购买便可以获取短期利益。 我们用数据来看一下在当日涨停封盘后,第二次交易日是上涨还…...
shell $ 用法
Shell脚本中$符号的几种用法小结_linux shell_脚本之家 Shell 传递参数 | 菜鸟教程 $ 符号说明$0Shell 的命令本身1到9表示 Shell 的第几个参数$?显示最后命令的执行情况$#传递到脚本的参数个数$$脚本运行的当前进程 ID 号$*以一个单字符串显示所有向脚本传递的参数$!后台运行…...
如何用支付宝实现靠脸吃饭
还记得上学时,每当下课铃声响起,我们就会像一群脱缰的野马一样,浩浩荡荡地冲向食堂。最令人崩溃的时刻莫过于终于到达打饭窗口前排时,却发现饭卡忘带了!但现在,这种情况将不再发生。许多学校食堂已经配备了…...
Visual Studio的实用调试技巧总结
对于很多学习编程的老铁们来说,是不是也像下面这张图一样写代码呢? 那当我们这样编写代码的时候遇到了问题?大家又是怎么排查问题的呢?是不是也像下面这张图一样,毫无目的的一遍遍尝试呢? 这篇文章我就以 V…...
graphrag学习总结
学习视频:b站链接 项目链接 GraphRAG 的基本概念 Document(文档):系统中的输入文档。这些文档要么代表CSV中的单独行,要么代表单独的txt文件。 TextUnit(文本块):要分析的文本块。…...
专题:贪心算法(已完结)
1.分发饼干 方法一:用最大的胃口 找到最大的饼干(先遍历胃口) class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {// 主要思路 用最大的饼干找最大的胃口sort(g.begin(),g.end());so…...
Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
单机模式 单机模式是Hadoop最简单的运行模式。在单机模式下,所有Hadoop组件都运行在单个机器上,包括HDFS、MapReduce等。由于只有一个节点参与计算,单机模式适用于开发和测试阶段,不适合用于处理大规模数据。在单机模式下…...
JavaScript将array数据下载到Excel中
具体代码如下: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widt…...
【前端】Bootstrap:快速开始
Bootstrap 是一个功能强大且易于使用的前端框架,专门用于创建响应式和移动优先的网页。学习Bootstrap不仅可以帮助你快速构建现代网页,还可以提升你对前端开发流程的理解。本教程将从基础概念开始,逐步引导你掌握Bootstrap,并通过…...
文献阅读(222) VVQ协议死锁
题目:VVQ: Virtualizing Virtual Channel for Cost-Efficient Protocol Deadlock Avoidance时间:2023会议:HPCA研究机构:KAIST request-reply协议死锁如下图所示,每个node收到request之后发送reply,但是想…...
Node.js管理工具NVM
nvm(Node Version Manager)是一个用于管理多个 Node.js 版本的工具。以下是 nvm 的使用方法和一些常见命令: 一、安装 nvm 下载 nvm: 地址:https://github.com/coreybutler/nvm-windows/releases访问 nvm 的 GitHub 仓…...
云原生后端
云原生后端(Cloud-Native Backend)是指在云计算环境中,利用云原生技术(如容器、微服务、服务网格等)构建和部署后端应用程序的一种方法。以下是对云原生后端的详细讲解: 1. 定义 云原生是一种设计和构建应…...
充电宝哪个品牌值得买?2024年五款靠谱充电宝推荐
哪个品牌充电宝值得买?用过这么多款充电宝,个人还是觉得充电快、小巧便携的充电宝使用会更加的方便!在当今快节奏的生活中,手机已成为我们不可或缺的伙伴。然而,随着智能手机功能的日益强大,电池续航问题也…...
YOLOv11对比YOLOV8网络结构变化分析,帮助你真正的理解和学习yolo框架
本文在大佬的文章YOLOv11 | 一文带你深入理解ultralytics最新作品yolov11的创新 | 训练、推理、验证、导出 (附网络结构图)基础上做了一些补充。 一、YOLOv11和YOLOv8对比 二、YOLOv11的网络结构图 下面的图片为YOLOv11的网络结构图。 三、YOLOv11…...
弃用RestTemplate,RestClient真香!
在Spring框架的发展历程中,RestTemplate作为发起HTTP请求的同步API,曾经扮演着举足轻重的角色。然而,随着技术的不断进步和微服务架构的普及,RestTemplate的局限性逐渐显现,尤其是在处理高并发和异步请求时。因此&…...
electron-vite_10electron-updater软件更新
网很多electron-updater更新文章,这里只简单写一下演示代码; 为什么选择 electron-updater插件可以自动更新应用程序,同时支持多个平台;比官方要强; 官方的autoUpdater仅支持macOS 和 Windows 自动更新; 注意是自动,直接更新那种; 脚手架中是…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
