T-CREATOR

Ollama コマンドチートシート:`run`/`pull`/`list`/`ps`/`stop` の虎の巻

Ollama コマンドチートシート:`run`/`pull`/`list`/`ps`/`stop` の虎の巻

ローカル環境で LLM を動かす Ollama は、非常にシンプルなコマンド体系が魅力です。しかし、実際に使い始めると「どのコマンドをどう使うんだっけ?」と迷うこともあるでしょう。

この記事では、Ollama の基本 5 コマンド(runpulllistpsstop)に絞って、それぞれの使い方と具体例を徹底解説します。この 5 つを覚えるだけで、日常的な LLM 開発やテストがスムーズに進むようになるはずです。

コマンド早見表

各コマンドの役割と主な使い方を以下の表にまとめました。

#コマンド役割主な用途基本構文
1ollama runモデルを実行するモデルのダウンロード+起動、対話的なチャットollama run <モデル名>
2ollama pullモデルをダウンロードする事前にモデルを取得しておくollama pull <モデル名>
3ollama listダウンロード済みモデル一覧ローカルにあるモデルの確認ollama list
4ollama ps実行中のモデルを表示メモリ使用状況や稼働状態の確認ollama ps
5ollama stopモデルを停止するメモリ解放、リソース管理ollama stop <モデル名>

それでは、各コマンドの詳細を見ていきましょう。

背景

Ollama とは

Ollama は、Meta 社の Llama 2 をはじめとする大規模言語モデル(LLM)を、ローカル環境で簡単に動かすためのツールです。通常、LLM を動かすには複雑な環境構築や GPU の設定が必要ですが、Ollama はそれらを自動化し、数コマンドでモデルを起動できるようにしてくれます。

Ollama のアーキテクチャ

Ollama は以下のような構成で動作しています。

mermaidflowchart TD
  cli["CLIコマンド<br/>(ollama run/pull/list等)"]
  server["Ollamaサーバ<br/>(REST API)"]
  model["モデルファイル<br/>(.gguf形式)"]
  engine["推論エンジン<br/>(llama.cpp)"]

  cli -->|リクエスト| server
  server -->|モデル読込| model
  server -->|推論実行| engine
  engine -->|レスポンス| server
  server -->|結果返却| cli

CLI コマンドは Ollama サーバにリクエストを送り、サーバがモデルファイルを読み込んで推論エンジンで処理を行います。このシンプルな構造により、開発者はコマンド一つで LLM を操作できるのです。

コマンド体系の設計思想

Ollama のコマンドは「必要最小限」を徹底しています。Docker Cli に似たシンプルな設計で、以下の 3 つのカテゴリに分類されます。

  • モデル管理: pulllistrm
  • モデル実行: runserve
  • プロセス管理: psstop

この記事では、最も頻繁に使う 5 つのコマンドに焦点を当てて解説していきます。

課題

ローカル LLM 運用の難しさ

Ollama を使い始めた開発者が直面する課題は、主に以下の 3 点です。

mermaidflowchart LR
  problem1["モデルが多すぎて<br/>どれを選ぶか迷う"]
  problem2["メモリ不足で<br/>モデルが落ちる"]
  problem3["複数モデルの<br/>切り替えが面倒"]

  solution["コマンドの<br/>正しい理解"]

  problem1 --> solution
  problem2 --> solution
  problem3 --> solution

図で理解できる要点:

  • モデル選択、リソース管理、切り替え操作の 3 つが主な課題
  • これらは適切なコマンド理解で解決可能

1. モデル選択の迷い

Ollama では数十種類のモデルが提供されていますが、どのモデルをいつ使うべきか判断が難しいですね。

2. メモリ管理の問題

LLM は大量のメモリを消費します。複数モデルを同時に動かすと、システムが不安定になることもあるでしょう。

3. コマンドの使い分け

runpullの違いや、pslistの使い分けなど、似たようなコマンドの役割を正しく理解することが重要です。

解決策

5 つの基本コマンドをマスターする

Ollama の日常的な操作は、以下の 5 コマンドで 95%カバーできます。

コマンドの関係性

mermaidstateDiagram-v2
  [*] --> pull: ollama pull
  pull --> list: ollama list
  list --> run: ollama run
  run --> ps: ollama ps
  ps --> stop: ollama stop
  stop --> run: ollama run
  stop --> [*]

