百度开源文心 4.5 系列开源大模型 GitCode 本地化部署,硅基流动:文心 vs. DeepSeek vs. Qwen 3.0 深度测评

百度开源文心 4.5 系列开源大模型 GitCode 本地化部署,硅基流动:文心 vs. DeepSeek vs. Qwen 3.0 深度测评

文章目录

    • 百度开源文心 4.5 系列开源大模型 GitCode 本地化部署,硅基流动:文心 vs. DeepSeek vs. Qwen 3.0 深度测评
      • 背景
      • 百度开源文心 4.5 系列开源大模型介绍
      • GitCode 部署 ERNIE-4.5-300B-A47B
      • Streamlit 库开发Web UI 页面
      • 文心 vs. DeepSeek / Qwen 3.0 深度解析
        • 文心 vs. DeepSeek
          • 基础文本理解与生成
          • 复杂逻辑推理
          • 专业知识适配
        • 文心 vs. Qwen 3.0
          • 基础文本理解与生成
          • 复杂逻辑推理
          • 专业知识适配
        • 评测总结
      • 文心 vs. DeepSeek vs. Qwen 3.0 总结
      • 总结

背景

百度在 GitCode 发布文心大模型 4.5 系列开源模型,涵盖从数亿到数百亿参数规模。其针对 MoE 架构提出创新多模态异构结构,适用于从大语言模型向多模态模型的持续预训练,能显著增强多模态理解能力,在文本和多模态任务上刷新多项基准测试记录,该系列模型均用飞桨框架训练、推理和部署,模型 FLOPs 利用率达 47%,以 Apache 2.0 协议开源,助力学术研究与产业应用 。

百度开源文心 4.5 系列开源大模型介绍

在这里插入图片描述

百度开源文心 4.5 系列模型类型丰富,包括基于飞桨框架的 Base-Paddle、Paddle,以及基于 PyTorch 框架的 Base-PT、PT ,还有多种参数量与架构各异的文本及多模态模型,像拥有 MoE 架构、参数量达 3000 亿总参用于复杂文本理解与生成的 ERNIE-4.5-300B-A47B ,424 亿总参实现图文交互的多模态模型 ERNIE-4.5-VL-424B-A47B 等,分别适用于从基于不同框架二次开发的通用场景,到复杂文本、跨模态任务,再到移动端等资源受限场景的各类需求

  • 模型类别划分:按类型分 MoE 模型、大语言模型(LLMs )、视觉语言模型(VLMs )、稠密型模型,覆盖不同技术路线与应用场景,大语言模型专注文本交互,视觉语言模型支持文本、图像、视频多模态输入,满足多样需求
  • 功能特性呈现:明确各模型输入输出模态,大语言模型和稠密型模型多为文本输入输出,视觉语言模型可处理图像、视频等多模态,且部分模型上下文窗口达 128K,体现长文本处理能力,助力理解复杂、长篇内容,为技术选型(如多模态场景选视觉语言模型 )、应用开发(依输入输出需求匹配模型 )提供清晰指引
模型名称核心特点适用场景
Base-Paddle基于飞桨框架的基座模型,通用预训练基础需基于飞桨框架二次开发的通用场景
Paddle基于飞桨框架,经后训练优化(非基座)飞桨生态下的特定任务(如对话、生成)
Base-PT基于 PyTorch 框架的基座模型,通用预训练基础需基于 PyTorch 框架二次开发的通用场景
PT基于 PyTorch 框架,经后训练优化(非基座)PyTorch 生态下的特定任务(如对话、生成)
ERNIE-4.5-300B-A47B文本模型,3000 亿总参(激活 47 亿),MoE 架构复杂文本理解与生成
ERNIE-4.5-VL-424B-A47B多模态模型,424 亿总参(激活 47 亿),图文交互复杂跨模态任务(图文推理、生成)
ERNIE-4.5-VL-28B-A3B多模态模型,280 亿总参(激活 30 亿),双模式交互中等复杂度图文任务
ERNIE-4.5-21B-A3B文本模型,210 亿总参(激活 30 亿),高效 MoE智能对话、内容创作
ERNIE-4.5-0.3B轻量级文本模型,3 亿参,适配边缘环境移动端、资源受限场景的对话 / 生成

