T-CREATOR

Ollama のインストール完全ガイド:macOS/Linux/Windows(WSL)対応手順

Ollama のインストール完全ガイド:macOS/Linux/Windows(WSL)対応手順

ローカル環境で大規模言語モデル(LLM)を動かしたいと思ったことはありませんか?Ollama を使えば、macOS、Linux、Windows(WSL)のいずれの環境でも、簡単に LLM をローカルで実行できます。この記事では、各 OS ごとのインストール手順を詳しく解説しますので、初めての方でも安心して進められるでしょう。

背景

Ollama とは何か

Ollama は、ローカル環境で大規模言語モデル(LLM)を簡単に実行できるツールです。 従来、LLM を動かすには複雑な環境構築や GPU の設定が必要でしたが、Ollama はそれらを大幅に簡略化してくれます。

オープンソースで提供されており、商用利用も可能なため、個人開発者から企業まで幅広く利用されています。 Llama 2、Mistral、Gemma など、人気のあるモデルを手軽にダウンロードして実行できるのが大きな魅力ですね。

Ollama の主な特徴

以下の表は、Ollama が持つ代表的な特徴をまとめたものです。

#特徴説明
1シンプルなインストールワンクリックまたはワンコマンドでインストール可能
2モデル管理の簡便性ollama pull コマンドで簡単にモデルをダウンロード
3REST API 対応HTTP 経由でモデルと対話できる
4クロスプラットフォームmacOS、Linux、Windows(WSL)で動作
5GPU 対応NVIDIA、AMD の GPU を自動検出して利用

Ollama のアーキテクチャ

以下の図は、Ollama の基本的な構成を示しています。 ユーザーは CLI または API 経由で Ollama サーバーにアクセスし、サーバーがモデルを読み込んで推論を実行します。

mermaidflowchart TD
    user["ユーザー"] -->|CLI / API| ollama["Ollama<br/>サーバー"]
    ollama -->|モデル読み込み| models[("ローカル<br/>モデル")]
    ollama -->|推論実行| gpu["GPU / CPU"]
    gpu -->|結果返却| ollama
    ollama -->|レスポンス| user

図のポイント

  • Ollama はサーバーとして常駐し、リクエストを受け付けます
  • モデルはローカルに保存され、必要に応じて読み込まれます
  • GPU が利用可能な場合は自動的に GPU で推論を実行します

課題

LLM 実行環境の複雑さ

従来の LLM 実行環境では、以下のような課題がありました。

mermaidflowchart LR
    setup["環境構築"] -->|複雑な手順| dep["依存関係<br/>管理"]
    dep -->|バージョン<br/>競合| gpu_setup["GPU<br/>ドライバ設定"]
    gpu_setup -->|相性問題| model["モデル<br/>ダウンロード"]
    model -->|実行| error["エラー<br/>発生"]

Python 環境のセットアップ、CUDA や ROCm のインストール、PyTorch や TensorFlow のバージョン管理など、多くのステップが必要でした。 特に GPU を利用する場合、ドライバとフレームワークの相性問題でエラーが頻発することも少なくありません。

OS ごとの違いによる混乱

macOS、Linux、Windows では、それぞれインストール方法や利用可能な機能が異なります。 初心者にとっては、どの手順を踏めばよいのか判断するのが難しいという問題がありました。

以下は、OS ごとの典型的な課題です。

#OS主な課題
1macOSHomebrew の利用や M1/M2 チップへの対応
2Linuxディストリビューションごとのパッケージ管理の違い
3WindowsWSL のセットアップと Windows 側との連携

モデル管理の煩雑さ

LLM のモデルファイルは数 GB から数十 GB に及ぶため、ダウンロードや保存場所の管理も大変です。 複数のモデルを試したい場合、手動で管理するのは非常に手間がかかりますね。

解決策

Ollama によるシンプル化

Ollama は、上記の課題をすべて解決してくれます。 インストールは数分で完了し、モデルのダウンロードも ollama pull コマンド一つで済むのです。

以下の図は、Ollama を使った場合のシンプルな構成を示しています。

