はじめに
Obsidianの拡張機能とHugging Face1、Ollama2を使用してオフライン環境下での生産性の爆上げを図る。
※自己責任で実施すること。
flowchart LR A(Hugging FaceでLLMをフォーク) --> B(OllamaでLLMをpull&ローカル実行) B --> C(Obsidianの拡張機能でLLMを実行)
ちなみに表題に反して、おすすめはGemini APIです。
実装環境
M3 Macbook
Hugging FaceでLLMをフォーク
自分の使いたいLLMがいつ配信停止となっても困らないように、自分のリポジトリにフォークする。
※ライセンスには注意し、自己責任で行うこと
※Hugging FaceにはOllamaで使えない形式のモデルも存在するため選定の際は注意すること。
※いつ配信停止となっても別のモデルを探せるのであればOllamaでLLMをpull&ローカル実行から実施すること。
Hugging Face アカウント の作成
Hugging Faceのアカウントはメールアドレスがあれば作れる。有料プランを使用する場合は乗っ取り防止で2FAの設定をしておいた方がいい。
Hugging Face – The AI community building the future.
Hugging Face CLI のインストール
Hugging FaceのGUIだと日本語対応しておらず、UIも変更される可能性もあるため、再現性を確保するためCLIをインストールする。
| |
Access Tokens の作成
Settingsの[Access Tokens](Hugging Face – The AI community building the future.)から作成する。Repositories内の項目をチェックする。トークンは発行時にしか表示されないため、メモしておくこと。

Hugging Face CLI でログイン
先ほど発行したトークンでログインする。
| |
Git の大容量ファイル対応
gitが大規模言語モデル等の大容量ファイルを操作できるようにgit-lfsをインストールする。
| |
LLM のフォーク
フォークといってもGitHubみたいにスマートにはできないため、以下のように行う。(フォーク元のライセンスはあらかじめ確認すること。)
| |
今回は以下2つの日本語学習済みモデルをフォークする。
| モデル | 用途 | サイズ |
|---|---|---|
elyza/Llama-3-ELYZA-JP-8B-GGUF | 大規模言語モデル(会話生成、質問応答など) | 約4.92GB |
lmstudio-community/granite-embedding-278m-multilingual-GGUF | 文書埋め込みモデル(類似度計算、検索など) | 約972MB |
| |
自分の作成したリポジトリにモデルがアップロードできたところまで確認できたら、ダウンロードしたLLMは削除する。
| |
OllamaでLLMをpull&ローカル実行
Ollamaのインストール
| |
Ollamaを起動
一度アイコンから起動しないとollamaコマンドが実行できなかった。![]()
LLMをpull
| |
他にpullしたいモデルがあれば以下を雛形としてpullすること。
| |
Obsidianの拡張機能でLLMを実行
Smart Composer
ObsidianでAIとチャットできる拡張機能。チャットを通じて編集中のドキュメントについて執筆をサポートしてくれる。
公式ドキュメント:Home · glowingjade/obsidian-smart-composer Wiki
設定画面でollama pullしたモデルを設定する。

So everyone, enjoy life!