Cliprs
clip.cpp bindings to rust.
Grabing a model file
I've been using
huggingface.co/mys/ggml_clip-vit-large-patch14
two tower models for testing. All quantization levels have worked great!
Install
To add to your project:
cargo add cliprs
Usage
For a detailed example, see src/main.rs.
But basic usage looks like
use cliprs::ClipModel;
fn main() {
let model = ClipModel::new("/path/to/model.gguf");
let text_embedding = model.embed_text("text").unwrap();
let image_embedding = model.embed_image("/path/to/image.jpg").unwrap();
let similarity = model.embed_compare(&text_embedding, &image_embedding);
println!("Similarity: {}", similarity);
for warning in cliprs::poll_warnings() {
eprintln!("Warning: {}", warning);
}
}