図で理解できる要点:

  • pullでモデル取得 → listで確認 → runで実行 → psで監視 → stopで停止
  • 実行と停止はサイクルとして繰り返し可能

このフローを理解すれば、Ollama の操作が体系的に把握できます。それでは、各コマンドの詳細を見ていきましょう。

具体例

ollama run - モデルを実行する

runコマンドは、Ollama の中で最も頻繁に使うコマンドです。モデルのダウンロードと起動を一度に行えます。

基本構文

typescriptollama run <モデル名>

具体的な使用例

最も人気のある Llama 2 モデルを起動する場合は、以下のようにします。

bashollama run llama2

初回実行時は自動的にモデルがダウンロードされ、その後対話モードに入ります。

対話モードの例

実行すると、以下のようなプロンプトが表示されます。

bash>>> こんにちは。今日の天気について教えてください。
こんにちは!申し訳ございませんが、私はリアルタイムの情報にアクセスできないため、
今日の具体的な天気情報をお伝えすることはできません。

お住まいの地域の天気予報を確認するには、以下の方法をお勧めします:
- 気象庁のウェブサイト
- 天気予報アプリ
...

より小さなモデルを使う

メモリが限られている環境では、軽量版を選択できます。

bash# 7Bパラメータ版(約4GB)
ollama run llama2:7b

# 13Bパラメータ版(約8GB)
ollama run llama2:13b

モデル名の後ろに:タグ名を付けることで、特定のバージョンやサイズを指定できるのです。

ワンショット実行

対話モードではなく、一度だけ質問して終了したい場合もあります。

bashollama run llama2 "TypeScriptの型推論について簡潔に説明してください"

この形式は、スクリプトから呼び出す場合に便利ですね。

カスタムパラメータを指定する

温度パラメータなどを調整したい場合は、Modelfile を作成して実行します。

bash# Modelfileの例
cat > Modelfile << EOF
FROM llama2
PARAMETER temperature 0.8
PARAMETER top_p 0.9
EOF

# カスタムモデルとしてビルド
ollama create my-llama2 -f Modelfile

# 実行
ollama run my-llama2

これで、より創造的な(temperature 高め)応答を得られるようになります。

ollama pull - モデルをダウンロードする

pullコマンドは、実行せずにモデルをダウンロードだけしたい場合に使います。

基本構文

typescriptollama pull <モデル名>

事前ダウンロードのメリット

プレゼンテーション前やデモ環境の準備で、事前にモデルを用意しておきたいケースがあります。

bash# CodeLlamaを事前ダウンロード
ollama pull codellama

# ダウンロード進捗が表示される
pulling manifest
pulling 8fdf8f752f6e... 100% ▕████████████████▏ 3.8 GB
pulling 8ab4849b038c... 100% ▕████████████████▏ 1.1 KB
pulling 7c23fb36d801... 100% ▕████████████████▏ 4.8 KB
pulling 2e0493f67d0c... 100% ▕████████████████▏   59 B
pulling fa304d675061... 100% ▕████████████████▏   91 B
pulling 42ba7f8a01dd... 100% ▕████████████████▏  557 B
verifying sha256 digest
success

ダウンロードが完了すれば、ネットワークがない環境でもrunコマンドで即座に起動できます。

特定バージョンを取得

タグを指定することで、特定のバージョンを取得できます。

bash# 最新版
ollama pull mistral:latest

# 7Bパラメータ版
ollama pull mistral:7b

# instruct版(指示に従う特化版)
ollama pull mistral:7b-instruct

用途に応じて適切なバージョンを選択しましょう。

ollama list - ダウンロード済みモデル一覧

ローカルにどのモデルがあるかを確認するコマンドです。

基本構文

typescriptollama list

実行結果の例

bashNAME                    ID              SIZE      MODIFIED
llama2:latest           78e26419b446    3.8 GB    2 days ago
codellama:7b            8fdf8f752f6e    3.8 GB    1 week ago
mistral:7b-instruct     61e88e884507    4.1 GB    3 weeks ago

この一覧から、以下の情報が分かります。

#項目説明
1NAMEモデル名とタグ
2IDモデルの一意識別子(ハッシュ値の先頭)
3SIZEディスク使用量
4MODIFIED最終更新日時

ディスク容量の確認

複数モデルをダウンロードすると、ディスク容量を圧迫します。

