
人工智能大模型本地部署模型推理服务【免费下载链接】llama-cpp-pythonPython bindings for llama.cpp项目地址https://gitcode.com/gh_mirrors/ll/llama-cpp-python点击查看免费下载llama-cpp-python 是 llama.cpp 的 Python 绑定库本文以仓库根目录的 CHANGELOG.md由 docs/changelog.md 通过-8- CHANGELOG.md直接包含为骨架完整梳理从 v0.1.56 到 v0.3.35 共约 80 个版本的演进脉络。读完本文你将掌握该项目的版本节奏、与上游 llama.cpp 的同步策略、各版本引入的核心能力采样链、多模态、函数调用、推测解码等、安装回退指定版本的方法并能依据变更记录判断新特性与破坏性变更的落地时机。变更记录的组织方式Keep a Changelog 与语义化版本CHANGELOG.md开篇即声明了两种规范Keep a Changelog所有值得记录的变更按版本分组、按重要性feat/fix/docs/ci/security/chore等前缀排列便于读者快速扫描Semantic Versioning语义化版本MAJOR.MINOR.PATCH三段式版本号项目从v0.1.56首个 changelog 条目一路走到当前的0.3.35其中 llama_cpp/init.py 中__version__ 0.3.35与最新发布版本保持一致。值得注意的是变更记录顶部还有一个[Unreleased]区块用于登记尚未发布的改动当前为feat: update llama.cpp to ggml-org/llama.cppfb34fc262这是标准的 Keep a Changelog 实践。文档侧docs/changelog.md 并不是一份独立副本而是通过 MkDocs 的-8-语法直接内嵌根目录文件保证单一事实来源——你在文档站看到的历史与仓库根目录的 CHANGELOG.md 永远一致。版本节奏以同步上游 llama.cpp 为引擎翻阅整份 changelog 会发现一个极其规律的信号几乎每个版本都包含一条Update llama.cpp/feat: update llama.cpp to ...commit。项目将上游 llama.cpp 视为内核Python 绑定层负责把新内核能力翻译成可调用的 Python API。上游仓库标识也从早期ggerganov/llama.cpp逐步迁移到ggml-org/llama.cpp0.3.24 起Migrate llama.cpp submodule URL to ggml-org/llama.cpp。同步不仅是换版本号还伴随绑定层适配典型例子0.3.21 sync Python bindings上游 API 变更后同步更新 ctypes 绑定0.2.14 Migrate inference from deprecatedllama_evalAPI tollama_batchandllama_decode这是一次重要的内部重构对应 llama_cpp/llama_cpp.py 中llama_batch_init、llama_batch_free、llama_decode等底层函数0.3.0 Update sampling API for llama.cpp. Sampling now uses sampler chain采样逻辑全面切换到 sampler chain 模型对应 llama_cpp/llama_cpp.py 中的llama_sampler_chain_init、llama_sampler_init_top_k、llama_sampler_init_top_p、llama_sampler_init_temp等一组函数。对使用者而言这意味着升级 llama-cpp-python 时应先核对目标版本的 changelog 中同步的上游 commit评估模型兼容性与 API 破坏面。例如 0.1.79 标注 GGUF Support (breaking change requiring new model format)明确提示旧格式模型不可用0.1.85 之前低版本与 0.2.x 的create_completion参数行为也有差异。0.3.x多模态、服务端与硬件加速的密集迭代0.3.x 系列0.3.0 – 0.3.35是当前最活跃的发布区间重点集中在以下几个方向。采样链Sampler Chain与训练相关参数0.3.0 引入 sampler chain 采样 API 后0.3.3 的 Batching notebook 重构为使用新 sampler chain API 表明示例代码也已迁移。与之配套Llama构造参数同步扩展见 llama_cpp/llama.py 中的n_ubatch0.3.0 Add option to configure n_ubatch、no_perf0.3.7 addsno_perfflag toLlamaclass用于关闭耗时统计打印、attention_type0.3.18 Exposeattention_typeinLlama.__init__for non-causal embedding models等。低层 API 方面0.3.0 还做出两个性能优化Dont store scores internally unless logits_allTrue降低大上下文内存占用与 numpy ndarray 内存分配修复。多模态从 LLaVA 到通用 MTMD0.2.66 Generic Chat Formats, Tool Calling, and Huggingface Pull Support for Multimodal Models (Obsidian, LLaVA1.6, Moondream) 奠定多模态基础0.3.10 Add support for llama.cpp multimodal, add Qwen2.5-VL chat handler0.3.24 add Gemma 4 multimodal chat support、0.3.25 Generic Multimodal Chat Handler 与 0.3.29 use MTMD batch encoding、support server video inputs。这些能力在代码层的落地位置是 llama_cpp/llama_chat_format.py 中的Llava15ChatHandler、MTMDChatHandler等类以及 llama_cpp/mtmd_cpp.py 中成体系的mtmd_*ctypes 绑定mtmd_helper_video_init、mtmd_batch_encode、mtmd_gen_audio_*等。0.3.35 的 retain recurrent state for server MTP rollback 与 0.3.32 的 support chained NextN heads for server MTP drafting 则涉及 MTP多 token 预测在服务端的细化。服务端OpenAI 兼容能力持续增强服务端相关变更贯穿始终包括多模型路由0.2.25 Multi model support服务端按请求中的model参数匹配model_alias路由到不同模型配置示例见 examples/server/configs 下的 JSON 文件与 docs/server.md配置方式0.2.61 Add support for yaml based server configs0.3.20 Add model-loadchat_template_kwargssupport and document the CLI/config usage即python3 -m llama_cpp.server --model path --chat_format chatml --chat_template_kwargs {enable_thinking: true}见 docs/server.md接口扩展0.2.56 tokenize/detokenize/count tokens 端点、0.2.58 chat completions 的 logprobs 支持、0.2.65 非池化 embedding、0.3.28 add OpenAI-compatible embeddings endpoint并发与稳定性0.3.3 Avoid thread starvation on many concurrent requests by making use of asyncio to lock llama_proxy context、0.3.6 streaming resource lock、0.2.80 修复 FastAPI 流式响应提前释放依赖导致的 SEGFAULT。服务端代码分布在 llama_cpp/server/app.pyFastAPI 路由、llama_cpp/server/settings.py配置模型、llama_cpp/server/model.py多模型加载与代理。硬件加速与发行版支持0.3.x 在 CI / wheel 分发上投入很大CUDA0.3.22 Re-enable Windows CUDA wheels and add CUDA 12.5.1 wheel builds、0.3.25 add CUDA 11.8/13.0/13.2 wheel builds、add Pascal compute capability targetsROCm 与 Vulkan0.3.26 add ROCm wheel builds、add Vulkan wheel builds平台扩展0.3.30 add Pyodide wheel support、0.3.24 enable arm64 musl builds、0.3.17 add riscv64 wheel builds、0.3.21 统一 arm64 release wheel 为py3-none、0.3.20 区分 manylinux 与 musllinux CPU wheel。这些工作与 pyproject.toml 中wheel.py-api py3、scikit-build-core构建后端以及 scripts/get-releases.sh、scripts/releases-to-pep-503.sh 两个发布脚本后者把 GitHub Releases 转换成 PEP 503 兼容的 wheel 索引直接相关。其他亮点Llama.from_pretrained生态完善0.2.46 Pull models directly from huggingface、0.3.0 Add loading sharded GGUF files from HuggingFace withLlama.from_pretrained(additional_files[...])、0.2.88 Enable recursive search of HFFS.ls when using from_pretrained、0.3.26 handle additionalfrom_pretrainedfiles in subfolders递归/混合模型0.3.24 clear prompt for recurrent / hybrid models when only a partial prefix matches、0.3.32 preserve recurrent/hybrid model state when the full prompt is already cached、0.3.17 Handle Qwen 3.5 hybrid prefix reuse——底层支撑是 llama_cpp/llama_cpp.py 中的llama_model_is_recurrent/llama_model_is_hybrid安全与健壮性0.3.24 avoid cleanup errors for partially initializedLlamaModelobjects、suppress stdout and stderr in Jupyter notebooks开发规范0.3.17 Add Ruff-based formatting and a safe lint baseline, and run it in CI对应 pyproject.toml 中的[tool.ruff]配置。0.2.x从能用到生产可用的奠基期0.2.x 跨度大0.2.0 – 0.2.90许多今天视为标配的能力都诞生于此值得单独梳理成一张能力地图版本关键变更源码佐证0.2.0迁移到 scikit-build-core 构建系统Llama初始化参数改为 keyword-only弃用 Python 3.7pyproject.toml0.2.8可配置 chat formatsllama_cpp/llama_chat_format.py0.2.14llama_eval→llama_batch/llama_decode迁移functionary chat formatllama_cpp/llama_cpp.py0.2.15LLaVA 1.5 多模态JSON modeseed 参数llama_cpp/llama_chat_format.py0.2.25服务端多模型支持OpenAI 兼容认证llama_cpp/server/model.py0.2.34JSON Schema 模式llama_cpp/llama_grammar.py 的json_schema_to_gbnf0.2.38推测解码speculative decodingllama_cpp/llama_speculative.py0.2.40chatml-function-calling通用函数调用llama_cpp/llama_chat_format.py0.2.46从 HuggingFace 直接拉取模型llama_cpp/llama.py 的from_pretrained0.2.59CPU / CUDA(12.1–12.3) / Metal 预编译 wheelREADME 安装章节0.2.61YAML 服务端配置llama_cpp/server/settings.py0.2.62disable_ping_events标志llama_cpp/server/app.py0.2.70fill-in-middleFIM支持llama_cpp/llama.py 的spm_infill、llama_token_fim_*0.2.72安全修复模型元数据 SSTI 远程代码执行见下文安全章节0.2.79Llama.close()显式释放模型内存llama_cpp/llama.py 的close0.2.86从 C 移植新的 grammar 变更到 Python 实现llama_cpp/llama_grammar.py聊天格式Chat Format的爆发式增长0.2.x 期间社区贡献了大量模型专属 chat format在 llama_cpp/llama_chat_format.py 中均有对应format_*函数llama2、llama30.2.64、chatml、qwen0.2.23、gemma0.2.48、mistral-instruct0.2.36、baichuan/baichuan-20.2.20、zephyr0.2.20、saiga/chatglm30.2.27、openchat/mistrallite/intel0.2.19、pygmalion0.2.23等。同时 0.2.32 引入Jinja2ChatFormatter与add_generation_prompt选项0.2.30 支持从 HuggingFace autotokenizer 或tokenizer_config.json加载聊天模板0.2.37 支持 Automatically set chat format from gguf——最终在 0.2.46 后形成guess_chat_format_from_gguf_metadatallama_cpp/llama_chat_format.py。0.2.63 还加入stopping_criteria与 stop on arbitrary token ids0.3.24 又补充 Jinja2 loop controls 与匹配 Transformerstojson的渲染行为。采样参数与生成控制的完善0.2.19 Add support for min_p parameter_init_sampler中的min_p0.050.2.75 add MinTokensLogitProcessor and min_tokens argument to server0.2.83 Change repeat_penalty to 1.0 to match llama.cpp defaults注意这修改了 Python 层默认值以对齐上游0.3.x 中 chat handler 默认仍为 1.1见 llama_cpp/llama_chat_format.py0.2.28 Add ability to pass in penalize_nl param0.2.16 Fix default max_tokens, chat completion is now unlimited (to context length) and completion is 16 tokens to match OpenAI defaults——这是 OpenAI 兼容性的重要对齐0.2.77 Use numpy recarray for candidates data, fixes bug with temp 00.3.3 Fix chat API logprobs format、Fix logit-bias type hint。底层 API 与绑定层演进0.2.4 引入 NUMA 支持并特别备注NOTElow level api users must callllama_backend_initat the start of their programs——低层 API 使用者需在程序入口显式初始化后端。0.2.46 之后低层 API functions are positional args only now仅位置参数。0.3.1 Expose libggml in internal APIs。这些约束在 llama_cpp/llama_cpp.py 的函数签名全部为/结尾的位置参数与 llama_cpp/_internals.py 的llama_backend_init中均有体现。0.2.20 起支持通过LLAVA_BUILDOFF与LLAVA_CPP_LIB关闭或替换 llava 共享库0.3.24 又支持 env var configured multimodal library override paths。早期版本0.1.x历史里程碑一览0.1.x 尾部0.1.56 – 0.1.85记录了项目早期的关键节点0.1.56首个 changelog 版本服务端改用 async 路由Python API 用 numpy 内部缓冲降低内存并提速修复流式 stop sequence 检查的性能 bug0.1.58Apple SiliconMetal支持0.1.59k-quants 量化支持服务端 mirostat 采样参数MacOS 同时支持.so与.dylib0.1.60已删除的发布create_completion截断max_tokens到上下文长度0.1.62Metal 可用缓存重新启用0.1.63CUDA 全 GPU 利用get_vocablow_vram参数服务端logit_bias0.1.64seed 文档修正-1 为随机0.1.66新的模型 API修复循环np.concatenate造成的性能问题0.1.67预分配 tokens/logits 内存修复性能修复模型未释放 bug0.1.69服务端迁移到 FastAPI 0.100 pydantic v2并发请求可中断interrupt_requests设置新增 simple Docker 镜像0.1.72custom_rope 扩展上下文0.1.74OpenAI 风格错误响应0.1.76LLaMa 2 70B 支持含临时n_gqa、rms_norm_eps参数0.1.78LlamaGrammar语法约束采样n_gpu_layers -1全量 offload0.1.79GGUF 支持破坏性变更需新模型格式0.1.85llama_cpp.__version__属性。其中 0.1.85 的__version__属性正是现在 llama_cpp/init.py 中版本号机制的起点。安全修复值得单独标注的历史变更记录中安全相关条目虽然不多但都意义重大0.2.72CVE 级Remote Code Execution by Server-Side Template Injection in Model Metadata——模型元数据中的服务端模板注入可导致远程代码执行同日修复 Update remaining jinja chat templates to use immutable sandbox。这意味着加载不受信任来源的 GGUF 模型时存在模板注入风险务必使用可信模型文件0.2.12Fix suffix check arbitrary code execution bug低层suffix参数相关0.2.3Add X-Request-ID request header for mirroring custom IDs可追溯性。如何利用这份变更记录安装或回退到指定版本依据 README.md 的安装方式可结合 changelog 锁定版本pip install llama-cpp-python0.3.35需要硬件加速时在安装前通过CMAKE_ARGS指定后端如-DGGML_CUDAon、-DGGML_BLASON -DGGML_BLAS_VENDOROpenBLAS0.2.59 之后也可以直接使用预编译 wheel。若某个功能如 Qwen2.5-VL 多模态、Gemma 4在某版本才引入可回查 changelog 确认最低可用版本。判断 API 破坏点破坏性变更在 changelog 中有明确标记或可从上下文推断0.1.79GGUF 模型格式强制切换0.2.0Llama初始化参数全部变为 keyword-only0.2.14底层llama_eval弃用0.2.46低层 API 改为仅位置参数0.3.0采样 API 切换到 sampler chain旧式传参代码需适配 llama_cpp/_internals.py 中的LlamaSamplerChain。跟踪上游 llama.cpp由于每次同步都记录具体上游 commit你可以从 changelog 反推当前版本对应的 llama.cpp 内核状态例如 0.3.35 对应ggml-org/llama.cpp4df29be4f与adb55e514。这在排查绑定层行为与上游 C 不一致的问题时非常有用。结语从 0.1.56 到 0.3.35CHANGELOG.md 完整记录了一个 Python 绑定项目随上游内核、硬件生态与 OpenAI 兼容标准共同演进的轨迹底层从llama_eval走向llama_batch/sampler chain能力从纯文本走向多模态与函数调用分发从源码编译走向 CUDA/ROCm/Vulkan/riscv64 全平台 wheel。理解这份变更记录既是使用这个库的版本地图也是评估升级风险、定位特性落地版本的第一手依据。如果你想进一步了解某个版本的细节可以交叉查阅 docs/server.md服务端参数与多模型配置、docs/api-reference.mdAPI 参考与 docs/install/macos.md平台安装说明并结合 tests 目录下的测试用例验证具体行为。赞分享人工智能大模型本地部署模型推理服务【免费下载链接】llama-cpp-pythonPython bindings for llama.cpp项目地址https://gitcode.com/gh_mirrors/ll/llama-cpp-python点击查看免费下载相关推荐Refine 3.x 多租户实践结合 Strapi v4 构建门店级数据隔离的 Cake House 管理应用Refine 3.x 多租户实践结合 Strapi v4 构建门店级数据隔离的 Cake House 管理应用 本篇基于 Refine 文档库中 advanc人工智能大模型本地部署模型推理服务Apache APISIX 版本演进全览从 0.6.0 到 3.18.0 的变更记录深度解析Apache APISIX 版本演进全览从 0.6.0 到 3.18.0 的变更记录深度解析 导读 本文以 Apache APISIX 官方仓库根目录下的 CAPI网关后端云原生微服务Labelme 版本演进全解析从 v5.0 到 v7.6 的变更记录与技术脉络Labelme 版本演进全解析从 v5.0 到 v7.6 的变更记录与技术脉络 导读 CHANGELOG.md https://link.gitcode.co数据标注计算机视觉桌面应用上一篇开发者名称下一篇EDK II 项目使用与启动指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考