anush008/fastembed-rs

Rust library for generating vector embeddings and reranking locally!

解決する課題

FastEmbed-rsは、ベクトル埋め込みの生成とリランキングをローカルで実行するための、軽量かつ高性能なRustライブラリを提供します。外部API呼び出しやTokioのような重い依存関係を必要としないため、開発者は最小限のオーバーヘッドでテキスト、画像、スパース埋め込みをRustアプリケーションに直接統合できます。

仕組み

このライブラリは、ort crateを通じてONNX Runtimeを活用して高性能な推論を行い、Hugging Faceの tokenizers を使用して高速なテキストエンコーディングを実現します。Hugging Faceの多種多様な事前学習済みモデルをサポートしており、これらは自動的にダウンロードされローカルにキャッシュされます。Qwen3やNomic MoEのような特定の高度なモデルについては、candle バックエンドを利用します。

対象ユーザー

RAG (検索拡張生成) パイプライン、検索エンジン、または類似性ベースのアプリケーションを構築しており、クラウドAPIに依存せずにローカルで高速かつ同期的な埋め込み生成を必要とするRust開発者。

主な特徴

  • マルチモーダル対応: 密なテキスト埋め込み、スパーステキスト埋め込み、画像埋め込みを生成可能。
  • リランキング機能: 検索精度を向上させるための候補リランキング機能を内蔵。
  • 豊富なモデルライブラリ: BGE、sentence-transformers、Nomic、Qwen3など、量子化バージョンを含む幅広いモデルをサポート。
  • ローカルファースト: 初回ダウンロード後にモデルがローカルにキャッシュされるため、オフラインでの実行が可能。
  • ハードウェアアクセラレーション: DirectMLを介してWindows上でのGPUアクセラレーションをサポート。
  • 組み込みの類似性ツール: 追加のcrateを必要とせずに、コサイン類似度やtop-kランキングのためのヘルパー関数を提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト