rust_llama.cpp
LLama.cpp 的 Rust 绑定。
这些 Rust 绑定主要基于 https://github.com/go-skynet/go-llama.cpp/
本地构建
注意:此仓库使用 git 子模块来跟踪 LLama.cpp。
在本地克隆仓库:
git clone --recurse-submodules https://github.com/mdrokz/rust-llama.cpp
cargo build
使用方法
[dependencies]
llama_cpp_rs = "0.3.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();
}
示例
示例中包含用于运行它们的 Dockerfile
请参阅 examples
待办事项
- 实现对 cublas、openBLAS 和 OpenCL 的支持 #7
- 实现对 GPU(Metal)的支持
- 添加一些测试用例
- 支持通过 http 和 S3 获取模型
- 与最新的主分支同步并支持 GGUF
- 添加一些适当的示例 https://github.com/mdrokz/rust-llama.cpp/pull/7
许可证
MIT