bodaay/HuggingFaceModelDownloader
Simple go utility to download HuggingFace Models and Datasets
🤖 HuggingFace モデルダウンローダー (hfdownloader)
概要 – HuggingFace Hub からモデル、データセット、LoRA、Diffusers パイプラインなどを取得するための、高速で並列かつプロキシ対応のコマンドラインツール(Go で記述)。ファイルは標準の HF キャッシュに保存されるため、既存の Python ライブラリ(transformers、diffusers、llama.cpp バインディングなど)が自動的に見つけることができ、シンボリックリンク/ハードリンクによる人間が読みやすいビューも提供します。
なぜ重要か – 大規模なモデルファイルは数十ギガバイトになることがあります。hfdownloader は:
- 各ファイルを最大 16 の並列接続に分割し、8 ファイルを同時にダウンロードできるため、実時間を大幅に短縮します。
- 中断後自動的に再開し、LFS ファイルを SHA-256 で検証します。
- 品質スター、RAM 見積もり、「推奨」量子化を表示するインタラクティブな GGUF ピッカーを提供し、量子化モデルの適切なバージョンを簡単に選択できます。
- 完全な HTTP/SOCKS5 プロキシサポート、認証、CIDR バイパスルールにより、企業ファイアウォールの背後でも動作します。
- グラフィカルインターフェースを好むユーザー向けに Web UI(リアルタイム進捗、キャッシュブラウザ、ミラー同期、設定)を提供します。
- ミラー同期機能により、ローカルキャッシュを NAS、USB ドライブ、他のマシンにプッシュ/プルできます。エアギャップ環境やチーム環境に便利です。
入手方法
- ワンライナーインストール(sudo 不要):
bash <(curl -sSL https://g.bodaay.io/hfd) install - Linux、macOS、Windows 用のプリビルドバイナリは GitHub Releases ページにあります。
- Go 1.25+ でソースからビルド:
go build -o hfdownloader ./cmd/hfdownloader - Docker イメージ
ghcr.io/bodaay/huggingfacemodeldownloader(キャッシュを保持するには~/.cache/huggingfaceをマウント)。
典型的なコマンドラインのワークフロー
# リポジトリの内容を確認(インタラクティブ GGUF ピッカー)
hfdownloader analyze -i TheBloke/Mistral-7B-Instruct-v0.2-GGUF
# 特定の量子化をダウンロード(または複数)
hfdownloader download TheBloke/Mistral-7B-Instruct-v0.2-GGUF:q4_k_m
# または最大並列度ですべてをダウンロード
hfdownloader download TheBloke/Mistral-7B-Instruct-v0.2-GGUF -c 16 --max-active 8
# キャッシュ済みファイルを通常のディレクトリとしてエクスポート(llama.cpp、Ollama など用)
hfdownloader export TheBloke/Mistral-7B-Instruct-v0.2-GGUF ~/models/mistral
# Web UI を起動 (http://localhost:8080)
hfdownloader serve
主要な概念
- ストレージモード 1 – HF キャッシュ(デフォルト) – ファイルは
~/.cache/huggingface/hub/...(コンテンツアドレス指定の blob)および~/.cache/huggingface/models/の下の人間が読みやすいシンボリックリンクツリーに配置されます。Python ツールはそのまま動作します。 - ストレージモード 2 – フラットディレクトリ –
--local-dir <path>またはレガシー-o <dir>を使用すると、実際のファイルを含むプレーンな<owner>/<repo>/フォルダーが得られます。HF キャッシュレイアウトを理解しないツールに便利です。 - マニフェスト(
hfd.yaml) – ダウンロードのたびに、リポジトリ、コミット、選択したファイル、サイズ、使用した正確なコマンドを記述した小さな YAML ファイルが書き込まれます。hfdownloader listとhfdownloader infoでこのメタデータを照会できます。 - プロキシ設定 – コマンドごとに渡す(
--proxy ...)か、~/.config/hfdownloader.yamlに保存できます。 - ミラー同期 – 名前付きターゲットを定義し(
hfdownloader mirror target add office /mnt/nas/hf-models)、push、pull、diffでキャッシュを同期します。
誰が使うべきか
- 大型の GGUF、GPTQ、Diffusers モデルを定期的に取得する研究者やエンジニア。
- 堅牢なプロキシ処理が必要な企業ネットワークのチーム。
- シンボリックリンクの癖に対処せずに HF キャッシュの利便性を求める Windows または macOS ユーザー。
- ダウンロードの監視と共有モデルキャッシュの管理に Web ダッシュボードを好む人。
ライセンス – Apache 2.0(個人・商用利用無料)。
クイックリンク
関連
- Dispatch
- プロジェクト
- Dispatch
- プロジェクト
- Dispatch