490 个主要重大版本更新

2404291813…2024 年 4 月 29 日
2404281811…2024 年 4 月 28 日
2404270046…2024 年 4 月 27 日
2404261812…2024 年 4 月 26 日
0.0.230422152738-llamacpp… 2023 年 4 月 22 日

#157 in 机器学习

Download history 911/week @ 2024-04-26 33/week @ 2024-05-03 12/week @ 2024-05-17 4/week @ 2024-05-24 2/week @ 2024-06-07 1/week @ 2024-06-14 166/week @ 2024-07-05 16/week @ 2024-07-12

39,146 每月下载量
rusty-ggml 中使用

MIT 许可证

9MB
140K SLoC

C++ 71K SLoC // 0.1% comments C 29K SLoC // 0.1% comments Python 11K SLoC // 0.2% comments CUDA 8K SLoC // 0.0% comments Rust 6K SLoC // 0.0% comments Metal Shading Language 5K SLoC // 0.0% comments Objective-C 2.5K SLoC // 0.0% comments Shell 2.5K SLoC // 0.2% comments GLSL 1K SLoC // 0.0% comments Swift 1K SLoC // 0.0% comments JavaScript 1K SLoC // 0.1% comments Kotlin 630 SLoC // 0.1% comments Gherkin (Cucumber) 482 SLoC // 0.1% comments RPM Specfile 163 SLoC // 0.2% comments Zig 146 SLoC // 0.0% comments Vim Script 135 SLoC // 0.1% comments Batch 78 SLoC // 0.2% comments Prolog 18 SLoC INI 7 SLoC

包含 (JAR 文件,60KB) gradle-wrapper.jar

ggml-sys-bleedingedge

GGML 的边缘级 Rust 绑定。

发布信息

VERSION.txtggml-tag-current.txt

此仓库使用工作流程每天自动检查几次最新的 GGML 发布。当前工作流程仅针对 Linux x86 进行构建:如果构建成功,则将发布新版本和包。

请注意,GGML 项目正在进行非常快速的开发。除了能够在 x86 Linux 上生成绑定和构建包之外,您真的无法对这种 crate 的发布做出任何假设。

发布将采用以下格式 YYMMDDHHMM.0.0+sourcerepo-release.releasename (UTC)。目前,sourcerepo 将是 llamacpp(来自 llama.cpp 仓库),但将来可能改为指向 ggml 仓库(目前 llama.cpp 似乎首先获得功能)。+ 之后的构建元数据仅作为信息。

crate

您可以在以下位置找到发布的 crate:https://crates.io/crates/ggml-sys-bleedingedge

自动生成的文档:https://docs.rs/ggml-sys-bleedingedge/

功能

现在支持使用 BLAS 进行编译的实验性支持。

可用功能

  • no_k_quants - 禁用带有 k_quant 量化的构建(即 Q4_K)
  • no_accelerate - 仅在 Mac 上相关,禁用使用 Accelerate 进行构建。
  • use_cmake - 使用cmake构建和链接到libllama
  • cublas - Nvidia的CUDA BLAS实现。
  • clblast - OpenCL BLAS。
  • hipblas - AMD的ROCM/HIP BLAS实现。设置ROCM_PATH环境变量指向您的ROCM安装位置。默认为/opt/rocm注意:除非您的GPU原生支持ROCM,否则您很可能需要设置HSA_OVERRIDE_GFX_VERSION环境变量,否则您的应用程序在初始化ROCM时会立即崩溃。例如,在RX 6600上HSA_OVERRIDE_GFX_VERSION=10.3.0有效。
  • openblas - OpenBLAS。
  • metal - Metal支持,仅在Mac上可用。
  • llamacpp_api - 在绑定中包含llama.cpp C++ API。

启用任何BLAS功能或metal意味着use_cmake。您需要一个可用的C++编译器和cmake来构建此功能。由于llama.cpp的cmake构建系统的限制,目前必须构建和链接到libllama(它包含像libstdc之类的库),尽管我们只需要GGML。尽管我们可以使用cmake构建库,但没有简单的方法来确定必要的库搜索路径和库:我们在这里尝试做出合理的选择,但如果您的库位于不寻常的位置或存在多个版本,则可能会发生奇怪的事情。

限制

该项目由像我这样的人缓慢、不负责任地维护。这不是理想的情况。

鸣谢

GGML

位于ggml-src/的文件根据MIT许可证分发。由于它们只是从源存储库(见下文)复制而来,因此请参阅该许可证或鸣谢的最终信息。

鸣谢原作者:版权所有(c)2023 Georgi Gerganov

当前自动从llama.cpp项目生成。

构建脚本

最初来源于Rustformers llm项目的构建脚本和绑定生成。

无运行时依赖