mermaidflowchart LR
    install["Ollama<br/>インストール"] -->|1コマンド| ready["即座に<br/>利用可能"]
    ready -->|ollama pull| download["モデル<br/>ダウンロード"]
    download -->|ollama run| exec["実行"]

OS 別インストール戦略

各 OS に最適化されたインストール方法を提供しているため、環境に応じた手順を選ぶだけで済みます。

#OSインストール方法
1macOS公式インストーラー(.dmg)または Homebrew
2Linuxインストールスクリプトまたはパッケージマネージャー
3Windows(WSL)WSL 内で Linux 版をインストール

自動 GPU 検出

Ollama は起動時に自動的に GPU を検出し、利用可能であれば GPU で推論を実行します。 ユーザーが手動で設定する必要はありませんので、初心者でも安心して利用できるでしょう。

具体例

macOS へのインストール

macOS では、2 つの方法でインストールできます。

方法 1:公式インストーラーを使う

公式サイトから .dmg ファイルをダウンロードしてインストールする方法です。

手順 1:公式サイトへアクセス

Ollama 公式サイト へアクセスし、「Download for macOS」ボタンをクリックします。

手順 2:.dmg ファイルをダウンロード

ブラウザでダウンロードが開始されます。 完了したら、ダウンロードフォルダから Ollama.dmg を開いてください。

手順 3:アプリケーションフォルダへ移動

表示されるウィンドウで、Ollama アイコンを Applications フォルダへドラッグ&ドロップします。

手順 4:Ollama を起動

Launchpad または Spotlight から Ollama を起動すると、メニューバーに Ollama のアイコンが表示されます。 これでバックグラウンドでサーバーが起動しました。

手順 5:ターミナルで動作確認

ターミナルを開き、以下のコマンドを実行します。

bashollama --version

バージョン情報が表示されれば、インストール成功です。

csharpollama version is 0.1.26

方法 2:Homebrew を使う

Homebrew を利用している場合は、コマンド一つでインストールできます。

手順 1:Homebrew のインストール確認

まず、Homebrew がインストールされているか確認しましょう。

bashbrew --version

インストールされていない場合は、以下のコマンドでインストールします。

bash/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

手順 2:Ollama をインストール

以下のコマンドで Ollama をインストールします。

bashbrew install ollama

手順 3:Ollama サービスを起動

Homebrew でインストールした場合、サービスとして起動できます。

bashbrew services start ollama

これで、バックグラウンドで Ollama サーバーが起動します。

手順 4:動作確認

bashollama --version

バージョン情報が表示されれば完了です。

macOS でのモデル実行

インストールが完了したら、実際にモデルをダウンロードして実行してみましょう。

手順 1:モデルをダウンロード

Llama 2 の 7B モデルをダウンロードします。

bashollama pull llama2

ダウンロードには数分かかります。 進行状況がターミナルに表示されますので、完了まで待ちましょう。

手順 2:モデルを実行

bashollama run llama2

対話モードが起動し、プロンプトが表示されます。

python-repl>>> Hello, what can you do?

このように入力すると、モデルが応答を返してくれます。 終了するには ​/​bye と入力してください。

Linux へのインストール

Linux では、公式スクリプトを使った方法が最も簡単です。

方法 1:公式インストールスクリプトを使う

手順 1:スクリプトをダウンロードして実行

ターミナルを開き、以下のコマンドを実行します。

bashcurl -fsSL https://ollama.ai/install.sh | sh

このコマンドは、インストールスクリプトをダウンロードして即座に実行します。 管理者権限が必要な場合は、パスワードの入力を求められることがあります。

手順 2:インストール完了を確認

インストールが完了すると、以下のメッセージが表示されます。

python-repl>>> Ollama has been installed successfully!

手順 3:Ollama サービスを起動

systemd を使っている場合、以下のコマンドでサービスを起動します。

bashsudo systemctl start ollama

自動起動を有効にするには、以下のコマンドを実行してください。

bashsudo systemctl enable ollama

手順 4:動作確認

bashollama --version

バージョン情報が表示されれば、インストール成功です。

