go-llama.cpp  by go-skynet

Go bindings for llama.cpp

created 2 years ago
795 stars

Top 45.1% on sourcepulse

GitHubView on GitHub
Project Summary

This Go library provides high-level bindings for llama.cpp, enabling Go developers to integrate large language models into their applications. It targets Go developers seeking efficient LLM inference without the complexity of direct C++ interaction, leveraging llama.cpp's performance optimizations.

How It Works

The project maintains a low-level C/C++ interface within the Go bindings to minimize overhead and maximize performance. This approach keeps most of the heavy lifting in the native llama.cpp code, simplifying the Go API. It utilizes git submodules to manage the llama.cpp dependency.

Quick Start & Requirements

Highlighted Details

  • Supports GGUF file format exclusively (post-PR #180).
  • Offers build configurations for various hardware acceleration backends (OpenBLAS, CuBLAS, ROCm, OpenCL, Metal).
  • GPU offloading is configurable via the -ngl flag.

Maintenance & Community

  • Actively maintained, with recent merges indicating ongoing development.
  • No explicit community links (Discord/Slack) are provided in the README.

Licensing & Compatibility

  • License: MIT.
  • Compatible with commercial and closed-source applications.

Limitations & Caveats

  • Only supports the GGUF model format; GGML format requires using a specific older tag.
  • Building with specific acceleration backends may require additional system-level libraries and configurations.
Health Check
Last commit

5 days ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
39 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 19 hours ago
Feedback? Help us improve.