GitCode 部署 ERNIE-4.5-300B-A47B

1、进入 GitCode 文心大模型专区

在这里插入图片描述

2、选择大模型 baidu/ERNIE-4.5-300B-A47B,查看开发文档

在这里插入图片描述

3、模型克隆至本地

在这里插入图片描述

4、使用HTTPS方式克隆

在这里插入图片描述

5、本地打开 Git Bash,将项目通过下面命令克隆至本地

git clone https://gitcode.com/paddlepaddle/ERNIE-4.5-300B-A47B-Base-Paddle.git

在这里插入图片描述

6、等待模型下载克隆(大概3~5分钟)

在这里插入图片描述

7、打开本地克隆项目

在这里插入图片描述

8、将项目文件用 PyCharm 打开

在这里插入图片描述

9、PyCharm 终端安装项目依赖

# 创建名为 baidu 的虚拟环境,Python 版本设为 3.10
conda create --name baidu python=3.10

在这里插入图片描述

10、激活虚拟环境

# 激活虚拟环境
conda activate baidu

在这里插入图片描述

11、安装项目依赖

# 安装项目依赖
pip install --progress-bar=on streamlit transformers torch sentencepiece -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

12、下载完成

在这里插入图片描述

13、将 PyCharm 解释器换成切换成虚拟环境的 baidu

在这里插入图片描述

14、使用使用 transformers 库创建测试脚本

from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
import torch
import time# 记录开始时间
start_time = time.time()# 设置模型路径
model_name = "ERNIE-4.5-0.3B-PT"# 设备配置 - CPU 环境
device = torch.device("cpu")
print(f"使用设备: {device}")# 加载分词器和模型 - 添加进度提示
print("正在加载模型,请稍候...")
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True).to(device)
print(f"模型加载完成,耗时: {time.time() - start_time:.2f}秒")# 准备模型输入
prompt = "请介绍一下人工智能在医疗领域的应用"
messages = [{"role": "user", "content": prompt}]# 应用聊天模板
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)# 构造模型输入,确保 attention_mask 是2D张量
encoding = tokenizer([text],add_special_tokens=False,return_tensors="pt"
)
model_inputs = {"input_ids": encoding.input_ids.to(device),"attention_mask": torch.ones_like(encoding.input_ids).to(device)  # 确保是2D张量
}# 优化生成配置 - 显式设置所有参数
generation_config = GenerationConfig(max_new_tokens=300,temperature=0.7,top_p=0.9,do_sample=True,bos_token_id=tokenizer.bos_token_id or 1,  # 确保有值eos_token_id=tokenizer.eos_token_id or 2,  # 确保有值pad_token_id=tokenizer.eos_token_id or 2,  # 确保有值frequency_penalty=0.0,presence_penalty=0.0
)# 执行文本生成 - 添加进度提示
print("开始生成回答...")
generate_start_time = time.time()
with torch.no_grad():generated_ids = model.generate(**model_inputs,  # 解包输入字典generation_config=generation_config)
output_ids = generated_ids[0][len(model_inputs["input_ids"][0]):].tolist()
print(f"回答生成完成,耗时: {time.time() - generate_start_time:.2f}秒")# 解码生成的文本
generate_text = tokenizer.decode(output_ids, skip_special_tokens=True).strip()# 输出结果
print("\n" + "="*50)
print(f"问题: {prompt}")
print("-"*50)
print(f"生成的回答:\n{generate_text}")
print("="*50)
print(f"总耗时: {time.time() - start_time:.2f}秒")

在这里插入图片描述

15、test.py 运行测试结果

在这里插入图片描述

Streamlit 库开发Web UI 页面

1、新建一个 baidu_chat.py文件,确认 Python 环境,此时需要确认 conda 虚拟环境是 baidu

python --version

在这里插入图片描述

2、安装依赖库(transformers和torch依赖前面已经安装了,此处不需要重复安装)

  • streamlit(做网页)
  • transformers(调用大模型)
  • torch(深度学习框架,模型运行依赖)
pip install streamlit

在这里插入图片描述

3、代码部署(把代码落地成可运行文件)

import streamlit as st
from transformers import AutoModelForCausalLM, AutoTokenizer
from threading import Thread
from queue import Queue, Empty
import time
import platform# 初始化模型和分词器
@st.cache_resource
def load_model():model_name = "ERNIE-4.5-0.3B-PT"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)return tokenizer, modeltokenizer, model = load_model()class CustomStreamer:def __init__(self, queue):self.queue = queueself.first_token_time = Noneself.generation_start = time.perf_counter()self.full_response = ""  # 存储完整响应def put(self, value):# 记录第一个token的到达时间if self.first_token_time is None:self.first_token_time = time.perf_counter()# 解码tokentokens = value.cpu().numpy()text = tokenizer.decode(tokens[0], skip_special_tokens=True)# 清理前缀for prefix in ['User:', 'Assistant:']:if prefix in text:text = text.split(prefix, 1)[-1]cleaned_text = text.strip()self.full_response += cleaned_text  # 累积完整响应self.queue.put(cleaned_text)def end(self):self.queue.put(None)def get_first_token_latency(self):if self.first_token_time:return (self.first_token_time - self.generation_start) * 1000  # 毫秒return 0def generate_response_stream(prompt, queue, max_tokens, temperature):generation_start = time.perf_counter()# 准备输入messages = [{"role": "user", "content": prompt}]text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt")prompt_tokens = len(model_inputs.input_ids[0])# 初始化流式处理器streamer = CustomStreamer(queue)# 生成响应generated_ids = model.generate(model_inputs.input_ids,max_new_tokens=max_tokens,temperature=temperature,streamer=streamer,do_sample=True if temperature > 0 else False)# Streamlit界面
def main():st.title("ERNIE-4.5-300B-A47B Chat")st.write("CSDN博主:wei_shuo")# 侧边栏 - 模型配置 + 规范约束with st.sidebar:st.header("⚙️ 模型配置")max_tokens = st.slider("最大生成长度", 100, 2048, 1024)temperature = st.slider("温度系数", 0.1, 2.0, 1.0, 0.1)# 规范约束说明(可折叠)with st.expander("📖 大模型规范约束", expanded=False):st.markdown("""### 安全与合规1. 拒绝生成违法违规内容(如暴力、歧视、恶意信息等)  2. 敏感问题需遵循平台规则,引导正向价值观  ### 回答质量1. 优先使用 Markdown 格式,确保排版清晰(标题、列表、代码块等)  2. 回答需准确、简洁,避免无意义内容堆叠  3. 专业问题需提供合理依据或步骤  ### 交互约束1. 支持多轮对话,但需控制上下文长度(避免超出 `max_tokens` 限制)  2. 对模糊问题,先澄清需求再回答  """)if st.button("🧹 清空对话"):st.session_state.messages = []st.rerun()# 初始化聊天记录if "messages" not in st.session_state:st.session_state.messages = []# 显示历史消息for message in st.session_state.messages:with st.chat_message(message["role"]):st.markdown(message["content"])# 聊天输入if prompt := st.chat_input("请输入您的问题..."):# 添加用户消息st.session_state.messages.append({"role": "user", "content": prompt})with st.chat_message("user"):st.markdown(prompt)# 生成响应with st.chat_message("assistant"):placeholder = st.empty()full_response = ""queue = Queue()# 启动生成线程thread = Thread(target=generate_response_stream,args=(prompt, queue, max_tokens, temperature))thread.start()# 流式输出while True:try:chunk = queue.get(timeout=0.1)if chunk is None:breakfull_response += chunkplaceholder.markdown(full_response + "▌")except Empty:continueplaceholder.markdown(full_response)thread.join()# 保存到历史记录st.session_state.messages.append({"role": "assistant", "content": full_response})if __name__ == "__main__":main()

在这里插入图片描述

4、运行代码(首次使用需要输入邮箱)

在这里插入图片描述

5、查看本地部署结果

在这里插入图片描述

在这里插入图片描述