方法 2:パッケージマネージャーを使う(Ubuntu の例)

Ubuntu や Debian 系のディストリビューションでは、パッケージマネージャー経由でもインストールできます。

手順 1:リポジトリを追加

bashcurl -fsSL https://ollama.ai/gpg | sudo gpg --dearmor -o /usr/share/keyrings/ollama-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/ollama-keyring.gpg] https://ollama.ai/deb stable main" | sudo tee /etc/apt/sources.list.d/ollama.list

手順 2:パッケージリストを更新

bashsudo apt update

手順 3:Ollama をインストール

bashsudo apt install ollama

手順 4:サービスを起動

bashsudo systemctl start ollama
sudo systemctl enable ollama

Linux でのモデル実行

手順 1:モデルをダウンロード

bashollama pull mistral

Mistral モデルをダウンロードします。

手順 2:モデルを実行

bashollama run mistral

対話モードが起動し、プロンプトが表示されます。

Windows(WSL)へのインストール

Windows では、WSL(Windows Subsystem for Linux)を使って Ollama をインストールします。

以下の図は、Windows と WSL の関係を示しています。

mermaidflowchart TD
    win["Windows 11"] -->|WSL 有効化| wsl["WSL<br/>(Ubuntu)"]
    wsl -->|Ollama<br/>インストール| ollama["Ollama<br/>サーバー"]
    win["Windows 11"] -->|ブラウザ/<br/>ターミナル| api["localhost:11434"]
    api -->|API| ollama

図のポイント

  • WSL は Windows 上で Linux 環境を提供します
  • Ollama は WSL 内で動作しますが、Windows 側からもアクセス可能です
  • localhost 経由で API にアクセスできます

手順 1:WSL をインストール

WSL がインストールされていない場合

PowerShell を管理者権限で開き、以下のコマンドを実行します。

powershellwsl --install

デフォルトで Ubuntu がインストールされます。 完了したら、再起動を求められるので再起動してください。

WSL が既にインストールされている場合

バージョンを確認します。

powershellwsl --list --verbose

WSL 2 を使っていることを確認してください。 WSL 1 の場合は、以下のコマンドでアップグレードできます。

powershellwsl --set-version Ubuntu 2

手順 2:Ubuntu を起動

スタートメニューから「Ubuntu」を検索して起動します。 初回起動時は、ユーザー名とパスワードの設定を求められますので、設定してください。

手順 3:Ubuntu 内で Ollama をインストール

Ubuntu のターミナルが起動したら、以下のコマンドを実行します。

bashcurl -fsSL https://ollama.ai/install.sh | sh

インストールが完了すると、成功メッセージが表示されます。

手順 4:Ollama サービスを起動

bashsudo systemctl start ollama
sudo systemctl enable ollama

手順 5:Windows 側から動作確認

Windows の PowerShell またはコマンドプロンプトを開き、以下のコマンドを実行します。

powershellwsl -d Ubuntu -e ollama --version

バージョン情報が表示されれば、インストール成功です。

WSL でのモデル実行

手順 1:Ubuntu ターミナルでモデルをダウンロード

bashollama pull gemma:2b

Gemma の 2B モデルをダウンロードします。

手順 2:モデルを実行

bashollama run gemma:2b

対話モードが起動します。

手順 3:Windows 側から API 経由でアクセス

Windows のブラウザやアプリケーションから、http:​/​​/​localhost:11434 経由で Ollama にアクセスできます。

以下は、PowerShell から curl を使って API を呼び出す例です。

powershellcurl.exe http://localhost:11434/api/generate -Method Post -Body '{"model":"gemma:2b","prompt":"こんにちは"}' -ContentType "application/json"

JSON 形式でレスポンスが返されます。

共通:モデル管理コマンド

インストールが完了したら、以下のコマンドでモデルを管理できます。

モデル一覧の表示

bashollama list

ダウンロード済みのモデルが一覧表示されます。

makefileNAME            SIZE    MODIFIED
llama2:latest   3.8 GB  2 days ago
mistral:latest  4.1 GB  1 day ago

モデルの削除

不要になったモデルを削除してディスク容量を節約できます。

