技术复盘:llama-cpp-python CUDA 编译实战 (Windows)

技术复盘:llama-cpp-python CUDA 编译实战 (Windows)
https://github.com/abetlen/llama-cpp-python
Flash Attention 2.8.3 在 Windows + RTX 3090 上成功编译与运行复盘笔记(2026年1月版)
这份笔记不仅是技术的记录,也是我们在【Project_Singularity “奇点计划”】中攻克首个重大壁垒的战勋。

我们在极其复杂的“未来版本环境”(VS 2026 Preview + CUDA 13.1)中,成功通过降级指定生成器的方法,完成了高性能本地编译。

以下是为了后继回顾方便,复盘整理的**《EPGF v7.0 核心引擎构建:llama-cpp-python CUDA 编译实战备忘录》**。



📝 技术复盘:llama-cpp-python CUDA 编译实战 (Windows)

日期:2026-01-31



项目:EPGF v7.0 "Project Singularity"



记录人:Zero & Chief Researcher:AITechLab

1. 核心背景与挑战

在 Windows 构建本地大模型推理环境时,直接使用 pip install llama-cpp-python 往往只能获得 CPU 版本(速度仅 2 token/s)。为了激活 NVIDIA 显卡的 Tensor Cores 加速,必须进行本地编译。


本次遭遇的特殊困难

系统同时安装了多个 Visual Studio 版本(2019, 2022, 2026 Preview)。CMake 默认自动调用最新的 VS 2026 Preview,但 CUDA 13.1 的编译脚本尚未适配该预览版 IDE,导致 CMake 找不到 CUDA 工具链,从而静默回退到 CPU 模式,造成“安装成功但无加速”的假象。



2. 最终成功环境 (The Gold Standard)

  • OS: Windows 11 专业工作站版
  • GPU: NVIDIA GeForce RTX 3090 (24GB, Ampere架构 sm_86)
  • CUDA Toolkit: v13.1 (系统级完整安装)
  • C++ 编译器: Visual Studio 2022 (核心关键:强制指定此版本)
  • Python: 3.11.13 (虚拟环境 .venv)
  • PyTorch: 2.5.1+cu121 (作为辅助库存在)
  • 构建工具: scikit-build-core, cmake, ninja, setuptools, wheel


3. 关键安装步骤 (SOP)

第一步:净化环境与预备

确保虚拟环境纯净,安装必要的编译辅助工具。

CMD 命令

REM 1. 激活虚拟环境 .venv\Scripts\activate REM 2. 在环境中安装 torch+cuda pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 REM 3. 清理可能存在的错误缓存 (非常重要,防止 pip 复用 CPU 版缓存) pip cache purge pip uninstall llama-cpp-python -y REM 4. 安装构建依赖 pip install scikit-build-core cmake ninja setuptools wheel 


第二步:配置“精确制导”编译参数 (核心)

这是解决多 VS 版本冲突的关键。我们通过环境变量强制 CMake 使用 VS 2022 生成器,而不是默认的 VS 2026。

CMD 命令

REM 设置 CMake 参数 REM -DGGML_CUDA=on : 开启 CUDA 加速 REM -G "Visual Studio 17 2022" : 强制指定 VS 2022 生成器 (避开 Preview 版 BUG) REM -A x64 : 强制构建 64 位版本 set CMAKE_ARGS=-DGGML_CUDA=on -G "Visual Studio 17 2022" -A x64 


第三步:执行源码编译

让 pip 下载源码并调用本地编译器构建 Wheel。

CMD 命令

REM --no-cache-dir : 禁用缓存,强制重编 REM --force-reinstall : 强制重装 REM --upgrade : 确保最新版 pip install llama-cpp-python --no-cache-dir --force-reinstall --upgrade 

预期耗时:3-10 分钟。若看到滚屏日志中出现 Successfully installed MarkupSafe-3.0.3 diskcache-5.6.3 jinja2-3.1.6 llama-cpp-python-0.3.16 numpy-2.4.2 typing-extensions-4.15.0 ... 即代表成功。




4. 成功验证指标 (Validation)

如何判断安装的是 核动力(GPU) 版还是 蒸汽机(CPU) 版?

指标 A:安装包体积

  • CPU 版本:编译出的 .whl 文件大小通常在 2 MB - 5 MB 左右。
  • GPU 版本:由于包含 CUDA Kernels,体积通常在 30 MB - 100 MB 之间(本次成功体积为 ~34 MB)。

指标 B:运行时日志

运行以下 Python 代码自测:

进入 Python 环境验证

from llama_cpp import Llama # 初始化时观察控制台输出 llm = Llama(model_path="你的模型路径.gguf", n_gpu_layers=-1, verbose=True) 

必须包含以下特征日志

  1. ggml_cuda_init: found 1 CUDA devices: (检测到显卡)
  2. Device 0: NVIDIA GeForce RTX 3090 (显卡型号正确)
  3. llm_load_tensors: offloaded 65/65 layers to GPU (层级完全卸载)

