昇腾服务器+Dify+one api部署DeepSeek-R1-Distill-Qwen-32B W8A8:RAG本地知识库与双实例负载均衡实战
1. 昇腾服务器上跑 DeepSeek-R1-Distill-Qwen-32B W8A8 到底难在哪先说清楚这套东西是什么、能做什么、适合谁。昇腾服务器Atlas 800 9000、Atlas 800T A2、推理卡、嵌入式开发板这一系列是 aarch64 架构的 NPU 硬件平台DeepSeek-R1-Distill-Qwen-32B 是 DeepSeek 用 R1 蒸馏出来的 32B 稠密模型W8A8 指的是权重和激活都量化到 8bit 的版本显存占用和推理延迟都会明显下降。Dify 是开源的大模型应用编排平台负责 RAG 知识库、工作流、对外应用one api现在多叫 new-api / one-api 这类 OpenAI 兼容网关负责把后端多个推理实例聚合成一个统一入口做渠道分发和负载均衡。适合谁适合手里已经有昇腾算力、又想把本地知识库问答跑成生产服务的团队尤其是对数据不出内网有硬要求的场景。我自己在 Atlas 800 9000 上从零走了一遍最大的感受是昇腾这套链路和 NVIDIA 生态差别很大坑集中在三个地方。第一是架构整套华为昇腾处理架构是 aarch64你从网上随手拉的 docker 镜像大概率是 x86_64跑不起来必须找 arm64 镜像或者自己 tag 重命名。第二是驱动和固件版本昇腾官方镜像对驱动版本有强绑定驱动不对MindIE 服务起不来。第三是量化Atlas 800 9000 不支持 bf16config.json 里的 torch_dtype 必须改成 float16否则加载权重直接报错。整个链路的角色分工是这样的昇腾 NPU 提供算力MindIE 作为推理框架把 DeepSeek-R1-Distill-Qwen-32B-W8A8 跑起来暴露一个 OpenAI 兼容接口bge-m3、bge-large-zh-v1.5 做文本嵌入bge-reranker-large 做重排序这三个是 RAG 的检索底座Dify 把这些模型接进去负责知识库切分、召回、编排one api 放在最前面把两个 MindIE 实例聚合成一个入口做负载均衡。下面我按实际部署顺序拆开讲每一步都给可复制的命令和配置。2. 昇腾 NPU 驱动固件与 MindIE 推理环境前置准备这一步是整个部署的地基驱动版本不对后面全白搭。先确认你的设备型号本文以 Atlas 800 9000 为例其他昇腾推理卡、嵌入式开发板流程类似但镜像和驱动要按昇腾官网对应机型选。先更新驱动和固件。昇腾官方镜像需要指定版本的驱动固件我这次是把 23.0.rc2 升到 23.0.0。把驱动包传到 /home/HwHiAiUser 下然后执行[rootdify HwHiAiUser]# pwd /home/HwHiAiUser [rootdify HwHiAiUser]# ls -l -rw------- 1 root root 134251528 Dec 7 16:16 Ascend-hdk-910-npu-driver_23.0.0_linux-aarch64.run [rootdify HwHiAiUser]# chmod 777 Ascend-hdk-910-npu-driver_23.0.0_linux-aarch64.run [rootdify HwHiAiUser]# sudo ./Ascend-hdk-910-npu-driver_23.0.0_linux-aarch64.run --full --force Verifying archive integrity... 100% SHA256 checksums are OK. All good. Uncompressing ASCEND DRIVER RUN PACKAGE 100% [Driver] [INFO]base version is 23.0.rc2. [Driver] [WARNING]Do not power off or restart the system during the installation/upgrade [Driver] [INFO]Driver package has been installed on the path /usr/local/Ascend, the version is 23.0.rc2, and the version of this package is 23.0.0,do you want to continue? [y/n] y [Driver] [INFO]upgradePercentage:100% [Driver] [INFO]Driver package installed successfully! Reboot needed for installation/upgrade to take effect! [rootdify HwHiAiUser]# sudo reboot重启后确认版本变成 23.0.0。这里有个细节安装过程中会提示是否继续输入 y 即可装完必须重启才生效别偷懒跳过。接着下载基础模型。DeepSeek-R1-Distill-Qwen-32B 原始权重从魔搭社区拉用 modelscope 的 snapshot_download 最省事[rootdify HwHiAiUser]# pip3 install modelscope1.18.0 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple [rootdify HwHiAiUser]# cat down.py #模型下载 from modelscope import snapshot_download model_dir snapshot_download(deepseek-ai/DeepSeek-R1-Distill-Qwen-32B,cache_dir.) [rootdify HwHiAiUser]# python3 down.py下载完目录结构是 /home/HwHiAiUser/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B。如果你不想自己量化也可以直接拉社区已经量化好的 W8A8 权重比如 maozi1905/DeepSeek-R1-Distill-Qwen-32B-w8a8省掉量化那一步。但自己量化能控制校准集效果更可控我建议至少走一遍量化流程。拉取 MindIE 官方镜像。昇腾镜像仓库里按机型选Atlas 800 9000 对应 mindie:atlas_800_9000。如果拉取时报 x509 证书错误改 docker 配置[rootdify HwHiAiUser]# vim /etc/docker/daemon.json { insecure-registries: [https://swr.cn-east-317.qdrgznjszx.com], registry-mirrors: [https://docker.mirrors.ustc.edu.cn] } [rootdify HwHiAiUser]# systemctl restart docker.service [rootdify HwHiAiUser]# docker pull swr.cn-east-317.qdrgznjszx.com/sxj731533730/mindie:atlas_800_9000创建容器时挂两张 NPU 卡给推理用我选 6、7 号卡0-5 号留给后面的嵌入和重排序模型。容器启动脚本[rootdify HwHiAiUser]# cat docker_run.sh #!/bin/bash docker_imagesswr.cn-east-317.qdrgznjszx.com/sxj731533730/mindie:atlas_800_9000 model_dir/home/HwHiAiUser docker run -it --name qdaicc --ipchost --nethost \ --device/dev/davinci6 \ --device/dev/davinci7 \ --device/dev/davinci_manager \ --device/dev/devmm_svm \ --device/dev/hisi_hdc \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/common \ -v /usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/driver \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /etc/vnpu.cfg:/etc/vnpu.cfg \ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ -v ${model_dir}:${model_dir} \ -v /var/log/npu:/usr/slog ${docker_images} \ /bin/bash [rootdify HwHiAiUser]# bash docker_run.sh进容器后 npu-smi info 能看到两张卡就对了。这一步的关键是 --device 挂载要和你实际选的卡号一致挂错卡后面推理会找不到设备。3. W8A8 量化与 MindIE 服务可复制配置量化用昇腾的 msmodelslim 工具。在容器外 git 源码进容器执行量化。注意双卡容器量化会报 NPU 显存不够要么开 8 卡容器要么用 CPU 量化我图省事用了 CPU[rootdify HwHiAiUser]# git clone https://gitee.com/ascend/msit.git [rootdify HwHiAiUser]# docker exec -it b5399c4da202 /bin/bash (Python310) rootdify:/home/HwHiAiUser/msit# cd msmodelslim/ (Python310) rootdify:/home/HwHiAiUser/msit/msmodelslim# bash install.sh (Python310) rootdify:/home/HwHiAiUser# cd /home/HwHiAiUser/msit/msmodelslim/example/Qwen (Python310) rootdify:/home/HwHiAiUser/msit/msmodelslim/example/Qwen# python3 quant_qwen.py \ --model_path /home/HwHiAiUser/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B/ \ --save_directory /home/HwHiAiUser/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B-W8A8 \ --calib_file ../common/boolq.jsonl \ --w_bit 8 --a_bit 8 --device_type cpu量化完生成 DeepSeek-R1-Distill-Qwen-32B-W8A8 目录。这里必须改一个字段Atlas 800 9000 不支持 bf16(Python310) rootdify:/home/HwHiAiUser/msit/msmodelslim/example/Qwen# vim /home/HwHiAiUser/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B-W8A8/config.json # 把 torch_dtype: bfloat16 改为 torch_dtype: float16接下来是 MindIE 服务配置这是整个部署最核心的一段。配置文件在 /usr/local/Ascend/mindie/latest/mindie-service/conf/config.json我贴出关键改动后的完整片段{ Version : 1.0.0, ServerConfig : { ipAddress : 192.168.1.115, managementIpAddress : 192.168.1.115, port : 1025, managementPort : 1026, metricsPort : 1027, httpsEnabled : false, openAiSupport : vllm }, BackendConfig : { backendName : mindieservice_llm_engine, modelInstanceNumber : 1, npuDeviceIds : [[0,1]], tokenizerProcessNumber : 8, ModelDeployConfig : { maxSeqLen : 2560, maxInputTokenLen : 4096, truncation : true, ModelConfig : [ { modelInstanceType : Standard, modelName : DeepSeek-R1-Distill-Qwen-32B-W8A8, modelWeightPath : /home/HwHiAiUser/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B-W8A8/, worldSize : 2, cpuMemSize : 5, npuMemSize : -1, backendType : atb, trustRemoteCode : false } ] }, ScheduleConfig : { templateType : Standard, templateName : Standard_LLM, cacheBlockSize : 128, maxPrefillBatchSize : 50, maxPrefillTokens : 8192, maxBatchSize : 200, maxIterTimes : 4096 } } }几个参数解释一下ipAddress 改成你本机实际 IP后面 Dify 要连这个地址npuDeviceIds 是 [[0,1]]表示容器内逻辑卡 0 和 1对应宿主机挂进来的两张卡worldSize 是 2和卡数一致modelName 必须和后面 Dify 里填的模型名完全一致否则调用会 404openAiSupport 设成 vllm这样暴露的是 OpenAI 兼容接口。改完权限启动服务(Python310) rootdify:/usr/local/Ascend/mindie/latest/mindie-service# chmod -R 750 /home/HwHiAiUser/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B-W8A8/ (Python310) rootdify:/usr/local/Ascend/mindie/latest/mindie-service# ./bin/mindieservice_daemon Daemon start success!看到 Daemon start success 就说明推理服务起来了。调试阶段可以开日志export MINDIE_LOG_TO_STDOUT1 export MINDIE_LOG_LEVELdebug4. 验证请求与 Dify 接入 RAG 知识库先验证 MindIE 服务本身能不能出结果。开另一个终端用 curl 打 /generate 接口[rootdify ~]# curl -H Accept: application/json -H Content-type: application/json -X POST \ -d {inputs:如何赚大钱,parameters:{do_sample:true,max_new_tokens:50,temperature:0.5,top_p:0.95}} \ http://192.168.1.115:1025/generate返回里能看到 generated_text 字段有内容说明推理链路通了。注意这是原生接口Dify 走的是 /v1 的 OpenAI 兼容接口两个都能用。接着部署嵌入和重排序服务。拉 mis-tei 镜像下载 bge-m3、bge-large-zh-v1.5、bge-reranker-large 三个模型同样把 config.json 里的 torch_dtype 改成 float16。然后创建三个容器分别绑不同 NPU 卡[rootdify ~]# docker run -u root -e TEI_NPU_DEVICE0 -itd --namebge-reranker-large --nethost \ -e HOME/home/HwHiAiUser --privilegedtrue \ -v /home/data:/home/HwHiAiUser/model \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --entrypoint /home/HwHiAiUser/start.sh \ swr.cn-east-317.qdrgznjszx.com/sxj731533730/mis-tei:6.0.RC3-910-aarch64 \ BAAI/bge-reranker-large 192.168.1.115 8001 [rootdify ~]# docker run -u root -e TEI_NPU_DEVICE1 -itd --namebge-m3 --nethost \ -e HOME/home/HwHiAiUser --privilegedtrue \ -v /home/data:/home/HwHiAiUser/model \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --entrypoint /home/HwHiAiUser/start.sh \ swr.cn-east-317.qdrgznjszx.com/sxj731533730/mis-tei:6.0.RC3-910-aarch64 \ BAAI/bge-m3 192.168.1.115 8002 [rootdify ~]# docker run -u root -e TEI_NPU_DEVICE2 -itd --namebge-large-zh-v1___5 --nethost \ -e HOME/home/HwHiAiUser --privilegedtrue \ -v /home/data:/home/HwHiAiUser/model \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --entrypoint /home/HwHiAiUser/start.sh \ swr.cn-east-317.qdrgznjszx.com/sxj731533730/mis-tei:6.0.RC3-910-aarch64 \ BAAI/bge-large-zh-v1___5 192.168.1.115 8003三个服务端口记好reranker 8001、bge-m3 8002、bge-large-zh 8003。TEI_NPU_DEVICE 是容器内逻辑卡号从 0 开始连续映射别和宿主机卡号搞混。Dify 部署因为 aarch64 架构官方 x86 镜像不能用得找 arm64 镜像。拉源码切到稳定版本改 .env 端口改 docker-compose.yaml 加 --ignore-warnings ARM64-COW-BUG把 sandbox 版本从 0.2.10 改成 0.2.1[rootdify HwHiAiUser]# git clone https://gitee.com/dify_ai/dify.git [rootdify HwHiAiUser]# cd dify git checkout 0.15.3 [rootdify dify]# cd docker/ [rootdify docker]# cp .env.example .env [rootdify docker]# vim .env # NGINX_PORT80 改为 NGINX_PORT8004 # NGINX_SSL_PORT443 改为 NGINX_SSL_PORT442 # EXPOSE_NGINX_PORT80 改为 EXPOSE_NGINX_PORT8004 # EXPOSE_NGINX_SSL_PORT443 改为 EXPOSE_NGINX_SSL_PORT442 [rootdify docker]# docker-compose up -d启动后浏览器访问 http://服务器IP:8004注册所有者账号。进设置-模型供应商添加三类模型第一类OpenAI-API-compatible类型选 LLM模型名填 DeepSeek-R1-Distill-Qwen-32B-W8A8URL 填 http://192.168.1.115:1025/v1密钥随便填。第二类Text Embedding InferenceURL 填 http://192.168.1.115:8002模型名 bge-m3再加一个 URL http://192.168.1.115:8003模型名 bge-large-zh-v1___5。第三类RerankURL 填 http://192.168.1.115:8001模型名 bge-reranker-large。保存时只要后台服务在跑前端就能存成功。然后建知识库上传文档选 bge-m3 做嵌入、bge-reranker-large 做重排序测试召回。我实测下来不挂知识库问专业问题模型会泛泛而谈挂了知识库后能准确引用文档里的内容并给出解释RAG 链路是通的。5. 昇腾 Dify 部署常见报错排查部署过程中我踩了几个典型坑对照报错说下解法。第一个docker pull 报x509: certificate signed by unknown authority。这是私有镜像仓库证书问题改 /etc/docker/daemon.json 加 insecure-registries把仓库地址加进去重启 docker 即可。如果还是拉不动换备用地址比如阿里云个人仓库的镜像。第二个MindIE 启动报模型加载失败日志里出现torch_dtype相关错误。九成是 config.json 里还是 bfloat16Atlas 800 9000 不支持改成 float16 重启服务。第三个Dify 里保存模型报local proxy failed或连接超时。先确认 MindIE 服务在跑curl 本机 1025 端口能通再确认 Dify 容器网络能访问到 192.168.1.115因为 Dify 跑在 docker 里如果 MindIE 在宿主机用宿主机 IP 而不是 127.0.0.1。第四个调用返回 401。Dify 里 OpenAI-API-compatible 的密钥字段虽然 MindIE 不校验但不能留空随便填个字符串留空有些版本会直接判 401。第五个返回体里reading choices报错或解析失败。这是接口格式不匹配确认 MindIE 的 openAiSupport 设成了 vllmDify 里 URL 带 /v1 后缀模型名和 MindIE 的 modelName 完全一致。第六个量化时报 NPU 显存不够。双卡容器量化 32B 模型确实吃紧换 8 卡容器或者加 --device_type cpu 用 CPU 量化慢但稳。第七个嵌入服务容器起来但请求无响应。检查 TEI_NPU_DEVICE 指定的卡有没有被其他容器占用同一张卡不能挂两个容器会报错。另外个别卡和宿主机有权限问题可以进容器手动 bash start.sh 模型路径 IP 端口 启动看日志。如果你不想在本地维护这套昇腾推理环境或者想先用云端 API 把 Dify 的 RAG 流程跑通再迁到本地可以先用 TaoToken 的模型对话服务验证提示词和知识库切分策略接入文档里有 OpenAI 兼容的 Base URL 和 Key 申请方式等本地 MindIE 调通了再把渠道切过去这样排障压力小很多。6. 双实例负载均衡与 one api 渠道配置单实例跑通后上双实例做负载均衡。思路很简单再起一个 MindIE 实例绑另外两张卡暴露不同端口然后用 one api 把两个实例配成同一模型的两个渠道请求会自动分发。第二个实例的 config.json 复制一份改三个地方port 改成 1026或别的空闲端口npuDeviceIds 改成 [[2,3]]对应另外两张卡modelName 保持一致这样 one api 才能把它们当成同一个模型。启动方式和第一个实例一样。one api 这边进渠道管理新建渠道类型选 OpenAIBase URL 填 http://192.168.1.115:1025/v1模型填 DeepSeek-R1-Distill-Qwen-32B-W8A8密钥随便填。再建一个渠道Base URL 填 http://192.168.1.115:1026/v1模型名相同。两个渠道都启用后one api 会按权重轮询分发请求。验证负载均衡是否生效最直接的办法是压测。用脚本并发打 one api 的 /v1/chat/completions同时观察两个 MindIE 实例的日志和 npu-smi 的利用率。如果两个实例都在处理请求说明分发成功。也可以临时停掉一个实例看请求是否自动切到另一个验证故障转移。Dify 这边把模型供应商的 URL 从直连 MindIE 改成指向 one api 的地址比如 http://192.168.1.115:3000/v1模型名不变。这样 Dify 的所有请求都经过 one api 分发前端无感知。如果你用的是 Coding Plan 这类长期编码或 Agent 场景把 one api 作为统一入口会更方便管理多模型和多实例。几个负载均衡的调优点one api 渠道的权重可以按实例算力分配比如两张卡强一点就设高权重MindIE 的 maxBatchSize 和 maxPrefillBatchSize 要根据实际并发调设太小吞吐上不去设太大显存爆压测时关注首 token 延迟和吞吐两个指标双实例的意义就是把并发压力摊开。最后说个实际经验昇腾这套链路版本耦合很紧驱动、CANN、MindIE、镜像版本要成套升级任何一个都要重新验证。我建议把当前能跑通的版本组合记下来包括驱动 23.0.0、MindIE 镜像 tag、Dify 0.15.3下次重装直接照抄能省掉大量排障时间。知识库文档格式方面Dify 默认的 ETL 对复杂格式支持有限如果文档里有大量表格和 PPT可以把 ETL_TYPE 改成 Unstructured起一个 unstructured 容器接进去解析质量会好不少。

