Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Feature Flags

laurus クレートはデフォルトでは Feature が無効の状態で提供されます。必要に応じて Embedding サポートを有効にしてください。

利用可能な Feature

Feature説明主な依存クレート
embeddings-candleHugging Face Candle によるローカル BERT Embeddingcandle-core, candle-nn, candle-transformers, hf-hub, tokenizers
embeddings-openaiOpenAI API Embeddingreqwest
embeddings-multimodalCLIP マルチモーダル Embedding(テキスト + 画像)image, embeddings-candle
embeddings-allすべての Embedding Feature を統合上記すべて

各 Feature の詳細

embeddings-candle

CandleBertEmbedder を有効にし、CPU 上でローカルに BERT モデルを実行できるようにします。モデルは初回使用時に Hugging Face Hub からダウンロードされます。

[dependencies]
laurus = { version = "0.9", features = ["embeddings-candle"] }

embeddings-openai

OpenAIEmbedder を有効にし、OpenAI Embeddings API を呼び出せるようにします。実行時に OPENAI_API_KEY 環境変数が必要です。

[dependencies]
laurus = { version = "0.9", features = ["embeddings-openai"] }

embeddings-multimodal

CandleClipEmbedder を有効にし、CLIP ベースのテキストおよび画像 Embedding を使用できるようにします。embeddings-candle を暗黙的に有効にします。

[dependencies]
laurus = { version = "0.9", features = ["embeddings-multimodal"] }

embeddings-all

すべての Embedding Feature を有効にする便利な Feature です。

[dependencies]
laurus = { version = "0.9", features = ["embeddings-all"] }

TLS とネットワークの挙動

Embedding Feature は、信頼するルート証明書のソースが異なる 2 系統の TLS スタックを使用します。

FeatureHTTP クライアントTLS backend信頼するルート証明書のソース
embeddings-candle, embeddings-multimodalhf-hubureqrustlsバイナリに埋め込まれた Mozilla ルート証明書(webpki-roots
embeddings-openaireqwestrustlsOS の信頼ストア(rustls-platform-verifier 経由)

Hugging Face Hub からのモデルダウンロード(embeddings-candle / embeddings-multimodal)は、OS の信頼ストアではなくバイナリに埋め込まれた 証明書を使用します。これは意図的な設計です。ca-certificates パッケージが 入っていない scratch や distroless コンテナ内でも、完全静的リンクの musl バイナリがモデルをダウンロードできるようにするためです。トレードオフとして、 このパスでは SSL_CERT_FILE / SSL_CERT_DIR は尊重されず、OS の信頼ストア にのみ導入された独自 CA(例: 社内の TLS インスペクションプロキシ配下)は 信頼されません。そのようなプロキシ経由で Hugging Face へのダウンロードを 行う必要がある場合は、キャッシュを事前に用意して HF_HOME でそれを指すか、 信頼された内部ミラーを HF_ENDPOINT で指定してください。

embeddings-openai は OS の信頼ストアを参照するため、これを使用する コンテナには引き続き ca-certificates のインストールが必要です。

Feature Flag がバイナリサイズに与える影響

Embedding Feature を有効にすると、コンパイル時間とバイナリサイズが増加する依存クレートが追加されます。

構成おおよその影響
Feature なし(Lexical のみ)ベースライン
embeddings-candle+ Candle ML フレームワーク
embeddings-openai+ reqwest HTTP クライアント
embeddings-multimodal+ 画像処理 + Candle
embeddings-all上記すべて

Lexical(キーワード)検索のみが必要な場合は、Feature を有効にせずに Laurus を使用することで、最小のバイナリサイズと最速のコンパイル時間を実現できます。