文心 vs. DeepSeek / Qwen 3.0 深度解析

在这里插入图片描述

上图是文心 4.5 系列模型能力盘点表,涵盖不同模型,从多模态(Multimodal)、混合专家(MoE)、后训练(Post - Trained)、思维 / 非思维模式(Thinking/Non - Thinking Mode)维度呈现,VL 系列部分模型具多模态能力,不同模型在各维度特性有别,可直观了解各模型功能侧重 。

文心 vs. DeepSeek

在这里插入图片描述

文心与 DeepSeek 各有优势,文心依托百度技术积累与数据,在中文语境理解、多模态融合及生态构建上深耕,有多元版本适配场景;DeepSeek 借字节跳动技术沉淀,在训练效率、推理速度上突出,开源生态助力普及

基础文本理解与生成

考察模型对基础事实、概念的认知及文本生成质量,看回答是否准确、逻辑是否通顺,语言是否自然

1、输入内容(Prompt):请用生动语言介绍二十四节气中芒种的含义与农事关联(简洁核心回答)

在这里插入图片描述

2、结果可视化分析:ERNIE-4.5-300B-A47B 在语言生动性、信息完整性、回答效率(Tokens 速度)上表现更优,仅输出 Tokens 总量少于 DeepSeek-R1 ;后者虽输出内容更长,但在表达生动度、信息全面性及生成速度方面均不及前者,整体来看 ERNIE-4.5-300B-A47B 综合表现更突出 。

在这里插入图片描述

复杂逻辑推理

聚焦模型处理需要多层推导、分析任务的能力,检验逻辑思维深度与严谨性

1、输入内容(Prompt):有 A、B、C 三人,A 说 B 在说谎,B 说 C 在说谎,C 说 A 和 B 都在说谎,三人中只有一人说真话,谁在说真话?请详细推导(简洁核心回答)

在这里插入图片描述

2、结果可视化分析:复杂逻辑推理任务中,ERNIE - 4.5 - 300B - A47B 在推理逻辑路径、回答效率(Tokens 速度)、推理风格总结维度表现更优,仅输出 Tokens 总量少于 DeepSeek - R1;DeepSeek - R1 虽输出内容丰富,但效率指标低,二者推理结论一致,验证逻辑正确,展现出不同推理风格与效率特点 。

在这里插入图片描述

专业知识适配

针对特定专业领域(如科学、人文等)问题,对比模型知识储备与运用水平

1、输入内容(Prompt):从生物学角度,分析抗生素为何对病毒性感冒无效,结合免疫机制说明(简洁核心回答)
在这里插入图片描述

2、结果可视化分析:生物视角抗生素无效机制解读任务中,ERNIE - 4.5 - 300B - A47B 在逻辑拆解深度、表达风格专业性及回答效率(Tokens 速度)上优势显著,输出 Tokens 总量少;DeepSeek - R1 输出内容丰富,然逻辑拆解、表达风格专业度及回答效率均不及前者,二者呈现 “专业深度型” 与 “内容丰富型” 差异化表现

在这里插入图片描述

文心 vs. Qwen 3.0

在这里插入图片描述

基础文本理解与生成

1、输入内容(Prompt):请用生动语言介绍二十四节气中芒种的含义与农事关联(简洁核心回答)

在这里插入图片描述

2、结果可视化分析:介绍芒种含义与农事关联任务中,ERNIE - 4.5 - 300B - A47B 与 Qwen3 - 30B - A3B 风格有别,前者语言、信息呈现、创作视角表现均衡,回答效率也不弱;后者在各维度得分略高,输出内容更丰富,且回答效率(Tokens 速度)与前者相近,二者以不同风格诠释节气,展现模型差异化表达力

在这里插入图片描述

复杂逻辑推理

1、输入内容(Prompt):有 A、B、C 三人,A 说 B 在说谎,B 说 C 在说谎,C 说 A 和 B 都在说谎,三人中只有一人说真话,谁在说真话?请详细推导(简洁核心回答)

在这里插入图片描述