bashollama rm mistral

モデルの更新

新しいバージョンがリリースされた場合、再度 pull コマンドで更新できます。

bashollama pull llama2

既に最新版の場合は、「Already up to date」と表示されます。

API を使った活用例

Ollama は REST API を提供しているため、プログラムから簡単に利用できます。

curl を使った基本的な例

bashcurl http://localhost:11434/api/generate -d '{
  "model": "llama2",
  "prompt": "Explain quantum computing in simple terms."
}'

レスポンスは JSON 形式で返されます。

json{
  "model": "llama2",
  "created_at": "2024-03-15T10:30:00Z",
  "response": "Quantum computing uses quantum mechanics...",
  "done": true
}

JavaScript (Node.js) での利用例

Node.js から Ollama を呼び出す例です。

手順 1:プロジェクトのセットアップ

bashmkdir ollama-example
cd ollama-example
yarn init -y

手順 2:axios をインストール

bashyarn add axios

手順 3:スクリプトを作成

index.js ファイルを作成し、以下のコードを記述します。

javascript// axios をインポート
const axios = require('axios');

// Ollama API のエンドポイント
const OLLAMA_API = 'http://localhost:11434/api/generate';
javascript// モデルにプロンプトを送信する関数
async function queryModel(prompt) {
  try {
    // POST リクエストを送信
    const response = await axios.post(OLLAMA_API, {
      model: 'llama2',
      prompt: prompt,
      stream: false, // ストリーミングを無効化
    });

    // レスポンスを返す
    return response.data.response;
  } catch (error) {
    console.error('エラーが発生しました:', error.message);
    return null;
  }
}
javascript// メイン処理
(async () => {
  const question = 'What is the capital of Japan?';
  console.log(`質問: ${question}`);

  const answer = await queryModel(question);
  console.log(`回答: ${answer}`);
})();

手順 4:スクリプトを実行

bashnode index.js

以下のような出力が得られます。

csharp質問: What is the capital of Japan?
回答: The capital of Japan is Tokyo.

TypeScript での型安全な実装

TypeScript を使うと、型安全に API を利用できます。

手順 1:TypeScript と型定義をインストール

bashyarn add typescript @types/node ts-node
yarn add axios

手順 2:tsconfig.json を作成

json{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  }
}

手順 3:型定義を作成

types.ts ファイルを作成します。

typescript// Ollama API のリクエスト型
export interface OllamaRequest {
  model: string;
  prompt: string;
  stream?: boolean;
}

// Ollama API のレスポンス型
export interface OllamaResponse {
  model: string;
  created_at: string;
  response: string;
  done: boolean;
}

手順 4:メインスクリプトを作成

index.ts ファイルを作成します。

typescriptimport axios from 'axios';
import { OllamaRequest, OllamaResponse } from './types';

// API エンドポイント
const OLLAMA_API = 'http://localhost:11434/api/generate';
typescript// 型安全なクエリ関数
async function queryModel(
  prompt: string
): Promise<string | null> {
  try {
    const request: OllamaRequest = {
      model: 'llama2',
      prompt: prompt,
      stream: false,
    };

    const response = await axios.post<OllamaResponse>(
      OLLAMA_API,
      request
    );
    return response.data.response;
  } catch (error) {
    if (error instanceof Error) {
      console.error('エラーが発生しました:', error.message);
    }
    return null;
  }
}
typescript// メイン処理
(async () => {
  const question = 'Explain TypeScript in one sentence.';
  console.log(`質問: ${question}`);

  const answer = await queryModel(question);
  if (answer) {
    console.log(`回答: ${answer}`);
  }
})();

手順 5:実行

bashyarn ts-node index.ts

トラブルシューティング

インストールや実行時によくあるエラーと解決方法をまとめました。

エラー 1:command not found: ollama

エラーメッセージ

bashzsh: command not found: ollama

発生条件

  • Ollama がインストールされていない
  • PATH が正しく設定されていない

解決方法

  1. インストールが完了しているか確認します
bashwhich ollama
  1. 何も表示されない場合は、再度インストールを実行してください