5. 总结与建议

  1. 关于 VS 版本:在 AI 编译领域,“最新”不等于“最好”。CUDA 和 PyTorch 对开发环境的适配通常滞后 6-12 个月。保持一个稳定的 Visual Studio 2022 Community 是开发者的最佳实践。
  2. 关于 CMake:当环境复杂时,不要信任自动检测。使用 -G 参数显式指定编译器是解决兼容性问题的终极手段。
  3. 关于 Jllllll:如果本地编译实在无法通过(如缺少 VS 环境),可以直接使用 pip install ... --index-url https://jllllll.github.io/llama-cpp-python-cuBLAS-wheels/whl/cu124 下载预编译包作为备选。但本地编译的版本通常针对本机硬件优化更好。

Read more

【二十】前端现代化:从传统到现代的前端技术演进

【二十】前端现代化:从传统到现代的前端技术演进 核心观点 前端技术的发展是一场革命,它从简单的静态页面,演变为复杂的单页应用,再到如今的微前端架构。前端现代化不仅仅是技术的更新,更是开发思维和开发方式的转变。这是我在过去十年前端开发生涯中最深刻的体会。 我的前端开发故事 从jQuery到现代框架:前端开发的蜕变 毕业后不久,我开始了我的前端开发生涯。那时候,前端开发的主要工具是HTML、CSS和jQuery。我记得我的第一个项目是一个企业官网,我用jQuery实现了图片轮播、表单验证、导航菜单等功能。虽然代码有点混乱,但看到页面能够正常运行,我还是很有成就感的。 随着项目的复杂度增加,我开始感受到jQuery的局限性。2014年,我参与了一个电商项目,需要实现购物车、商品详情、订单流程等复杂功能。我用jQuery编写了大量的代码,结果发现: * 代码混乱:HTML、CSS和JavaScript混合在一起,难以维护 * 事件处理复杂:大量的事件绑定和回调函数,导致代码嵌套层级很深 * 状态管理困难:购物车的状态需要在多个页面之间共享,实现起来很复杂 * 性能问题

继续实践OpenClaw,好不容易把web 管理面板调通,再给它配上一个大模型

继续实践OpenClaw,好不容易把web 管理面板调通,再给它配上一个大模型

OpenClaw小龙虾是github 获得星标最多的项目,OpenClaw之所以能在GitHub上获得极高的关注度,主要原因在于它提供了一个功能强大、易于扩展的AI助手开发平台。把整个操作系统,打造成AI! OpenClaw官网:OpenClaw — Personal AI Assistant 以前的安装记录:https://skywalk.blog.ZEEKLOG.net/article/details/157554991 本来感觉OpenClaw安装是挺简单的,没想到巨坑,有一台机器装好后没有web管理面板.....所以本来很简短的文档,写成了巨幅文档。 安装OpenClaw 先在192.168.1.12安装,但是它没有systemd服务,导致OpenClaw的服务无法自动启动。需要手工执行openclaw gateway命令启动。 后在192.168.1.19安装。但是装好后没有web管理面板,反复删除重装也没有,最后是安装的openclaw-cn ,才解决了问题。参见这个文档:https://skywalk.blog.ZEEKLOG.net/article/

2025前端复盘:框架内卷落幕,AI重构生态,前端人的生存破局之路

2025前端复盘:框架内卷落幕,AI重构生态,前端人的生存破局之路

2025年,前端圈彻底告别了“框架之争”的喧嚣,却陷入了“智能与工程”的双重博弈——AI不再是噱头式的辅助工具,工程化从“极致增效”走向“反哺体验”,跨端技术打破平台壁垒,而前端工程师的角色,正从“页面开发者”被强行推向“全域体验架构师”。这一年,有人借着技术迭代实现晋升,有人被AI与生态变革倒逼出局。         不同于往年“堆趋势、列新技术”的泛泛而谈,本文结合2025全年实战项目经验、主流技术栈迭代细节,拆解前端生态的核心变革与隐藏痛点,提出几个可能引发争议的观点,既是复盘,也是为2026年前端从业者提供一份务实的生存参考。全文侧重技术落地,拒绝空谈概念,尽量还原一线开发视角,规避AI创作的刻板感。 一、框架生态:内卷终局,信号式架构成主流共识         2025年,前端框架的“战国时代”正式落幕,React、Vue、Angular三大框架的迭代节奏放缓,不再追求“特性堆砌”,而是向“性能优化、

OpenClaw 中 web_search + web_fetch 最佳实践速查表

OpenClaw 中 web_search + web_fetch 最佳实践速查表

OpenClaw 中 web_search + web_fetch 最佳实践速查表 摘要:本文帮助读者明确 OpenClaw 网络搜索工具和不同搜索技能的的职责边界,理解“先搜索、再抓取、后总结”的最佳实践,并能更稳定地在 OpenClaw 中使用 tavily-search 与 web_fetch 完成网络信息搜索任务。主要内容包括:解决 OpenClaw 中 web_search、tavily-search、web_fetch、原生 provider 与扩展 skill 容易混淆的问题、网络搜索能力分层说明、OpenClaw 原生搜索 provider 与 Tavily/Firecrawl 扩展 skill 的区别、标准工作流、提示词模板、