相关新闻

27届同样是降AIGC率,为什么效果差那么多

27届同样是降AIGC率,为什么效果差那么多

每年到三月,论文群里就会出现两类人:一类提交一次就过,另一类反复被打回,导师的批注从“内容不够深入”变成“这段是不是AI写的”。同样是降AIGC率,有人折腾两周还在原地打转,有人一个晚上就处理干净。差别…

2026/10/14 0:31:47 阅读更多 →
Android文件系统疑难杂症排查:从Ext4底层到权限层实战

Android文件系统疑难杂症排查:从Ext4底层到权限层实战

1. 问题复现与排查思路Android设备上遇到文件系统问题,最让人头疼的不是报错本身,而是报错信息千奇百怪,表面现象和根本原因往往隔着好几层。我最近处理的一台测试机就出现了典型的综合症:App写入文件偶尔失败、/storage/emulated…

2026/10/13 22:25:47 阅读更多 →
context-mode实战指南:大模型上下文管理的原理、配置与避坑

context-mode实战指南:大模型上下文管理的原理、配置与避坑

先讲个现象。我用各类智能编码工具的时候,同一段需求描述,同一个模型,新开一个对话往往答得又快又准;聊到二十轮以后,哪怕模型再强,也会开始犯一些低级错误,比如把刚确认过的字段名忘掉、反复给…