2、结果可视化分析:逻辑推理任务中,ERNIE - 4.5 - 300B - A47B 与 Qwen3 - 30B - A3B 推理方法、结论一致,展现逻辑正确性。ERNIE 表达简洁,回答效率(Tokens 速度)高、输出量少;Qwen3 - 30B - A3B 表达细致,输出内容丰富但效率稍低,二者体现出 “高效简洁” 与 “详实全面” 的差异化推理风格 。

在这里插入图片描述

专业知识适配

1、输入内容(Prompt):从生物学角度,分析抗生素为何对病毒性感冒无效,结合免疫机制说明(简洁核心回答)

在这里插入图片描述

2、结果可视化分析:分析抗生素对病毒性感冒无效的任务中,ERNIE-4.5-300B-A47B 与 Qwen3-30B-A3B 在核心逻辑、表达风格维度表现相近,ERNIE-4.5-300B-A47B 回答效率(Tokens 速度)更高,输出 Tokens 总量少;Qwen3-30B-A3B 输出内容更丰富,二者展现出 “高效简洁” 与 “详实全面” 的不同知识输出风格 。

在这里插入图片描述

评测总结

在这里插入图片描述

文心、DeepSeek、Qwen 3.0 各有特色:文心语言生动善修辞,深度拆解知识,适配文化创作与专业解析;DeepSeek 推导清晰简洁,聚焦核心机制,适合高效推理与知识传递;Qwen 3.0 文艺细腻兼场景补充,在科普问答等场景优势明显,三者因风格与效率差异,适配不同任务需求

从测评结果来看,ERNIE - 4.5 - 300B - A47B 在语言生动性、信息完整性、逻辑推理完整性、生物医学逻辑深度四个维度,得分均为最高,综合表现最优;Qwen3 - 30B - A3B 各维度得分次之,整体实力较强;DeepSeek - R1 在各维度得分相对偏低,表现稍弱,ERNIE - 4.5 - 300B - A47B 综合能力领先,Qwen3 - 30B - A3B 可作为有效补充,DeepSeek - R1 在这些测评维度上有较大提升空间 。

文心 vs. DeepSeek vs. Qwen 3.0 总结

在这里插入图片描述

文心 ERNIE - 4.5 系列模型与 Qwen3、DeepSeek - V3 在不同能力维度(通用、推理、数学、知识、编码 )下,基于多种基准测试的性能对比数据:

  • 模型整体表现:不同模型在各基准测试里各有优劣,像 ERNIE - 4.5 - 300B - A4TB - Base 在多个通用基准(如 C - Eval、CMMLU 等 )中成绩突出,显示出在通用能力上的优势;Qwen3 - 30B - A3B - Base 在部分推理基准(如 ARC - Easy、ARC - Challenge )表现亮眼,体现推理能力特点
  • 能力维度差异:通用能力里,各模型在不同子项(C - Eval、CMMLU 等 )排名有别,反映对不同类型通用知识的掌握侧重;推理方面,不同基准下模型表现波动,说明应对不同推理场景能力不同;数学、知识、编码维度同理,各有擅长与薄弱板块,体现模型在特定知识领域和技能上的优势区与提升点
  • 模型对比优势:比如 ERNIE - 4.5 系列部分版本在部分基准(如 C - Eval 中 ERNIE - 4.5 - 300B - A4TB - Base 成绩突出 )领先,可看出其在对应能力维度的竞争力;Qwen3、DeepSeek - V3 也有各自优势板块,展现不同技术路线或训练侧重的成果,能为模型迭代、选型提供参考,比如侧重数学能力可选某类表现好的模型,侧重编码则看对应编码基准成绩选

总结

本次围绕百度开源文心 4.5 系列大模型,介绍其多参数规模、创新架构、开源协议及部署与 Web UI 开发方式,并对比显示,ERNIE - 4.5 - 300B - A47B 在语言生动性、信息完整性等维度表现最佳,适配专业研究、报告撰写;Qwen3 - 30B - A3B 表现次之,因文艺细腻风格适配知识科普、文案创作;DeepSeek - R1 虽整体稍弱,但凭借平实表达与推理风格,适用于基础概念科普。不同模型各有优势,需要根据具体需求场景来选择。