bash# モデル一覧を確認
ollama list

# 合計サイズを計算(macOS/Linux)
ollama list | awk 'NR>1 {sum+=$3} END {print "Total:", sum, "GB"}'

定期的に使わないモデルは削除して、容量を確保しましょう。

モデルの削除

不要なモデルはrmコマンドで削除できます。

bash# モデルを削除
ollama rm codellama:7b

# 確認
ollama list

削除すると、そのモデルが使用していたディスク領域が解放されます。

ollama ps - 実行中のモデルを表示

現在メモリに読み込まれているモデルを確認するコマンドです。

基本構文

typescriptollama ps

実行結果の例

bashNAME              ID              SIZE      PROCESSOR    UNTIL
llama2:latest     78e26419b446    5.3 GB    100% GPU     4 minutes from now

この情報から、以下が把握できます。

#項目説明
1NAME実行中のモデル名
2IDモデル ID
3SIZEメモリ使用量(ディスク容量より大きい)
4PROCESSORCPU または GPU 使用率
5UNTIL自動アンロードまでの時間

メモリ使用量の監視

複数のモデルを同時に動かすと、メモリ不足が発生することがあります。

bash# 実行中のモデルを確認
ollama ps

# システムのメモリ使用状況も確認(macOS)
vm_stat

# Linux の場合
free -h

メモリ不足が懸念される場合は、使用していないモデルをstopで停止させましょう。

自動アンロードの仕組み

Ollama は、モデルが一定時間使われないと自動的にメモリから解放します。デフォルトは 5 分間です。

bash# 環境変数で変更可能(秒単位)
export OLLAMA_KEEP_ALIVE=300  # 5分間

# 無期限に保持
export OLLAMA_KEEP_ALIVE=-1

# 即座にアンロード
export OLLAMA_KEEP_ALIVE=0

この設定により、リソース管理を柔軟にコントロールできます。

ollama stop - モデルを停止する

メモリから明示的にモデルをアンロードするコマンドです。

基本構文

typescriptollama stop <モデル名>

基本的な使用例

実行中のモデルを停止します。

bash# llama2を停止
ollama stop llama2

# 確認
ollama ps
# (何も表示されない = 停止済み)

複数モデルを一括停止

すべてのモデルを停止したい場合は、シェルスクリプトを使います。

bash# 全モデルを停止(Bash)
ollama ps | awk 'NR>1 {print $1}' | xargs -I {} ollama stop {}

これで、実行中のすべてのモデルが一度に停止されます。

停止が必要な場面

以下のような場合に、明示的な停止が有効です。

#場面理由
1別モデルへの切り替え前メモリ不足を防ぐ
2モデルファイルの更新時古いバージョンをアンロード
3システムメンテナンス前リソース解放
4開発テスト後クリーンな状態に戻す

エラー発生時の対処

モデルが応答しなくなった場合も、stopで強制終了できます。

bash# モデルが応答しない場合
ollama stop llama2

# それでも停止しない場合はサーバごと再起動
# macOS/Linux
brew services restart ollama

# または
pkill ollama
ollama serve

サーバの再起動により、すべてのモデルが確実に停止されます。

実践的なワークフロー

日常的な開発フロー

実際の開発では、これらのコマンドを組み合わせて使います。

mermaidflowchart TD
  start["開発開始"]
  check_list["ollama list<br/>モデル確認"]
  need_pull{"必要なモデルは<br/>ダウンロード済み?"}
  pull_model["ollama pull<br/>モデル取得"]
  run_model["ollama run<br/>モデル起動"]
  check_ps["ollama ps<br/>動作確認"]
  work["開発・テスト作業"]
  stop_model["ollama stop<br/>モデル停止"]
  done["作業終了"]

  start --> check_list
  check_list --> need_pull
  need_pull -->|No| pull_model
  need_pull -->|Yes| run_model
  pull_model --> run_model
  run_model --> check_ps
  check_ps --> work
  work --> stop_model
  stop_model --> done

図で理解できる要点:

  • list → pull → run → ps → stop の順序で進める
  • 必要なモデルがない場合のみ pull を実行
  • 作業後は必ず stop でリソース解放

スクリプト化の例

頻繁に使う操作は、シェルスクリプトにまとめると便利です。

bash#!/bin/bash
# ollama-workflow.sh

