使用Axolotl进行LoRA微调(配置文件详解)-方案选型对比

news2026/5/5 2:27:39
1. 问题背景与选型目标当一个技术团队决定“用 LoRA 微调一个大语言模型”时立刻会面临一个比选模型更隐蔽、但影响更深远的选择用什么样的工具链来完成这次训练标题里的“使用 Axolotl 进行 LoRA 微调配置文件详解-方案选型对比”表面看是介绍一个工具的配置实际暴露了一个真实的企业决策困境在 LoRA 微调这个具体任务上市面上已经有 Hugging Face PEFT手写代码、LLaMA-Factory、Unsloth、Axolotl 等多种方案。它们都能“跑起来”一个 LoRA但在团队构成、工程周期、长期维护、定制深度、成本控制等维度上差异极大。这个选择不是“哪个框架好用”的品味问题它会直接决定第一个可工作版本需要 2 天还是 2 周。将来把微调流程嵌入生产流水线时是要重构代码还是平滑过渡。当模型、数据集规模增长时现有方案是优雅扩展还是变成技术债。团队需要招聘 PyTorch 基础扎实的工程师还是懂配置文件就能干活的人。因此本文的核心决策问题是**在中小团队、企业级 AI 落地场景下进行 LoRA 微调时应该在 Axolotl、LLaMA-Factory、Unsloth、手写 PEFT 这四种主流方案之间如何选择才能平衡快速交付、工程可控、成本合理和长期可维护性。**将分别从场景、维度、工程真实体验、成本风险等角度拆解最后给出可直接落地的决策框架。2. 选型对象定义与边界明确本次比较的四个对象及其在系统中的层级避免把不同层面的东西拿来“不公平对比”。手写 PEFT基于 Hugging Facepefttransformersdatasets层级底层库组合需要开发者亲自编写数据加载、训练循环、LoRA 配置、保存和评估逻辑。本质是“自己组装训练流程”。Axolotl层级配置驱动的有状态训练框架。通过 YAML 文件描述模型、数据集、适配器LoRA/QLoRA、量化、训练参数等框架自动组装训练流程。底层仍使用peft、transformers、deepspeed/fsdp等。目标是“减少样板代码让实验可复现、可管理并与云训练环境友好对接”。LLaMA-Factory层级功能全面的微调平台。不仅支持 LoRA/QLoRA还覆盖全量微调、RLHF、DPO 等。提供 Web UIGradio和 CLI内置丰富的数据集处理模板和中文模型适配。目标是“让非工程背景的人也能轻松微调模型”。Unsloth层级训练加速与显存优化库。通过手写 Triton/CUDA kernel 替换 Hugging Face 中的部分算子、重写反向传播、手动优化内存分配在相同的模型和硬件上获得 2-5 倍的训练速度和 50-70% 的显存节省。可以独立使用也可嵌入其他框架包括 Axolotl、LLaMA-Factory 或手写代码作为加速后端。关键界定这四个对象并非完全平级。手写 PEFT、Axolotl、LLaMA-Factory 是“训练流程组织方式”的不同抽象等级Unsloth 则更像是“底层引擎的高效替代品”。实际企业选型时不会简单地四选一而是考虑“以哪种方式为主并是否需要融合 Unsloth”。本文比较时会明确区分这种正交关系。3. 典型业务场景拆解场景一中小企业知识库问答RAG 的检索部分用向量库生成部分需定制核心目标让通用基座模型适应企业内部术语、文档风格提升回答准确率同时不产生过高训练成本。最关键约束算力通常只有单张 24GB 消费级显卡如 3090/4090预算极有限需求变化快需要快速迭代实验。最怕踩的坑框架学习成本过高导致项目延期微调流程与部署链割裂后期需要重写推理服务集成代码显存不足导致无法加载 7B 模型。场景二垂直领域客服 / 工单分类与回复核心目标在特定领域数据上微调使模型输出格式严格、专业术语准确可稳定集成到工单系统。最关键约束数据量少但质量高要求训练过程稳定、可复现并且能方便地导出模型到生产环境如 vLLM、TGI。最怕踩的坑训练脚本手写遗留硬编码路径交接给后端团队时重现训练环境困难缺少数据集版本管理模型效果波动后无法回溯。场景三文本生成与内容生产团队营销、自媒体核心目标利用少量自建文案数据微调出具有公司特定风格或人设的写作模型。最关键约束团队成员可能没有很强的工程或底层 PyTorch 能力更需要图形界面或极简脚本希望快速试错不同基座模型和提示词组合。最怕踩的坑上手复杂的训练框架后因参数理解不当导致训练崩溃或效果极差过度依赖 Web UI却不能在无头服务器上复现。场景四中小型 AI 创业团队要自建训练微服务或平台核心目标把 LoRA 微调能力以 API 或任务队列形式提供给公司内部或客户强调流程标准化、可观测、可调度。最关键约束需要将训练流程完全自动化能从配置或 API 动态生成任务并能和现有的云原生基础设施K8s、对象存储结合。最怕踩的坑选了一个只有 GUI、无成熟 CLI/SDK 的方案导致无法形成可编程的流水线框架对分布式策略支持弱资源增长后需要“换引擎”。4. 关键比较维度设计为确保对比贴近工程决策实况从以下 10 个维度展开。每个维度的重要性解释学习成本决定团队从零到产出第一个有效模型的时间直接影响项目早期验证速度。开发复杂度不只是初期写代码更关注数据处理、实验配置管理、调试难度、同工程化 CICD 的兼容性。微调门槛如支持 QLoRA 的易用程度、是否自动处理量化、是否方便切换不同基座模型等决定“能训什么模型”“需要什么卡”。推理部署衔接训练完成的 LoRA 权重如何与推理引擎结合是否需要额外脚本或格式转换影响服务化周期。社区生态与资料丰富度遇到 bug 和边界情况时能否快速找到解决方案框架的更新频率和兼容性承诺。与主流模型兼容性是否支持 Llama、Mistral、Qwen、ChatGLM 等常见中文模型是否跟随 Hugging Face 生态快速适配新架构。性能与资源占用训练速度、显存开销、支持的最大上下文长度决定硬件预算和时间成本。适合的团队能力结构此方案要求团队具备 PyTorch 深度操作能力还是只需调配置文件抑或完全是 GUI 操作。可扩展性当需要多卡训练、多机训练、结合 Deepspeed/FSDP、自定义损失函数等高级需求时方案是否还能胜任。生产维护成本长期来看升级依赖、修复漏洞、适配新模型版本时代码/配置的改动量有多大是否需要专门的人员持续维护。5. 逐项深度对比5.1 手写 PEFT定位给有深度学习工程能力的团队提供的最高自由度微调方案。最大优势一切行为透明数据处理、训练循环、保存逻辑完全自控。零框架锁定依赖只有 Hugging Face 的transformers和peft社区标准库迁移风险极低。适合高度定制如自定义损失函数、多任务交替训练、复杂的数据拼接格式等其他高度封装的框架往往难以插手。最明显短板每个项目都要重新写训练脚本数据加载错漏、LoRA 配置遗漏、梯度累积步数计算错误等低级问题反复出现。缺乏标准化的实验管理不同成员写的脚本参数风格不同交接困难。“多卡训练”要手写accelerate或deepspeed配置排错耗时。最适合什么团队拥有 1 名以上对 Transformers 和 PyTorch 非常熟悉的算法工程师并且有长期维护内部训练代码库的意愿。最不适合什么团队希望 3 天就拿出微调系统原型的中小团队人员流动导致代码维护风险高的小部门。真实工程落地的常见问题数据预处理时没有和 tokenizer 严格对齐导致 EOS token 截断混乱训练不稳定。手写的 LoRA 配置手动指定target_modules经常与模型实际层名不匹配导致 LoRA 未真正注入任何参数。直接手写训练循环容易忽略学习率调度器的正确步骤数计算造成训练效果不佳。5.2 Axolotl定位以 YAML 配置文件为中心的、面向可复现实验和云训练的有状态微调框架。最大优势配置文件即文档一次调通的 YAML 可以直接版本控制、分享、复现极大降低沟通成本。内置大量实用功能QLoRA、数据集混合同步、sample packing、模型合并导出、wandb 集成等全由官方维护质量一致。与云端 Runpod、Lambda Labs 等集成良好提供官方 Docker 镜像可快速从本地切换到云 GPU。默认支持 Unsloth 作为加速选项可以无痛融合底层优化。最明显短板配置文件数百个参数初学者可能因错误配置导致静默失效例如不报错但 LoRA 未生效。内部逻辑比较厚重自定义数据集格式、特殊损失函数、复杂 prompt template 时可能需要深入理解框架的数据拼接流程甚至改源码。更新相对激进新版本可能改变 YAML 参数名或默认行为需要维护项目配置的兼容性。最适合什么团队有工程规范意识希望训练流程“可以交给别人也能跑”并且需要频繁实验不同模型/数据集组合的中型团队。最不适合什么团队需要极深定制训练循环如 agent 交互式强化学习的团队想要一个完全的“无代码”图形操作的业务人员。真实工程落地常见问题模板chat_template配置不当时对话数据集被错误拼接模型学到的格式与实际推理时的 prompt 不一致上线后效果大打折扣。本地小规模调试通过但转移到多卡环境时因未正确配置 DeepSpeed stage 2/3 或梯度累积导致 OOM追溯问题需对 Axolotl 和 deepspeed 配置都有了解。5.3 LLaMA-Factory定位提供 GUI 和 CLI 的双模式微调平台覆盖从数据处理到评估的全流程着重降低门槛。最大优势极其易用的 Web 界面支持拖拽上传数据集、预览、可视化调整参数大幅缩短 PoC 时间。内置数十种中文数据集的识别和预处理逻辑对中文场景特别友好如身份扮演、指令微调已预置模板。支持 LoRA、全量微调、RLHF/DPO 等众多训练方法一个平台搞定大部分 LLM 微调需求。导出和合并模型功能完善可以直接推送到 Hugging Face Hub方便团队内共享。最明显短板通过 Web UI 操作爽一时但无头服务器的自动化部署较复杂为了 CI/CD 有时需要反过来研究其 CLI 和源码。训练过程的内部数据流较固如果需要特殊的数据集构造方式不在预设模板内自行定制可能比 Axolotl 更吃力。框架体量大升级可能引入破坏性变更影响现有的训练管线。此前版本切换部分数据集格式发生过兼容问题。最适合什么团队有业务专家但缺乏深度工程能力的团队需要快速向管理层展示微调效果的场景中文垂直领域公司。最不适合什么团队需要把训练流程完全代码化集成到大型 MLOps 流水线的团队并非不能但适配成本高于 Axolotl。真实工程落地常见问题在 GUI 上成功训练后想用相同配置在服务器命令行复现发现参数传递错误原因是 UI 上部分隐藏默认值与 CLI 默认值不同。多轮对话数据集格式化不严谨因为平台自动模板化未仔细检查 tokenization 结果导致实际截断位置不合理。5.4 Unsloth作为底层加速器定位专做训练加速和显存优化的引擎通常不作为独立“微调方案”使用而是嵌入其他方案中。最大优势惊人的加速效果相同 7B 模型、单卡 24GB速度可达原生 HF 的 2 倍以上显存减少 40%-60%可以直接用 24GB 显存训练之前需要 48GB 全量微调的模型QLoRA 下。GPU 利用率更高训练时间缩短直接等于云成本降低。提供简便的FastLanguageModel包装 API只需几行代码即可在自有脚本中启用也给出 Axolotl 和 LLaMA-Factory 的集成方法。最明显短板不是完整的训练框架不提供数据集管理、配置版本化、实验跟踪等功能必须依附其他方案。支持模型范围受限主要是 Llama、Mistral、Gemma 等流行架构对冷门或新型模型可能无法立即可用。内核优化代码相对黑盒一旦出现数值精度或梯度异常普通团队难以调试。最适合什么团队所有关心训练速度和显存成本的团队不论大小。最适合与 Axolotl 或手写 PEFT 配合使用。最不适合什么团队业务依赖未列入支持列表的小众模型且等不及社区适配的团队。真实工程落地常见问题升级 Unsloth 版本后有模型不支持当前的 transformers 版本引发依赖冲突导致训练中断。和 QLoRA 的 bitsandbytes 配合时部分旧卡或定制 CUDA 环境可能出现量化内核加载失败需要手动降级。6. 真实工程视角对比用“谁能更快解决具体问题”的思路比较四种方案。谁更容易快速跑通第一个版本LLaMA-Factory Axolotl ≈ Unsloth手写 纯手写 PEFT。LLaMA-Factory 的 Web 模式可在半小时内完成数据上传和启动训练Axolotl 需查阅文档写 YAML但一次通即可手写则需要把数据加载、模型准备、训练循环都走一遍。谁更适合长期维护Axolotl 手写 PEFT ≈ LLaMA-Factory。Axolotl 的 YAML 版本化管理是天然的维护资产手写 PEFT 依赖工程纪律如果团队文档规范则好否则容易腐化LLaMA-Factory 界面自动化流程修改起来可能涉及平台代码维护成本不低。谁更适合单卡/低显存环境Unsloth 加持的方案无论 Axolotl 还是手写显著领先其次 LLaMA-Factory(也支持 Unsloth 集成)。因此比较键不在顶层框架而在是否开启了 Unsloth。谁更适合复杂训练策略多轮 RLHF、自定义损失、动态数据集手写 PEFT Axolotl LLaMA-Factory。当训练目标超出标准 SFT 时框架越抽象越需要“钩子”或改源码。手写可任意修改Axolotl 有部分插件机制但仍有边界LLaMA-Factory 主要围绕既有的功能集。谁更适合中文场景LLaMA-Factory Axolotl ≈ 手写 PEFT。LLaMA-Factory 内置大量中文数据集识别和模板上手更快且中文社区活跃问题解答及时。Axolotl 本身无特定语言偏好但只要正确配置 tokenizer 和模板也能很好支持中文。谁更适合企业级标准化流程CI/CD、模型注册、自动评测Axolotl 手写 PEFT LLaMA-Factory。Axolotl 配置即代码可轻松集成到 GitOps 和 MLOps 平台启动训练只需axolotl train config.yml手写脚本也能集成但需要额外封装LLaMA-Factory 的自动化需要额外脚本调用其 CLI稍显间接。谁更适合做二次开发例如把微调能力打包成 SaaS手写 PEFT Axolotl LLaMA-Factory。二次开发意味着要深入控制训练过程、管理多种配置模板、自定义前后端交互。手写无框架约束最灵活Axolotl 因其 CLI 和可配置性也很适合封装为后端服务LLaMA-Factory 更适合内部使用作为基础封装成商业产品则要考虑其 GPL 协议如适用。谁更适合中小团队而不是大厂平台团队LLaMA-Factory ≈ Axolotl 手写 PEFT。中小团队需要尽可能复用现成功能、少写代码、快速看到反馈。LLaMA-Factory 和 Axolotl 都能在极低代码量下完成训练手写适合工程能力富余的团队对中小团队有隐性人才成本。7. 成本与资源评估从硬件、时间、人力和持续成本四个维度分析。硬件成本在单卡 24GB 下训练 7B 模型QLoRA四种方案本身都能跑通但Unsloth可使训练时间减少约 50% 以上直接节省云 GPU 费用。Axolotl 和 LLaMA-Factory 均可开启 Unsloth 加速因此是否使用 Unsloth 是硬件成本差异的核心而非顶层框架。如果必须双卡 48GB 全量微调 13B 模型手写 PEFT Deepspeed 和 Axolotl 支持较成熟LLaMA-Factory 也支持但早期版本稳定性略逊需要评估。时间成本从零到跑出第一个 LoRA 模型手写 PEFT 需要 2~5 天取决于工程师经验Axolotl 约 1~2 天LLaMA-Factory 半天到 1 天Unsloth 作为增强可以在任何方案基础上额外节省 0.5 天集成时间。建成可重复使用的稳定训练流水线Axolotl 因其配置文件化总周期较短手写 PEFT 需要额外搭建管理工具增加 3~5 天LLaMA-Factory 若需完全自动化需要额外写脚本和测试也要 3 天以上。人力成本手写 PEFT 要求团队有能熟练操作 PyTorch 和 Hugging Face 生态的工程师且需要长期维护Axolotl 可降低工程要求至中级但需理解配置逻辑LLaMA-Factory 可以让非工程人员操作但对“平台管理员”提出额外要求Unsloth 的引入几乎不增加人力成本。学习曲线LLaMA-FactoryGUI最平缓Axolotl 次之需学 YAML 结构手写 PEFT 最陡峭。维护成本手写代码库若不主动治理会随人员流动变成无法轻易改动的“祖传代码”Axolotl 维护成本集中于跟随版本更新测试配置兼容性LLaMA-Factory 升级可能牵一发而动全身需评估影响Unsloth 作为底层库升级比较轻量但需关注兼容。看似便宜但实际成本高的情况追求极致低成本而选择手写 PEFT但团队没有系统化构建实验管理能力后续实验无法复现、人员离职代码无人能接导致“沉默成本”上浮。认为 LLaMA-Factory 一劳永逸却忽视了工程化集成时需额外投入的自动化改造总成本可能反超 Axolotl。未开启 Unsloth长时间训练浪费 GPU 小时在云上多花 30%~60% 的费用逐步侵蚀预算。8. 风险与踩坑分析风险1选了功能强但团队不会用的方案典型如选了 Axolotl但团队没人能读懂 DeepSpeed 配置或 QLoRA 的量化参数含义导致频繁 OOM 或训练崩溃项目停滞。规避在选择框架前用半天时间实际跑通一个最小样例证实团队能力覆盖。风险2选了上手简单但扩展性差的方案LLaMA-Factory 在 PoC 后想深改训练循环或增加自定义损失如果不熟悉源码结构硬改容易引入 bug。规避评估当前需求是否为最终形态若未来 3 个月很可能需要深度定制应倾向 Axolotl 或手写。风险3误把底层库和上层框架做同级比较将 Unsloth 直接视为训练框架来比较导致忽略其需要与其他方案协同。规避明确四个对象的分层选型时决定“使用什么训练流程框架”和“是否启用 Unsloth”两个独立决策。风险4忽略部署链路造成后期重构训练时保存了 LoRA 适配器却发现推理服务TGI/vLLM不直接支持该格式还需转 base model 合并等步骤。规避从实验阶段就用最终生产的推理方案验证一次完整通路确保 Axolotl 的merge_lora或 LLaMA-Factory 的导出流程与推理环境兼容。风险5只看训练效果不看长期维护成本手写脚本短期灵活但三个月后回头看参数散落、数据集路径难回溯。规避即使是手写也要强制使用配置文件YAML/JSON管理训练超参实现“配置与代码分离”与 Axolotl 理念趋同。风险6低估数据处理复杂度无论哪个方案80% 的时间花在数据清洗、格式化和验证上。框架的自动识别模板给人以假象无视数据处理导致训练出现隐式问题。规避花时间用 tokenizer 实际编码一批数据并解码回文本验证 chat_template 效果不可仅靠框架默认模板。风险7高估团队的分布式能力以为只需要选个支持 Deepspeed 的框架就能顺畅多卡训练实际上多机通信、NCCL 调试、batch size 除以卡数等细节足以让没有经验的人崩溃。规避先用单卡多卡模拟accelerate 的 multi-GPU在单机上验证再考虑多机且首次最好不要选择极限大模型规模。风险8忽略社区活跃度与后续版本兼容问题部分小众框架一度火热但半年后停更而基座模型迭代很快框架若不跟进将被迫迁移。Axolotl 和 LLaMA-Factory 更新频繁但也有破坏性变更手写无此风险。Unsloth 紧跟 Llama/Mistral 架构有被淘汰风险吗较低因为其解决的是底层效率的通用问题。规避关注最近 3 个月的提交频率、issue 响应选择社区活跃的项目。9. 推荐决策框架根据以下问题逐步筛选能清晰定位适合的方案。Q1: 团队是否有至少一名成员能熟练使用 PyTorch 和 Hugging Face 进行模型训练和调试否 → 必须依托高抽象框架。若仅需 PoC 或内部使用 →LLaMA-Factory。若依然希望建立标准化、可代码化管理 →Axolotl图形界面无但文档丰富。是 → 保留手写 PEFT 的选项。Q2: 是否需要在 2 周内快速交付一个可工作、可向业务方展示的微调系统是 → 选择 LLaMA-Factory 或 Axolotl避免手写带来的初期延迟。否但需要极高自由度 → 选择手写 PEFT并建立工程规范。Q3: 未来 6 个月训练目标是否可能超出标准 SFTLoRA/全量例如需要自定义损失函数、强化学习反馈循环、复杂多任务调度是 → 首选手写 PEFT次选 Axolotl其扩展性较好。否 → 高度封装方案更省成本。Q4: 是否需要将训练流程嵌入自动化流水线如 K8s job、Airflow dag并作为产品的一部分是 → 最推荐Axolotl因为其“一个 YAML 一个 job”的模式天然适合容器化。手写 PEFT 亦可但需要额外封装。LLaMA-Factory 做自动化并非不可能但不直接。否主要手动触发训练 → LLaMA-Factory 的优势巨大。Q5: 是否长期在单卡 24GB 显存环境上工作且成本敏感是 → 无论选择哪种顶层方案强制性集成 Unsloth作为加速器。Axolotl 和 LLaMA-Factory 都已支持在各自配置中开启即可。Q6: 团队是否主要面向中文场景且内部多数人不熟悉英文文档是 → LLaMA-Factory 的中文资料和社区更具优势Axolotl 文档英文为主但配置参数直观可接受。预算有限但想要工程规范的中小团队最佳实践组合Axolotl Unsloth YAML 版本控制。这以较低技能门槛实现了接近大厂的基础设施效果。除非团队极度缺工程能力才用 LLaMA-Factory 作为全包方案。10. 场景化结论个人开发者 / 学生推荐LLaMA-Factory Unsloth。理由零命令行启动可迅速实验各种公开数据集和模型且显存利用高效。需要深入学习时再读 Axolotl 或手写 PEFT。技术博客作者 / 内容团队推荐LLaMA-Factory制作内容与 PoC或Axolotl写教程分享。理由LLaMA-Factory 易于截图演示Axolotl 的 YAML 配置易于在文章中呈现和解释吸引技术人员。中小企业技术团队3~10 人有一定工程能力推荐Axolotl Unsloth配置用 YAML 存入 Git训练任务容器化。理由平衡工程规范与成本推动训练流程走向自动化避免代码腐化。LLaMA-Factory 可作为初期原型但不应直接用于生产流水线。有算法工程师但没有平台团队的公司推荐Axolotl 为主手写 PEFT 作为高级需求补充。理由Axolotl 可减少算法工程师写训练样板代码的时间让他们聚焦数据和模型调优。需要特殊训练策略时再切入手写但可将经验沉淀回 Axolotl 配置或插件。有训练平台建设能力的团队需要多租户、调度、计费推荐以手写 PEFT 为基础定制化构建训练后端然后选择性吸收 Unsloth 加速。理由商业平台需要极致控制依赖和授权Axolotl 或其他 GPL 框架可能引入许可证风险且二次开发灵活度不如自研。但自研成本高非大团队不宜。11. 最终结论没有银弹式的 LoRA 微调方案只有最适合当下团队阶段和业务目标的工具组合。最务实的优先级判断如果你仅在单卡、小团队要快速出效果优先使用 LLaMA-Factory Unsloth构建第一个可用版本让决策者看到效果然后立刻规划向Axolotl Unsloth的工程化迁移。如果你从一开始就打算将微调作为持续迭代、需要复现和集成的服务直接选 Axolotl Unsloth其配置化的本质让你在“看似多花了两天学习配置”之后节省下数周的无序开发时间。只有当你的训练范式变得极其特殊例如训练过程中需要交互环境、全新的注意力机制实验、多模型联合强化学习等或者你需要构建商业微调平台时才应选择纯手写 PEFT 路线并锁定 Hugging Face 生态避免引入不必要的框架依赖。Unsloth 不是可选项它是所有显存和速度敏感场景的必选项除非你不支持所需模型架构。集成它几乎零成本收获是训练时间减半、单卡能探索更大批量或更长上下文。最后对于中小企业最务实的建议是把工程复杂度外包给维护良好的框架Axolotl把硬件效率交给底层加速库Unsloth把宝贵的算法人才留在数据质量和业务理解上而不是浪费在反复编写千篇一律的训练循环上。这样的技术栈不会让团队丧失控制力反而通过配置化和版本管理让实验可复现、让交接零障碍这才是快速落地 AI 应用的正确姿势。

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

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

相关文章

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…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…