架构生态多元:创新 MoE 架构与多模态异构结构,覆盖飞桨、PyTorch 框架模型,参数数亿至数百亿,适配通用开发、复杂任务及移动端等场景

性能效率突出:FLOPs 利用率达 47%,在文本与多模态任务中刷新多项基准记录,平衡高性能与部署效率

开源开放度高:Apache 2.0 协议开源,支持飞桨框架全流程操作,便于学术研究与产业应用二次开发

如果大家想和我一起感受百度开源文心4.5系列开源大模型:一起来玩转文心大模型吧

👉文心大模型免费下载地址:https://ai.gitcode.com/theme/1939325484087291906

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

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

相关文章

「日拱一码」022 机器学习——数据划分

目录 基于单次随机划分的方法 普通单次随机划分(train_test_split) 分层单次随机划分(使用 train_test_split 的 stratify 参数) 基于多次随机划分的方法 普通多次随机划分(ShuffleSplit) 分层多次随机划分(StratifiedShuffleSplit…

lora网关

所需配置的引脚,SPI传输,PG13复位(输出引脚,推挽输出),PE2忙碌(输入引脚,浮空输入)PE6PE5输出。若利用延时处理按键消抖,hal库里用systick中断实现延时&#…

5G IMS注册关键一步:UE如何通过ePCO获取P-CSCF地址

看似简单的P-CSCF地址传递,背后是5G核心网控制面与用户面的精密协作。ePCO作为高效的信令载体,承载着IMS业务触达的第一把钥匙。 在5G网络中建立IMS PDN连接时,UE(用户设备)获取P-CSCF(Proxy-Call Session Control Function)地址是IMS业务(如VoLTE、VoNR)成功注册和运…

JVM方法区的运行时常量区到底存储哪些数据?

JDK8以后,运行时常量池逻辑上属于方法区;但: 其中的字符串常量池实际位置移至到了java堆;其中一些符号引用也存储到了元空间;字符串常量池,元空间,运行时常量区的具体关系请看这篇博客&#xf…

Go defer(二):从汇编的角度理解延迟调用的实现

Go的延迟调用机制会在当前函数返回前执行传入的函数,它会经常被用于关闭文件描述符、关闭数据库连接以及解锁资源。之前的文章( Go defer(一):延迟调用的使用及其底层实现原理详解 )详细介绍了defer的使用以…

Android 12系统源码_分屏模式(一)从最近任务触发分屏模式

前言 打开MainActivity,然后进入最近任务触发分屏,可以成功进入分屏模式。 本篇文章我们来具体梳理一下这个过程的源码调用流程。 一 launcher3阶段 1.1 源码 //packages/apps/Launcher3/quickstep/src/com/android/quickstep/views/TaskView.java publi…

Flask 入门教程:用 Python 快速搭建你的第一个 Web 应用

文章目录前言一、什么是 Flask?📌 Flask 的优势1. 轻量灵活2. 易于上手3. 可扩展性强4. 自由度高5. 社区活跃,资料丰富Flask 主要用来做什么?二、Flask快速入门1.创建一个Flask项目2.开启debug,修改host,端…

实习第一个小需求样式问题总结

Vue2 vxe-table Element UI 表头下拉详情实现总结一、核心功能实现表头下拉按钮交互初始尝试 expand-change 事件无法满足需求&#xff0c;改用 vxe-table 的 toggle-row-expand 事件&#xff1a;<vxe-table toggle-row-expand"handleExpandChange"><temp…

Linux中LVM逻辑卷扩容

在Linux系统中对根目录所在的LVM逻辑卷进行扩容&#xff0c;需要依次完成 物理卷扩容 ➔ 卷组扩容 ➔ 逻辑卷扩容 ➔ 文件系统扩容 四个步骤。以下是详细操作流程&#xff1a;一、确认当前磁盘和LVM状态# 1. 查看磁盘空间使用情况 df -h /# 2. 查看块设备及LVM层级关系 lsblk# …

微软365 PDF导出功能存在本地文件包含漏洞,可泄露敏感服务器数据

微软365的"导出为PDF"功能近期被发现存在严重的本地文件包含(Local File Inclusion, LFI)漏洞&#xff0c;攻击者可利用该漏洞获取服务器端的敏感数据&#xff0c;包括配置文件、数据库凭证和应用程序源代码。该漏洞由安全研究员Gianluca Baldi发现并报告给微软&…

台球 PCOL:极致物理还原的网页斯诺克引擎(附源码深度解析)

> 无需下载,打开浏览器即可体验专业级斯诺克!本文将揭秘网页版台球游戏的物理引擎与渲染核心技术 在游戏开发领域,台球物理模拟一直被视为**刚体动力学皇冠上的明珠**。今天我们要解析的**台球 PCOL**(Pure Canvas Online Billiards)正是一款突破性的网页版斯诺克游戏…

springboot-2.3.3.RELEASE升级2.7.16,swagger2.9.2升级3.0.0过程

一、pom文件版本修改<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.16</version><relativePath/> </parent>如果用到了“spring-boot-starter…

Python-正则表达式-信息提取-滑动窗口-数据分发-文件加载及分析器-浏览器分析-学习笔记

序 欠4前年的一份笔记 &#xff0c;献给今后的自己。 正则表达式 概述 正则表达式&#xff0c;Regular Expression&#xff0c;缩写为regex、regexp、RE等。 正则表达式是文本处理极为重要的技术&#xff0c;用它可以对字符串按照某种规则进行检索、替换。 1970年代&…

一文入门神经网络:神经网络概念初识

神经网络的世界远比你想象得更丰富多元。从基础架构到前沿融合模型&#xff0c;我为你梳理了当前最值得关注的神经网络类型&#xff0c;不仅包括那些“教科书级”的经典模型&#xff0c;也覆盖了正在改变行业格局的新兴架构。以下是系统分类与核心特点总结&#xff1a;一、基础…

线上事故处理记录

线上事故处理记录 一、MySQL 导致的服务器 CPU 飙升 有一天&#xff0c;突然收到了服务器 CPU 飙升的告警信息&#xff0c;打开普罗米修斯查看 CPU 的使用情况&#xff0c;发现 CPU 确实飙升了&#xff0c;下面开始去进行问题定位了。 1. 首先连接到对应的服务器&#xff0c;然…

ParaCAD 笔记 png 图纸标注数据集

ParaCAD-Dataset git lfs install git clone https://www.modelscope.cn/datasets/yuwenbonnie/ParaCAD-Dataset.git https://github.com/ParaCAD/ 不止100g 下个最小的 没有三视图

C#使用Semantic Kernel实现Embedding功能

1、背景 C#开发中&#xff0c;可以通过Semantic Kernel实现本地模型的调用和实现。 本地的Ollama的版本如下&#xff1a;安装的Package如下&#xff1a;2、代码实现 // See https://aka.ms/new-console-template for more information using Microsoft.Extensions.AI; using Mi…

转转APP逆向

APP版本 11.15.0 接口分析 # URL https://app.zhuanzhuan.com/zz/transfer/search# header cookie xxx x-zz-monitoring-metrics feMetricAntiCheatLevelV1 zztk user-agent Zhuan/11.15.0 (11015000) Dalvik/2.1.0 (Linux; U; Android 10; Pixel 3 Build/QQ3A.200805.001) z…

注解与反射的完美配合:Java中的声明式编程实践

注解与反射的完美配合&#xff1a;Java中的声明式编程实践 目录 引言 核心概念 工作机制 实战示例 传统方式的痛点 注解反射的优势 实际应用场景 最佳实践 总结 引言 在现代Java开发中&#xff0c;我们经常看到这样的代码&#xff1a; Range(min 1, max 50)priva…

开源入侵防御系统——CrowdSec

1、简介 CrowdSec 是一款现代化、开源、基于行为的入侵防御系统&#xff08;IDS/IPS&#xff09;&#xff0c;专为保护服务器、服务、容器、云原生应用而设计。它通过分析日志检测可疑行为&#xff0c;并可基于社区协作共享恶意 IP 黑名单&#xff0c;从而实现分布式防御。 其…