15 unstable releases (3 breaking)

0.4.1 Apr 26, 2024
0.4.0 Apr 26, 2024
0.3.0 Apr 22, 2024
0.2.2 Apr 22, 2024
0.1.9 Apr 16, 2024

#858 in Machine learning

Apache-2.0

34KB
658 lines

glowrs

The glowrs library provides an easy and familiar interface to use pre-trained models for embeddings and sentence similarity.

Example

use glowrs::{SentenceTransformer, Device, PoolingStrategy, Error};

fn main() -> Result<(), Error> {
    let encoder = SentenceTransformer::from_repo_string("sentence-transformers/all-MiniLM-L6-v2", &Device::Cpu)?;

    let sentences = vec![
        "Hello, how are you?",
        "Hey, how are you doing?"
    ];

    let embeddings = encoder.encode_batch(sentences, true, PoolingStrategy::Mean)?;

    println!("{:?}", embeddings);
    
    Ok(())
}

Features

  • Load models from Hugging Face Hub
  • Use hardware acceleration (Metal, CUDA)
  • More to come!

Build features

  • metal: Compile with Metal acceleration
  • cuda: Compile with CUDA acceleration
  • accelerate: Compile with Accelerate framework acceleration (CPU)

Disclaimer

This is still a work-in-progress. The embedding performance is decent but can probably do with some benchmarking.

Do not use this in a production environment.

Dependencies

~30–48MB
~873K SLoC

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy