技术分享
未读
OpenCode 避雷指南与正确打开方式
本文含 AI 量为 0(如果不算上讲的内容涉及 AI 的话),请放心食用! 前言 在 CodeX 不知道多少次把代码写得稀烂之后,忍无可忍的我最终决定寻找一个新的平替。 技术选型 我先是调研了众多 AI 编程工具,包括 Claude Code、Aider、Deepseek-tui 等,发现它们有着各
技术分享
未读
深入浅出 llama.cpp(七):突破上下文壁垒 —— KV Cache 的滚动与平移策略
零、前言 在之前的章节中,我们已经实现了多轮对话,甚至掌握了并行处理多个序列。但有一个现实的“物理极限”我们始终没有正面回应:n_ctx(上下文窗口大小)。 如果你的模型设置 n_ctx = 2048,当对话进行到第 2049 个 Token 时,程序会因为空间不足而报错或崩溃。为了让 AI 能进行
技术分享
未读
深入浅出 llama.cpp(六):并行推理的艺术 —— 多序列管理与批量解码优化
零、前言 在上一章中,我们通过集成 common 库极大简化了代码逻辑,实现了一个可以连续对话的 REPL。但那个实现存在两个致命的性能缺陷: 逐字解码 (Serial Prefill):即使是输入的 Prompt,我们也是一个 Token 一个 Token 喂给模型的。这完全浪费了现代 CPU/G
技术分享
未读
深入浅出 llama.cpp(五):拥抱 C++ 环境 —— 集成官方 common 工具库
零、前言 在之前的开发中,我们一直试图保持“纯净”,只调用 llama.h 提供的 C 接口。但在处理“批量填充 Batch”或“复杂的采样策略”时,代码开始变得臃肿且难以维护。 llama.cpp 官方其实为我们准备了一套非常强大的 C++ 工具库,就在源码的 common/ 文件夹里。虽然它不是
技术分享
未读
深入浅出 llama.cpp(四):手动操纵 KV Cache 实现增量对话
零、前言 在上一篇文章中,我们跑通了 simple.cpp。但细心的读者会发现,那个例子每轮都会重置。 如果要实现像 ChatGPT 那样“有记忆”的连续对话,核心就在于对 KV Cache 的管理。 为了深入理解,不如脱离高层封装,直接通过手动操作 llama_batch 结构体,来看看 llam
技术分享
未读
深入浅出 llama.cpp(三):拆解 simple.cpp —— 掌握推理的核心逻辑
零、前言 在上一篇文章中,成功搭建了开发环境并编译了第一个程序。今天,我将深入 llama.cpp 官方提供的最简示例—— simple.cpp。 虽然它只有 200 多行代码,但它完整地展示了一个大语言模型从加载到生成文字的“生命周期”。理解了这个文件,就掌握了 llama.cpp 的核心 API
技术分享
未读
深入浅出 llama.cpp(二):环境搭建与最小可行示例
零、前言 在上一章中,我简单介绍了 llama.cpp 的整体项目架构,而在这一章中,我将要将其导入我的项目进行集成,并且构建出一个最小可行程序,让它能够成功跑起来。 注:本章节适合对 CMake 项目配置、导入和构建不熟悉的人群,如果你已经对这一过程完全了解,可以直接跳过。 一、拉取 Git 子模
技术分享
未读
深入浅出 llama.cpp(一):C++ 开发者集成大模型的首选
零、前言 随着 AI 技术的不断发展,各种前沿 AI 科技从科研领域转向实战,其中 Python 环境(PyTorch、Transformers)以其极其高的性能与较为简单的使用工作量成为了许多人的首选。 然而,当想要进一步 将 AI 集成进高性能的原生应用 时,Python 的 运行时环境、巨大的