macOS (Homebrew):

bashbrew install ollama

Linux:

bashcurl -fsSL https://ollama.ai/install.sh | sh
  1. PATH を確認します(Linux の場合)
bashecho $PATH

​/​usr​/​local​/​bin が含まれていない場合は、.bashrc または .zshrc に追加します。

bashexport PATH="/usr/local/bin:$PATH"

エラー 2:Error: Failed to load dynamic library

エラーメッセージ

kotlinError: Failed to load dynamic library 'libcuda.so.1': cannot open shared object file

発生条件

  • NVIDIA GPU を使おうとしているが、CUDA ドライバがインストールされていない

解決方法

  1. CPU で実行する場合は、このエラーは無視できます(自動的に CPU にフォールバックします)

  2. GPU を使いたい場合は、NVIDIA ドライバをインストールします

Ubuntu の場合:

bashsudo apt update
sudo apt install nvidia-driver-535
  1. インストール後、再起動します
bashsudo reboot

エラー 3:Error: connection refused

エラーメッセージ

sqlError: Get "http://localhost:11434/api/version": dial tcp 127.0.0.1:11434: connect: connection refused

発生条件

  • Ollama サーバーが起動していない

解決方法

  1. Ollama サーバーを起動します

macOS:

bashbrew services start ollama

または、手動で起動:

bashollama serve

Linux:

bashsudo systemctl start ollama
  1. サービスの状態を確認します
bashsudo systemctl status ollama
  1. ポートが使用されているか確認します
bashlsof -i :11434

エラー 4:Error: model not found

エラーメッセージ

javascriptError: model 'llama2' not found, try pulling it first

発生条件

  • 実行しようとしているモデルがダウンロードされていない

解決方法

  1. モデルをダウンロードします
bashollama pull llama2
  1. ダウンロード済みのモデルを確認します
bashollama list

エラー 5:WSL で systemctl が使えない

エラーメッセージ

csharpSystem has not been booted with systemd as init system (PID 1). Can't operate.

発生条件

  • WSL 1 を使用している、または systemd が有効になっていない

解決方法

  1. WSL 2 にアップグレードします(Windows PowerShell で実行)
powershellwsl --set-version Ubuntu 2
  1. systemd を有効にします(Ubuntu ターミナルで実行)

​/​etc​/​wsl.conf を編集します。

bashsudo nano /etc/wsl.conf

以下の内容を追加します。

ini[boot]
systemd=true
  1. WSL を再起動します(Windows PowerShell で実行)
powershellwsl --shutdown
  1. 再度 Ubuntu を起動して、systemd が有効になったか確認します
bashsystemctl --version

パフォーマンス最適化

Ollama をより快適に使うための設定をご紹介します。

GPU メモリの設定

GPU メモリが限られている場合、以下の環境変数で使用量を制限できます。

bashexport OLLAMA_GPU_MEMORY_FRACTION=0.8

これにより、GPU メモリの 80% までしか使用しなくなります。

同時リクエスト数の設定

複数のリクエストを同時に処理する場合、以下の環境変数で制御できます。

bashexport OLLAMA_NUM_PARALLEL=2

モデルのプリロード

頻繁に使うモデルは、起動時にメモリにロードしておくと応答が速くなります。

bashollama run llama2 --keep-alive 60m

これにより、60 分間モデルがメモリに保持されます。

まとめ

Ollama を使えば、macOS、Linux、Windows(WSL)のいずれの環境でも、簡単に大規模言語モデルをローカルで実行できます。 インストールはワンクリックまたはワンコマンドで完了し、モデルのダウンロードや実行も直感的に行えるのが大きな魅力ですね。

この記事では、各 OS ごとの具体的なインストール手順から、モデルの実行方法、API を使った活用例、トラブルシューティングまで幅広く解説しました。 初めての方でも、この手順に従えば確実に Ollama を動かせるでしょう。

ローカル環境で LLM を動かすことで、プライバシーを保ちながら自由に実験できるメリットがあります。 ぜひ Ollama を活用して、LLM の可能性を探ってみてください。

関連リンク