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

インストール

ビルド済みバイナリ

GitHub のリリースページでは、 以下のターゲット向けにビルド済みの laurus バイナリを配布しています。 いずれも --features embeddings-all でビルドされています。

ターゲットトリプルプラットフォームlibcリンク方式アーカイブ
x86_64-unknown-linux-gnuLinux x86_64glibc動的.tar.gz
aarch64-unknown-linux-gnuLinux aarch64glibc動的.tar.gz
x86_64-unknown-linux-muslLinux x86_64musl静的.tar.gz
aarch64-unknown-linux-muslLinux aarch64musl静的.tar.gz
x86_64-apple-darwinmacOS Intel動的.tar.gz
aarch64-apple-darwinmacOS Apple Silicon動的.tar.gz
x86_64-pc-windows-msvcWindows x86_64MSVC動的.zip
aarch64-pc-windows-msvcWindows arm64MSVC動的.zip
VERSION=v0.10.0
TARGET=x86_64-unknown-linux-musl
curl -fsSL -O "https://github.com/mosuka/laurus/releases/download/${VERSION}/laurus-${VERSION}-${TARGET}.tar.gz"
tar -xzf "laurus-${VERSION}-${TARGET}.tar.gz"
./laurus --version

どのビルドを使うべきか

  • 一般的な Linux ディストリビューションでは gnu ビルドを使ってください。 musl のアロケータ(mallocng)は、laurus の索引処理のようなマルチスレッド・ allocation-heavy なワークロードでは glibc のアロケータより明確に遅くなります。
  • Alpine、distroless、scratch、あるいはビルドランナーより古い glibc しか 持たないホストでは musl ビルドを使ってください。musl バイナリは 完全に静的リンクされており、動的ライブラリへの依存が一切ありません。

コンテナで musl バイナリを使う

FROM alpine:3.22
# embeddings-openai を使う場合のみ必要: reqwest の rustls backend は
# OS の信頼ストアを参照します。Hugging Face からのモデルダウンロード
# (embeddings-candle / embeddings-multimodal)はバイナリに埋め込まれた
# ルート証明書を使うため、これがなくても動作します。詳細は開発ガイドの
# 「Feature Flags」を参照してください。
RUN apk add --no-cache ca-certificates
COPY laurus /usr/local/bin/laurus
ENTRYPOINT ["laurus"]

パッケージマネージャすら無い環境でも動作します:

FROM scratch
COPY laurus /laurus
ENTRYPOINT ["/laurus"]

musl / scratch での運用における注意点:

  • DNS 解決には musl 内蔵のリゾルバが使われ、/etc/resolv.conf を読み込み、 NSS プラグインは無視されます。コンテナランタイムは常に /etc/resolv.conf を提供するため通常は問題になりませんが、手動で scratch イメージを 構築する場合はこれを省略しないよう注意してください。
  • Rust の標準ライブラリは生成するスレッドに独自の既定スタックサイズ (2 MiB)を使用するため、musl のより小さい pthread の既定値は 実質的に問題になりません。

crates.io からインストール

cargo install laurus-cli

これにより laurus バイナリが ~/.cargo/bin/ にインストールされます。

ソースからインストール

git clone https://github.com/mosuka/laurus.git
cd laurus
cargo install --path laurus-cli

確認

laurus --version