2026/10/12 18:24:02 阅读更多 →

最新新闻

tidyr数据整形核心指南:从宽表长表转换到字段拆解

tidyr数据整形核心指南:从宽表长表转换到字段拆解

1. 为什么“整理数据”比“分析数据”更耗时——从一个真实项目说起我带过不少刚接触R语言的某高校数据分析课程学员,也帮某公司做过几轮业务数据清洗支持。几乎所有人第一次拿到原始数据时,第一反应都不是建模或画图,而是盯着Excel里那些“看…

2026/10/14 0:33:52 阅读更多 →
特征值与特征向量:从几何重数到代数重数,拆解矩阵的灵魂

特征值与特征向量:从几何重数到代数重数,拆解矩阵的灵魂

先问一个问题:你拿到一个矩阵,是不是下意识就想去算行列式、算秩、解方程组?这些操作当然没错,但它们更像“体检报告”——告诉你矩阵健康不健康。而真正决定一个矩阵“性格”的,是特征值与特征向量。这俩东西才是矩阵…

2026/10/14 0:33:52 阅读更多 →
逻辑回归向量化:从循环到矩阵运算的性能飞跃

逻辑回归向量化:从循环到矩阵运算的性能飞跃

1. 从单样本循环到矩阵运算:为什么必须做向量化逻辑回归的模型训练,绕不开两个核心计算:假设函数输出和梯度更新。很多刚上手的朋友在实现逻辑回归时,第一反应就是写一个for循环,逐个样本计算预测值,再逐个…

