Copilotプラグインは、以下の11種類のLLM(Large Language Model、大規模言語モデル)との統合を提供します:

  1. GPT-3.5
  2. GPT-3.5 16K
  3. GPT-4
  4. GPT-4 TURBO (デフォルト)
  5. GPT-4 32K
  6. Azure OpenAI
  7. Claude 3
  8. Gemini Pro
  9. OpenRouter.AI
  10. OLLMA (Local)
  11. LM Studio (Local)

このうち、OLLMAとLM Studioは、ローカル環境にインストール可能なローカルモデルアプリケーションであり、ローカル指向のObsidianでの利用に適しています。

考えてみてください:機密情報や個人のプライバシーに関わるノートを、安全で信頼でき、他人がアクセスできないローカル環境に保存しているにもかかわらず、AIによる要約、整理、分析、学習などの機能を利用するために、クラウド上のAIモデルにアップロードする必要があるとしたら、それはローカルファーストの考え方に反するのではないでしょうか?

幸いなことに、Copilotはオープンソースで無料利用可能な2つのLLMを統合しており、Obsidian内でOLLAMAやLM Studioを通じて、ノートや保管庫全体に対するQ&A操作を行うことができます。

+ 🔔注意

LLMの環境とモデルファイルはローカルマシンにインストールされるため、その実行性能はコンピューターのハードウェアに依存します。したがって、より高い処理能力を持つコンピューター、特に十分なメモリとGPUを搭載したマシンを使用することをお勧めします。

1. Copilot設定

  • LM StudioサーバーのデフォルトURLはhttp://localhost:1234/v1ですが、インストール時に使用したポート番号に応じて変更してください(例:http://localhost:51234/v1)。
  • OLLAMA_ORIGINSが正しく設定されていることを確認してください。
  • Ollamaがデフォルトで使用するモデルはllama2です。Ollama起動時に別のモデルをロードしている場合は、これを変更する必要があります(例:llama2-chineseに変更)。
  • OllamaのデフォルトURLはhttp://localhost:11434で、通常は変更する必要はありません。
+ 重要

設定を変更した後は、必ず最上部にある【Save and Reload】をクリックしてください!

2. Copilot操作概要

Copilotの対話モードには、以下の3種類があります:

  1. Chat
  2. Long Note QA
  3. Vault QA

後者2つのモード(Long Note QA、Vault QA)では、モード切り替え時に自動的にインデックスが作成されます。モードメニューの右側にあるボタンをクリックして、手動でインデックスを再作成することも可能です。

2.1. Chatモード

  1. ノート内のテキストを選択し、Ctrl+Pを押してコマンドパレットを開き、「copilot」と入力して実行したいコマンド(例:Translate selection、Summarize selectionなど)をクリックします。
  2. Copilotパネルに任意のテキストを入力し、【Send】をクリックして回答を得ます。
  3. Copilotパネルで[[と入力するとノートの候補が表示され、選択したノートに関するQ&Aチャットを行えます。

2.2. Long Note QAモード

現在開いているノートを対象としたQ&A操作です。

2.3. Vault QAモード

保管庫全体を対象としたQ&A操作です。

3. LM Studio

  • 左側のサイドバーにあるフォルダアイコンから、モデルの保存場所を変更できます。Cドライブの空き容量が少ない場合は、先に他のドライブに変更しておきましょう。

3.1. モデルのダウンロード

  • llama2またはllama2-chineseを検索 → 【Go】をクリックし、右側に表示されたモデルの中からいずれかを選択して【Download】をクリックします。
    gh|700

3.2. チャット

gh|700

3.3. ローカルサーバーの起動

  • デフォルトのポート1234で起動できない場合(エラーコード: -4092)、ポート番号を51234などに変更します。
  • Cross Origin Resource Sharing (CORS) オリジン間リソース共有: これを有効にする必要があります。有効にしないと、外部からAPIを呼び出せません。

gh|700

テスト:

curl http://localhost:51234/v1/chat/completions ^
-H "Content-Type: application/json" -d^
"{^
  \"messages\": [ ^
    { \"role\": \"system\", \"content\": \"Always answer in rhymes.\" },^
    { \"role\": \"user\", \"content\": \"Introduce yourself.\" }^
  ], ^
  \"temperature\": 0.7, ^
  \"max_tokens\": -1,^
  \"stream\": false^
}"

4. OLLAMA

4.1. インストール

  • まず環境変数を設定します:設定 → システム → バージョン情報 → システムの詳細設定 → 環境変数 → 下部の「システム環境変数」 → 「新規」で以下の3つの環境変数を追加します。
    • OLLAMA_MODELSでデフォルトのモデル保存フォルダを変更します。
    • OLLAMA_ORIGINSでCORS(オリジン間リソース共有)を許可する外部オリジンを設定します。
      • デフォルトのapp://obsidian.md* ollama serveで接続できない場合は、app://obsidian.md*に変更してみてください。
set OLLAMA_HOST=127.0.0.1
set OLLAMA_MODELS=d:\ollama\models
rem set OLLAMA_ORIGINS=app://obsidian.md* ollama serve
set OLLAMA_ORIGINS=app://obsidian.md*

gh|500

  • デフォルトの実行ファイルパス:C:\Users\<ユーザー名>\AppData\Local\Programs\Ollama\

    gh|500

  • クリックするとPowerShellが起動し、ollama run llama2が実行されます。

  • PowerShellが起動しない場合は、自分でターミナルを開き、以下のコマンドを実行してください:

ollama pull llama2
ollama run llama2
  • llama2モデルの代わりに、中国語向けに調整されたllama2-chineseを使用することもできます。

gh|500

  • llama2モデルが自動的にダウンロードされます。

    gh|700

  • /?と入力すると、利用可能なコマンドが表示されます。

    gh|700

4.2. CORSエラー

  • OLLAMA_ORIGINSが正しく設定されていない場合、チャット時にCORSエラーが発生します。
    gh|700

ターミナルで/byeと入力してコマンドラインのOllamaを終了しても、システムトレイ(タスクトレイ)でOllama App.exeが実行中の場合があります。こちらも忘れずに終了させてください。

5. 💡 関連リンク

💡 解説記事: https://jdev.tw/blog/8385/
logancyang/obsidian-copilot: A ChatGPT Copilot in Obsidian
✅ Download Ollama: https://ollama.com/download
Ollama library
✅ Ollama GitHub : https://github.com/ollama/ollama
✅ Ollama FAQ: https://github.com/ollama/ollama/blob/main/docs/faq.md#faq
✅ LM Studio: https://lmstudio.ai/
✅ チュートリアル共有 【LM Studio】執行語言模型的最好程式介面 無需特別設定便可以使用語言模型|方便管理與使用多種模型 可快速架設與OpenAI相容的伺服器

6. 解説動画