llama-cpp-rs  by utilityai

Rust bindings for llama.cpp

created 1 year ago
329 stars

Top 84.2% on sourcepulse

GitHubView on GitHub
Project Summary

This Rust library provides bindings for llama.cpp, enabling efficient local execution of large language models. It targets developers and researchers seeking to integrate LLM inference into Rust applications, offering a close-to-raw binding layer for maximum control and up-to-date compatibility with the llama.cpp project.

How It Works

The library leverages Rust's Foreign Function Interface (FFI) to directly call into the C++ llama.cpp library. This approach minimizes overhead and ensures that the Rust bindings remain synchronized with the underlying C++ implementation, facilitating rapid adoption of new features and optimizations from the llama.cpp project.

Quick Start & Requirements

  • Install/run: cargo run --release --bin simple -- --prompt "..." (requires cloning with --recursive or running git submodule update --init --recursive).
  • Prerequisites: Rust toolchain, C++ compiler, CUDA toolkit (for GPU acceleration, via --features cuda).
  • Links: GitHub Repository

Highlighted Details

  • Supports GPU offloading with CUDA.
  • Provides bindings for llama.cpp's core functionalities.
  • Aims for direct synchronization with the upstream llama.cpp project.

Maintenance & Community

The project is actively maintained by utilityai. Further community engagement details are not specified in the README.

Licensing & Compatibility

The project appears to be licensed under the MIT License, allowing for broad compatibility with commercial and closed-source applications.

Limitations & Caveats

The project explicitly states it does not follow semantic versioning (semver) meaningfully, prioritizing up-to-date compatibility with llama.cpp over strict API stability.

Health Check
Last commit

2 days ago

Responsiveness

1 day

Pull Requests (30d)
23
Issues (30d)
10
Star History
65 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.