echo "=== Ollama ワークフロー ==="

# 1. 利用可能なモデルを確認
echo "ダウンロード済みモデル:"
ollama list

# 2. 実行中のモデルを確認
echo ""
echo "実行中のモデル:"
ollama ps

# 3. モデルを指定して実行
echo ""
read -p "起動するモデル名を入力: " model_name

if [ -n "$model_name" ]; then
    ollama run $model_name
else
    echo "モデル名が入力されませんでした"
fi

実行権限を付与して使います。

bash# 実行権限を付与
chmod +x ollama-workflow.sh

# 実行
./ollama-workflow.sh

Docker 環境での使用

Docker コンテナ内で Ollama を使う場合も、コマンドは同じです。

dockerfile# Dockerfile
FROM ollama/ollama:latest

# モデルを事前ダウンロード
RUN ollama pull llama2:7b

EXPOSE 11434

コンテナを起動します。

bash# イメージをビルド
docker build -t my-ollama .

# コンテナを起動
docker run -d -p 11434:11434 --name ollama-server my-ollama

# コンテナ内でコマンド実行
docker exec -it ollama-server ollama list
docker exec -it ollama-server ollama ps

この方法で、環境を汚さずに Ollama を試せます。

トラブルシューティング

よくあるエラーと解決方法

実際に使っていると、いくつかのエラーに遭遇することがあります。

エラー 1: モデルが見つからない

bashError: model 'llama2' not found

# 解決方法
ollama pull llama2

エラーコード: Error: model not found

発生条件: ダウンロードしていないモデルをrunしようとした

解決方法:

  1. ollama listで存在を確認
  2. 無ければollama pull <モデル名>で取得
  3. 再度ollama runを実行

エラー 2: メモリ不足

bashError: failed to load model: insufficient memory

# 解決方法
# 1. 実行中のモデルを停止
ollama ps
ollama stop llama2

# 2. より小さいモデルを使用
ollama run llama2:7b  # 13bではなく7bを使用

エラーコード: Error: insufficient memory

発生条件: 使用可能なメモリがモデルサイズより小さい

解決方法:

  1. ollama psで実行中のモデルを確認
  2. 不要なモデルをollama stopで停止
  3. システムの他のアプリケーションを終了
  4. より小さいパラメータ数のモデルを選択

エラー 3: サーバが起動していない

bashError: could not connect to ollama server

# 解決方法(macOS)
brew services start ollama

# または手動起動
ollama serve

エラーコード: Error: could not connect to ollama server

発生条件: Ollama サーバプロセスが起動していない

解決方法:

  1. ollama serveでサーバを起動
  2. macOS の場合はbrew services start ollama
  3. バックグラウンドで起動する場合はollama serve &

参考リンク: Ollama Server Configuration

パフォーマンスチューニング

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

GPU 使用の確認

bash# NVIDIA GPUの場合
nvidia-smi

# Metal(macOS)の場合
ollama ps
# PROCESSORカラムに"GPU"が表示されればOK

環境変数での最適化

bash# GPUレイヤー数を指定(より多くをGPUで処理)
export OLLAMA_NUM_GPU=1

# コンテキストウィンドウサイズ
export OLLAMA_NUM_CTX=4096

# 並列リクエスト数
export OLLAMA_NUM_PARALLEL=2

これらの設定をシェルの設定ファイル(.bashrc.zshrc)に追加すると、起動時に自動適用されます。

まとめ

Ollama の 5 つの基本コマンドについて、詳しく解説してきました。

この記事で学んだコマンドをまとめると、以下のようになります。

コマンドタイミング効果
ollama pull事前準備モデルを取得し、すぐに使える状態にする
ollama list確認時どのモデルがあるか把握できる
ollama run実行時モデルを起動し、対話や推論が可能になる
ollama ps監視時メモリ使用状況やプロセスを確認できる
ollama stop終了時リソースを解放し、次の作業に備える

これらのコマンドを使いこなすことで、ローカル環境での LLM 開発が格段に効率化されます。

最初はrunpullの違いに戸惑うかもしれませんが、実際に手を動かしてみれば、すぐに体で覚えられるでしょう。特にpsstopによるリソース管理は、複数モデルを扱う際に必須のスキルとなります。

ぜひこのチートシートを手元に置いて、日々の LLM 開発に役立ててください。

関連リンク