Skip to content

Instantly share code, notes, and snippets.

@sachaarbonel
Created November 5, 2022 21:30
Show Gist options
  • Select an option

  • Save sachaarbonel/2c0261f9e4687fc9a96e8ec4b9d37666 to your computer and use it in GitHub Desktop.

Select an option

Save sachaarbonel/2c0261f9e4687fc9a96e8ec4b9d37666 to your computer and use it in GitHub Desktop.

Revisions

  1. sachaarbonel renamed this gist Nov 5, 2022. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  2. sachaarbonel created this gist Nov 5, 2022.
    15 changes: 15 additions & 0 deletions embed.rs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,15 @@
    fn main() -> anyhow::Result<()> {

    + let model = SentenceEmbeddingsBuilder::remote(SentenceEmbeddingsModelType::AllMiniLmL12V2).create_model()?;
    let json = fs::read_to_string("data/books.json")?;
    let library: Library = serde_json::from_str(&json)?;
    + let mut embeddedbooks = Vec::new();
    for book in library.books.clone() {
    - println!("Embedding book: {}", book.title);
    + let embeddings = model.encode(&[book.clone().summary])?;
    + let embedding = to_array(embeddings[0].as_slice());
    + embeddedbooks.push(book.to_embedded(embedding));
    }

    Ok(())
    }