go-skynet/go-llama.cpp

LLama.cpp golang bindings

解决的问题

该项目为 llama.cpp 提供了 Go (Golang) 绑定,使开发者无需编写 C++ 代码,即可将大语言模型 (LLM) 推理功能直接集成到 Go 应用程序中。

工作原理

它作为 llama.cpp 库的高级封装。为了保持性能并避免从 Go 调用 C 函数(CGO)带来的开销,该项目将大部分计算密集型任务保留在 C/C++ 代码中,同时为开发者提供一个简化的 Go 接口。

适用人群

希望使用 gguf 文件格式在本地运行 LLM 并利用硬件加速的 Go 开发者。

主要亮点

  • 硬件加速:支持多种后端,包括 OpenBLAS、CuBLAS(NVIDIA)、ROCM(AMD)、OpenCL 和 Metal(Apple Silicon)。
  • GGUF 支持:完全兼容新的 gguf 模型格式。
  • 高级接口:设计简洁易用,同时最大限度降低 CGO 桥接的计算开销。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目