Crates.io | llama_cpp_rs |
lib.rs | llama_cpp_rs |
version | 0.3.0 |
source | src |
created_at | 2023-07-10 13:47:50.632865 |
updated_at | 2023-10-12 08:08:24.191773 |
description | Rust bindings for LLAMA.CPP inference |
homepage | |
repository | https://github.com/mdrokz/rust-llama.cpp |
max_upload_size | |
id | 913024 |
size | 14,019,684 |
LLama.cpp rust bindings.
The rust bindings are mostly based on https://github.com/go-skynet/go-llama.cpp/
Note: This repository uses git submodules to keep track of LLama.cpp.
Clone the repository locally:
git clone --recurse-submodules https://github.com/mdrokz/rust-llama.cpp
cargo build
[dependencies]
llama_cpp_rs = "0.2.0"
use llama_cpp_rs::{
options::{ModelOptions, PredictOptions},
LLama,
};
fn main() {
let model_options = ModelOptions::default();
let llama = LLama::new(
"../wizard-vicuna-13B.ggmlv3.q4_0.bin".into(),
&model_options,
)
.unwrap();
let predict_options = PredictOptions {
token_callback: Some(Box::new(|token| {
println!("token1: {}", token);
true
})),
..Default::default()
};
llama
.predict(
"what are the national animals of india".into(),
predict_options,
)
.unwrap();
}
The examples contain dockerfiles to run them
see examples
MIT