Datawhale 5月llm-universe 第1次笔记
课程地址:GitHub - datawhalechina/llm-universe: 本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/
难点:配置conda环境变量
我用的vscode + github方法
目录
重要名词解释:
涌现能力(emergent abilities)
检索增强生成
RAG 的工作流程
RAG VS Finetune
大模型开发的一般流程
搭建 LLM 项目的流程简析(以知识库助手为例)
项目规划与需求分析
配置github
停止代码空间
易错点:
1. 环境变量设置错误
2. 没有初始化 conda shell 支持
3. 虽然运行了 conda init,但 VS Code 的终端还是没有识别到 conda 激活环境的配置,这通常是因为 VS Code 终端未加载更新后的配置文件
4. conda 的初始化命令没有正确添加到 PowerShell 的配置文件中。虽然你执行了 conda init,但 VSCode 的 PowerShell 没有正确读取它。
5. 在配置 PowerShell 文件时,它遇到了需要管理员权限的问题(提示 "needs sudo")
重要名词解释:
涌现能力(emergent abilities)
区分大语言模型(LLM)与以前的预训练语言模型(PLM)最显著的特征之一是它们的 涌现能力
。涌现能力是一种令人惊讶的能力,它在小型模型中不明显,但在大型模型中特别突出。类似物理学中的相变现象,涌现能力就像是模型性能随着规模增大而迅速提升,超过了随机水平,也就是我们常说的 量变引起质变。
涌现能力可以与某些复杂任务有关,但我们更关注的是其通用能力。接下来,我们简要介绍三个 LLM 典型的涌现能力:
-
上下文学习:上下文学习能力是由 GPT-3 首次引入的。这种能力允许语言模型在提供自然语言指令或多个任务示例的情况下,通过理解上下文并生成相应输出的方式来执行任务,而无需额外的训练或参数更新。
-
指令遵循:通过使用自然语言描述的多任务数据进行微调,也就是所谓的
指令微调
。LLM 被证明在使用指令形式化描述的未见过的任务上表现良好。这意味着 LLM 能够根据任务指令执行任务,而无需事先见过具体示例,展示了其强大的泛化能力。 -
逐步推理:小型语言模型通常难以解决涉及多个推理步骤的复杂任务,例如数学问题。然而,LLM 通过采用
思维链(CoT, Chain of Thought)
推理策略,利用包含中间推理步骤的提示机制来解决这些任务,从而得出最终答案。据推测,这种能力可能是通过对代码的训练获得的。
这些涌现能力让 LLM 在处理各种任务时表现出色,使它们成为了解决复杂问题和应用于多领域的强大工具。
检索增强生成
检索增强生成(RAG, Retrieval-Augmented Generation)。该架构巧妙地整合了从庞大知识库中检索到的相关信息,并以此为基础,指导大型语言模型生成更为精准的答案,从而显著提升了回答的准确性与深度。
RAG 的工作流程
RAG VS Finetune
大模型开发的一般流程
搭建 LLM 项目的流程简析(以知识库助手为例)
以下我们将结合本实践项目与上文的整体流程介绍,简要分析知识库助手项目开发流程:
项目规划与需求分析
-
项目目标:基于个人知识库的问答助手
-
核心功能
- 将爬取并总结的 MarkDown 文件及用户上传文档向量化,并创建知识库;
- 选择知识库,检索用户提问的知识片段;
- 提供知识片段与提问,获取大模型回答;
- 流式回复;
- 历史对话记录
-
确定技术架构和工具
- 框架:LangChain
- Embedding 模型:GPT、智谱、M3E
- 数据库:Chroma
- 大模型:GPT、讯飞星火、文心一言、GLM 等
- 前端:Gradio 和 Streamlit
-
数据准备与向量知识库构建
本项目实现原理如下图所示(图片来源):加载本地文档 -> 读取文本 -> 文本分割 -> 文本向量化 -> question 向量化 -> 在文本向量中匹配出与问句向量最相似的 top k 个 -> 匹配出的文本作为上下文和问题一起添加到 Prompt 中 -> 提交给 LLM 生成回答。
-
收集和整理用户提供的文档
用户常用文档格式有 PDF、TXT、MD 等,首先,我们可以使用 LangChain 的文档加载器模块方便地加载用户提供的文档,或者使用一些成熟的 Python 包进行读取。
由于目前大模型使用 token 的限制,我们需要对读取的文本进行切分,将较长的文本切分为较小的文本,这时一段文本就是一个单位的知识。
-
将文档词向量化
使用
文本嵌入(Embeddings)技术
对分割后的文档进行向量化,使语义相似的文本片段具有接近的向量表示。然后,存入向量数据库,完成索引(index)
的创建。利用向量数据库对各文档片段进行索引,可以实现快速检索。
-
将向量化后的文档导入 Chroma 知识库,建立知识库索引
Langchain 集成了超过 30 个不同的向量数据库。Chroma 数据库轻量级且数据存储在内存中,这使得它非常容易启动和开始使用。
将用户知识库内容经过 Embedding 存入向量数据库,然后用户每一次提问也会经过 Embedding,利用向量相关性算法(例如余弦算法)找到最匹配的几个知识库片段,将这些知识库片段作为上下文,与用户问题一起作为 Prompt 提交给 LLM 回答。
-
大模型集成与 API 连接
- 集成 GPT、星火、文心、GLM 等大模型,配置 API 连接。
- 编写代码,实现与大模型 API 的交互,以便获取问题回答。
-
核心功能实现
- 构建 Prompt Engineering,实现大模型回答功能,根据用户提问和知识库内容生成回答。
- 实现流式回复,允许用户进行多轮对话。
- 添加历史对话记录功能,保存用户与助手的交互历史。
-
核心功能迭代优化
- 进行验证评估,收集 Bad Case。
- 根据 Bad Case 迭代优化核心功能实现。
-
前端与用户交互界面开发
- 使用 Gradio 和 Streamlit 搭建前端界面。
- 实现用户上传文档、创建知识库的功能。
- 设计用户界面,包括问题输入、知识库选择、历史记录展示等。
-
部署测试与上线
- 部署问答助手到服务器或云平台,确保可在互联网上访问。
- 进行生产环境测试,确保系统稳定。
- 上线并向用户发布。
-
维护与持续改进
- 监测系统性能和用户反馈,及时处理问题。
- 定期更新知识库,添加新的文档和信息。
- 收集用户需求,进行系统改进和功能扩展。
整个流程将确保项目从规划、开发、测试到上线和维护都能够顺利进行,为用户提供高质量的基于个人知识库的问答助手。
配置github
- 打开网址链接:https://github.com/features/codespaces
- 登录你的 GitHub 账户
- 点击图示 Your repositories
4. 进入自己的存储库列表后,点击图示 New,新建一个存储库
5. 这里根据自己需要设置即可,为方便和安全起见 Add a README file 建议勾上,同时选择 Private(因为课程中用到 API key,注意保护隐私),设置完成后点击 Create repository
6. 创建好存储库后,点击 code 选择 Codespaces, 点击图示 Create codespace on main
7. 等待一段时间后会出现如下界面,接下来操作与 VSCode 相同,可根据需要安装插件调整设置
8. 本地 VSCode 连接 Codespace
- 打开 VSCode,搜索 codespace 安装插件
2. 在 VSCode 的活动栏中,单击远程资源管理器图标
3. 登录 GitHub,根据提示登录即可
4. 可以看到这里有我们刚才创建的 codespace,单击红框连接图标
5. 成功连接到了 codespace
网页关闭后,找到刚才新建的存储库,点击红框框选内容即可重新进入 codespace
免费额度 找到 GitHub 的账户设置后,可以在Plans and usage中看到剩余的免费额度
停止代码空间
停止和启动 codespace_GitHub中文网可停止和启动 codespace 以保存资源和暂停工作。https://github.net.cn/zh/codespaces/developing-in-a-codespace/stopping-and-starting-a-codespace导航到 Sign in to GitHub · GitHub 上的“你的 Codespaces”页面。
- 单击要停止的 codespace 右侧的省略号 (...)。
- 单击“停止 codespace”。
易错点:
1. 环境变量设置错误
当出现如下提示时:
PS C:\Users\app> conda create -n llm-universe python=3.10 conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + conda create -n llm-universe python=3.10 + ~~~~~ + CategoryInfo : ObjectNotFound: (conda:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\app>
CONDA PATH
(系统变量)
-
当前值:
D:\Users\app\miniconda3\condabin\conda.bat
-
说明: 这个路径指向
conda.bat
文件,用于初始化 Conda 环境。 -
建议:
-
推荐设置为 PATH 变量(用户或系统)中的一部分,而不是单独的新变量。
-
最好把
D:\Users\app\miniconda3
和D:\Users\app\miniconda3\Scripts
加入系统或用户的Path
环境变量中,而不是用CONDA PATH
。
-
下一步建议:
-
打开一个新的命令提示符窗口(CMD 或 PowerShell)。
-
输入:
conda --version
来确认 Conda 是否可用并输出版本号。
从截图的命令行输出来看,一切都很顺利:
-
✅ 成功执行了
conda create -n llm-universe python=3.10
。 -
✅ Conda 正在准备安装所需的 Python 3.10 及其依赖项。
-
✅ 环境路径是:
D:\Users\app\miniconda3\envs\llm-universe
。 -
✅ 正常提示是否继续安装(
Proceed ([y]/n)?
)
输入如下:
y
然后回车,Conda 就会开始安装这些包并创建环境。
完成后可以通过以下命令激活该环境:
conda activate llm-universe
显示如下即成功。
当在 VS Code 中运行 conda create -n llm-universe python=3.10
时看到这个提示:
WARNING: A conda environment already exists at 'D:\Users\app\miniconda3\envs\llm-universe' Remove existing environment (y/[n])?
说明这个环境 已经存在,
使用已有环境
-
按
n
回车(不要删除环境); -
然后激活环境并在其中安装你需要的包:
conda activate llm-universe
再执行:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
pip install transformers datasets jupyterlab numpy pandas matplotlib scikit-learn tqdm
2. 没有初始化 conda shell 支持
解决方法:
在 VS Code 终端中运行以下命令(只需运行一次):
conda init
然后 关闭 VS Code 终端,再重新打开一个新的终端,或者重启 VS Code。
再尝试激活:
conda activate llm-universe
成功后,提示会变成类似这样:
scss(llm-universe) C:\Users\app>
这时你就在虚拟环境中了,可以开始安装包。
3. 虽然运行了 conda init
,但 VS Code 的终端还是没有识别到 conda
激活环境的配置,这通常是因为 VS Code 终端未加载更新后的配置文件
解决方法(推荐 PowerShell 用户):
请按以下步骤操作:
🛠 方案:打开「Anaconda Prompt」或「PowerShell(非 VS Code 内置终端)」
-
在 Windows 开始菜单中搜索 Anaconda Prompt 或者 PowerShell。
-
打开后输入:
conda activate llm-universe
-
如果可以正常激活,说明 Conda 初始化成功,VS Code 的终端没正确加载而已。
4. conda
的初始化命令没有正确添加到 PowerShell 的配置文件中。虽然你执行了 conda init
,但 VSCode 的 PowerShell 没有正确读取它。
PS C:\Users\app> conda activate llm-universe >> CondaError: Run 'conda init' before 'conda activate' PS C:\Users\app>
解决方案:手动修复 PowerShell 初始化
请按以下步骤操作:
步骤 1:重新运行初始化命令(确保是为 PowerShell)
bashconda init powershell
这会将 Conda 的初始化代码写入 PowerShell 的配置文件(如 $PROFILE
)。
步骤 2:关闭并重新打开 VSCode 的终端
-
在 VSCode 中:
-
关闭当前终端(
垃圾桶图标
) -
再点
+
新建一个终端窗口
-
或者你也可以 重启 VSCode。
步骤 3:再次激活环境
bashconda activate llm-universe
这时应该能看到 (llm-universe)
出现在提示符前,说明环境成功激活。
附加检查(可选)
如果上面不生效,确保 PowerShell 脚本执行权限是开启的:
方法:
在 VSCode 终端中运行:
powershellSet-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
选择 Y
并回车。
尝试上述操作后再运行 conda activate llm-universe
看是否正常了
5. 在配置 PowerShell 文件时,它遇到了需要管理员权限的问题(提示 "needs sudo")
解决办法:手动创建缺失的文件夹
请按以下步骤操作:
-
打开文件资源管理器。
-
进入路径:
C:\Users\app\Documents\
-
在
Documents
目录下,新建一个文件夹,命名为:
WindowsPowerShell
然后在该文件夹下(C:\Users\app\Documents\WindowsPowerShell\
)新建一个文件:
-
文件名:
profile.ps1
-
文件类型:PowerShell 脚本文件
-
内容如下:
powershell# >>> conda initialize >>> & 'D:\Users\app\miniconda3\shell\condabin\conda-hook.ps1' ; conda activate base # <<< conda initialize <<<
请根据你的 Miniconda 安装路径(看起来是 D:\Users\app\miniconda3
)保持路径一致。
接下来
-
保存该
profile.ps1
文件。 -
重新打开 VSCode 或 PowerShell 终端。
-
运行:
powershellconda activate llm-universe
如果一切正常,conda
应该就可以被正常激活了
相关文章:
Datawhale 5月llm-universe 第1次笔记
课程地址:GitHub - datawhalechina/llm-universe: 本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/ 难点:配置conda环境变量 我用的vscode github方法 目录 重要…...
Linux架构篇、第五章git2.49.0部署与使用
Linux_架构篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:git2.49.0部署与使用 版本号: 1.0,0 作者: 老王要学习 日期: 2025.05.13 适用环境: Centos7 文档说明 这份文档聚焦于在 CentOS 7 环境下部署和…...
南方科技大学Science! 自由基不对称催化新突破 | 乐研试剂
近日,南方科技大学刘心元教授团队联合浙江大学洪鑫教授团队在自由基不对称催化领域取得新进展。课题组开发了一系列大位阻阴离子 N,N,P-配体,用于铜催化未活化外消旋仲烷基碘与亚砜亚胺的不对称胺化反应。该反应表现出广泛的底物兼容性,涵盖具…...
手机换IP真的有用吗?可以干什么?
在当今数字化时代,网络安全和个人隐私保护日益受到重视。手机作为我们日常生活中不可或缺的工具,其网络活动痕迹往往通过IP地址被记录和追踪。那么,手机换IP真的有用吗?它能为我们带来哪些实际好处?本文将为你一一解答…...
【C++详解】类和对象(上)类的定义、实例化、this指针
文章目录 一、类的定义1、类定义格式2、访问限定符3、类域 二、实例化1、实例化概念2、对象大小 三、this指针 一、类的定义 1、类定义格式 class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中…...
C语言—再学习(数据的存储类别)
在c语言中,每个变量和函数都有两个属性:数据类型和数据的存储类别 C的存储类别包括4种:自动挡(auto)、静态的(static)、寄存器的(register)、外部的(extern&…...
软考软件评测师——计算机组成与体系结构(分级存储架构)
一、虚拟存储技术 虚拟存储系统通过软硬件协同实现内存扩展,其核心特征包括: 逻辑容量扩展能力:实际物理内存与外存结合,呈现远大于物理内存的连续地址空间动态加载机制:程序运行时仅加载必要部分到内存,…...
需求跟踪矩阵准确性的5大策略
需求跟踪矩阵的准确性可显著提升软件项目质量,确保需求的全面覆盖、减少遗漏和偏差,有利于优化变更管理,降低返工风险,最终保障产品符合用户预期和业务目标。如果不能保证跟踪矩阵的准确性,可能会导致需求遗漏、测试覆…...
【调度算法】MAPF多智能体路径规划问题
参考链接:https://blog.csdn.net/qq_43353179/article/details/129396325 在这篇博客的基础上对一些省略的部分进行补充。 网站:https://mapf.info/ 可行性判断 1. k-鲁棒性(k-robust MAPF) 在经典 MAPF 中,只要所有…...
迅龙3号基于兆讯MH22D3适配CST328多点触摸驱动开发笔记
MH22D3芯片是兆讯公司新推出的基于cortex-M3内核的新一代芯片,专注于显示应用,其主频高达216Mhz,64KB SRAM,512KB Flash,开发UI应用游刃有余。详细介绍请看:MH22D3新一代显控应用性价比之王 新龙微基于MH22…...
推荐算法工程化:ZKmall模板商城的B2C 商城的用户分层推荐策略
在 B2C 电商竞争激烈的市场环境中,精准推荐已成为提升用户体验、促进商品销售的关键。ZKmall 模板商城通过推荐算法工程化手段,深度挖掘用户数据价值,制定科学的用户分层推荐策略,实现 “千人千面” 的个性化推荐,帮助…...
你对于JVM底层的理解
JVM(Java虚拟机)是一个执行Java字节码的虚拟机,负责将Java程序的代码转化为能够在不同操作系统上运行的机器码。为了深入理解JVM的底层工作原理,可以从以下几个方面入手: 1. 类加载机制 JVM的类加载机制是其核心之一…...
深入探讨 Java 性能术语与优化实践
在 Java 开发中,性能优化是确保应用程序高效运行的关键。无论是构建实时处理系统还是大规模分布式服务,理解性能术语和分析方法都至关重要。本文将详细介绍 Java 性能中的核心术语,包括延迟(Latency)、吞吐量(Throughput)、利用率(Utilization)、效率(Efficiency)、…...
简单介绍Qt的属性子系统
深入理解Qt的属性系统 笔者最近正在大规模的开发Qt的项目和工程,这里笔者需要指出的是,这个玩意在最常规的Qt开发中是相对比较少用的,笔者也只是在Qt的QPropertyAnimation需要动画感知笔者设置的一个属性的时候方才知道这个东西的。因此&…...
【PmHub后端篇】PmHub中基于自定义注解和AOP的服务接口鉴权与内部认证实现
1 引言 在现代软件开发中,尤其是在微服务架构下,服务接口的鉴权和内部认证是保障系统安全的重要环节。本文将详细介绍PmHub中如何利用自定义注解和AOP(面向切面编程)实现服务接口的鉴权和内部认证,所涉及的技术知识点…...
消息~组件(群聊类型)ConcurrentHashMap发送
为什么选择ConcurrentHashMap? 在开发聊天应用时,我们需要存储和管理大量的聊天消息数据,这些数据会被多个线程频繁访问和修改。比如,当多个用户同时发送消息时,服务端需要同时处理这些消息的存储和查询。如果用普通的…...
掌控随心 - 服务网格的流量管理艺术 (Istio 实例)
掌控随心 - 服务网格的流量管理艺术 (Istio 实例) 想象一下,没有服务网格的时候,我们要实现像“将 1% 的用户流量导入到新版本应用”、“根据用户设备类型访问不同后端”、“模拟下游服务故障”这类高级流量策略,通常需要在代码、负载均衡器、API 网关等多个地方进行复杂且分…...
Github 2025-05-13 Python开源项目日报 Top10
根据Github Trendings的统计,今日(2025-05-13统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10TypeScript项目1 ComfyUI:强大而模块化的稳定扩散GUI 创建周期:399 天开…...
Spring Boot 自动装配原理详解
Spring Boot 的自动装配(Auto-Configuration)是其核心特性之一,它极大地简化了 Spring 应用的配置过程。通过自动装配,Spring Boot 能够根据项目中的依赖(例如,添加了 Spring Data JPA 依赖后自动配置数据库…...
Python核心数据类型全解析:字符串、列表、元组、字典与集合
导读: Python 是一门功能强大且灵活的编程语言,而其核心数据类型是构建高效程序的基础。本文深入剖析了 Python 的五大核心数据类型——字符串、列表、元组、字典和集合,结合实际应用场景与最佳实践,帮助读者全面掌握这些数据类型…...
索尼(sony)摄像机格式化后mp4的恢复方法
索尼(sony)的Alpha 7 Ⅳ系列绝对称的上是索尼的“全画幅标杆机型”,A7M4配备了3300万像素的CMOS,以及全新研发的全画幅背照式Exmor R™CMOS影像传感器,搭载BIONZ XR™影像处理器,与旗舰微单™Alpha 1如出一辙。下面我们来看看A7M4…...
Kubernetes容器运行时:Containerd vs Docker
Containerd 和 Docker 是容器技术领域的两个核心组件,它们在功能定位、架构设计、性能特点及适用场景上有显著差异。以下是两者的详细对比分析: 一、定位与功能 特性DockerContainerd核心定位完整的容器平台,包含构建、运行、编排等全生命周…...
免费专业级 PDF 处理!SolidPDF OCR 识别 + 精准转换批量处理
各位办公小能手们!今天咱来聊聊一款超牛的软件——SolidConverterPDF。这可是个专业的多功能PDF处理工具,啥格式转换、文档编辑、扫描识别,它都能搞定!下面我就给大伙详细唠唠它的厉害之处。 先说说它的核心功能。 一是PDF格式转换…...
电子电器架构 --- 区域计算架构(Zonal Compute)备战下一代电子电气架构
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...
API的学习总结(上)
在 Java 中,API 指的是 Java 提供的一系列类、接口、方法和工具,用于开发 Java 应用程序。Java API 是 Java 平台的核心组成部分,它提供了丰富的功能,包括基础数据类型、集合框架、输入输出、网络编程、多线程、数据库连接等。 核…...
Spring Boot之Web服务器的启动流程分析
如何判断创建哪种web容器:servlet?reactive? 我们在启动Spring Boot程序的时候,会使用SpringApplication.run方法来启动,在启动流程中首先要判断的就是需要启动什么类型的服务器,是servlet?或者…...
代码随想录算法训练营第六十三天| 图论9—卡码网47. 参加科学大会,94. 城市间货物运输 I
每日被新算法方式轰炸的一天,今天是dijkstra(堆优化版)以及Bellman_ford ,尝试理解中,属于是只能照着代码大概说一下在干嘛。 47. 参加科学大会 https://kamacoder.com/problempage.php?pid1047 dijkstra(…...
RAG之大规模解析 PDF 文档全流程实战
PDF 文档在商业、学术和政府领域无处不在,蕴含着大量宝贵信息。然而,从 PDF 中提取结构化数据却面临着独特的挑战,尤其是在处理数千甚至数百万个文档时。本指南探讨了大规模解析 PDF 的策略和工具。 PDF解析挑战 PDF 的设计初衷是为了提供一致的视觉呈现,而非数据提取。这…...
uart16550详细说明
一、介绍 uart16550 ip core异步串行通信IP连接高性能的微控制器总线AXI,并为异步串行通信提供了 控制接口。软核设计连接了axilite接口。 二、特性 1.axilite接口用于寄存器访问和数据传输 2.16650串口和16450串口的软件和硬件寄存器都是兼容的 3.默认的core配置参数…...
Docker 环境安装(2025最新版)
Docker在主流的操作系统和云平台上都可以使用,包括Linux操作 系统(如Ubuntu、 Debian、Rocky、Redhat等)、MacOS操作系统和 Windows操作系统,以及AWS等云平 台。 Docker官网: https://docs.docker.com/ 配置宿主机网…...
Comparator不满足自反性错误,Comparison method violates its general contract
APP运行退出,跟踪信息 java.lang.IllegalArgumentException: Comparison method violates its general contract! Collections.sort(idxsList);//按score升序排列 查看idxs类 public int compareTo(Idxs o) { //重写compareTo方法 return (int) (this.g…...
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一)
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一) 引言 在复杂的业务系统中,安全控制(认证、授权、加密)是核心需求。相比于 Spring Security 的重量级设计,Apache Shiro 凭借其简洁的 API 和灵活的扩…...
如何界定合法收集数据?
首席数据官高鹏律师团队 在当今数字化时代,数据的价值日益凸显,而合法收集数据成为了企业、机构以及各类组织必须严守的关键准则。作为律师,深入理解并准确界定合法收集数据的范畴,对于保障各方权益、维护法律秩序至关重要。 一…...
Flask+HTML+Jquery 文件上传下载
HTML 代码: <div id"loadingIndicator" style"display:none;"><div class"spinner"></div> </div> <!-- 请求过程中转圈圈 --> <form action"" method"post" enctype"m…...
MapReduce打包运行
(一)maven打包 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序(例如:jar…...
国产化Word处理控件Spire.Doc教程:如何使用 C# 从 Word 中提取图片
通过编程方式从 Word 文档中提取图片,可以用于自动化文档处理任务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。本文将演示如何使用 C# 和 Spire.Doc for .NET 库从 Word 文件…...
07 mysql之DQL
一、什么是DQL DQL 是 SQL 的一部分,专门用于查询数据。核心命令是 SELECT,是最常用的命令,支持: 简单查询条件过滤排序与分页多表连接聚合统计子查询与复杂逻辑二、基础查询语法 SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件表达式 GROUP BY 分组字段 HAVING 分组条件…...
spark-standalone
一、定义:Standalone 模式是一种独立的集群部署模式,自带完整服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。 二、配置步骤 1.和前面一样拉到hadoop101的/opt/module这个目录里面。 2.压缩 3.重命名为spark-sta…...
运行Spark程序-在shell中运行 --SparkConf 和 SparkContext
SparkConf 类用于配置 Spark 应用程序的各种参数。通过 SparkConf 类,你可以设置应用程序的名称、运行模式(如本地模式、集群模式)、资源分配(如内存、CPU 核心数)等。主要作用配置应用程序参数:可以设置 S…...
分割任务 - 数据增强
语义分割 - FCN : 数据预处理/数据增强 算法源码实例 base_size520 crop_size480 flip_prob0.5if train_val train:self.transforms transforms.Compose([transforms.RandomResize(int(base_size*0.5), int(base_size*2)),transforms.RandomHorizontalFlip(flip_…...
基于C#+MySQL实现(WinForm)企业设备使用信息管理系统
企业设备使用信息管理系统 引言 企业的设备管理在企业的生产制造和管理过程之中意义比较重大,明确企业的设备的产权和维护成本对于企业的成本控制和财务管理之中起到了重要的作用。随着市场竞争的加剧,现代企业所处的市场环境发生了深刻的变革…...
JavaScript异步编程 Async/Await 使用详解:从原理到最佳实践
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…...
Babylon.js学习之路《四、Babylon.js 中的相机(Camera)与视角控制》
文章目录 1. 引言:为什么相机是 3D 场景的“眼睛”?1.1 相机的核心作用1.2 常见相机类型概览 2. 相机基础参数解析2.1 通用属性2.2 相机坐标系 3. 详解常用相机类型3.1 自由相机(FreeCamera)3.2 弧形旋转相机(ArcRotat…...
MCP Server多节点滚动升级一致性治理
飞书云文档原链接地址:https://ik3te1knhq.feishu.cn/wiki/W8ctwG2sAiPkrXkpl7ocP0g0njf [!TIP] MCP Server 多节点部署时,滚动发布,MCP Client 侧使用的 Client 连接保证使用的是最新的工具配置信息 后续推进:按比例使用旧、新实…...
多线程(二)
今天先来了解一个上一期的遗留概念 —— 前台线程与后台线程 一 . 前台线程与后台线程 大家应该多多少少都听过酒桌文化,咱们平常吃饭,座位次序是没有那么多讲究的,但是在跟领导吃饭,或者出席宴会和一些重要场所的饭局时&#…...
2025年,大模型LLM还有哪些可研究的方向?
近两年LLM在学术界与工业界的发展大家都有目共睹。到了今年,以预训练LLM为代表的大模型PK上半场已然结束,接下来就要进入下半场大模型2.0时代了。 那么在这新赛道,关于大模型我们还有什么可做的创新?要知道,如今的大模…...
VS打断点调试,无法命中断点或断点失效,解决方法
1.打开需要打断点的模块,点击属性,将C/C常规的调试信息格式改为程序数据库(/Zi) 2.将C/C的优化禁用(/Od) 3.将链接器中的生成调试信息改为生成调试信息(/DEBUG) 注:如果需…...
ELF文件详解
ELF 文件不仅仅是一个格式,它是 Linux 世界中程序的"灵魂容器",承载着程序从编译到执行的整个生命周期。 今天咱们来聊一个看起来高深,实际上理解起来其实挺简单的话题—— ELF 文件。 不知道你有没有想过:我们敲下./…...
【学习笔记】Shell编程---流程控制语句
最近学了好多个流程控制语句,都有点混乱了,赶紧先把各种用法记录下来! if 语句 语法格式: if 条件测试命令串 then 条件为真时执行的命令 else 条件为假时执行的命令 fi 以关键字if开头,后跟条件测试表达式&…...
TensorFlow 常见使用场景及开源项目实例
TensorFlow 常见使用场景及开源项目实例 摘要 本文详细介绍了 TensorFlow 在多个领域的典型应用及其对应的开源项目案例。涵盖了图像处理、自然语言处理、语音音频处理、推荐系统与时间序列预测、移动端与边缘计算以及生成式模型与创意应用等多方面内容,列举了大量…...