2026/10/14 0:33:52 阅读更多 →
微信小程序原生课程表源码:本地存储与离线渲染实战

微信小程序原生课程表源码:本地存储与离线渲染实战

简介:这份资源是面向微信小程序初学者与前端练手者的原生课程表项目源码,基于微信小程序原生框架实现,可帮助读者快速理解并搭建一个查看、管理每周课程安排的应用,适合学生、教师及想通过完整小项目巩固基础的前端学习者。压缩包…

2026/10/14 0:33:52 阅读更多 →
匈牙利算法矩阵形式详解:从成本约减到最优分配的完整推导

匈牙利算法矩阵形式详解:从成本约减到最优分配的完整推导

前阵子有个做调度优化的朋友来问,说看网上的匈牙利算法教程,流程图一摆、代码一贴,看着都懂,可自己拿个成本矩阵一算就发懵,尤其是“矩阵形式”这一层,总觉得像魔术:为什么行减一减、列减一减&a…

2026/10/14 0:33:52 阅读更多 →
微信小程序原生课程表开发:周视图与本地存储实战

微信小程序原生课程表开发:周视图与本地存储实战

简介:这份资源是面向微信小程序初学者与前端练手者的原生课程表项目源码,基于微信小程序原生框架实现,可帮助读者快速理解并搭建一个查看、管理每周课程安排的小工具,适合学生、教师及想熟悉小程序开发流程的开发者参考。压缩包为…

2026/10/14 0:32:51 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →