導入
ローカル環境で大規模言語モデル(LLM)を手軽に実行できるツールとして、Ollamaは多くの開発者やAI愛好家から支持を集めています。しかし、ollama runコマンドを実行した際に、頻繁に遭遇するエラーが「Error: model ‘モデル名’ not found」です。このエラーは、一見単純な問題のように見えますが、その背後にはいくつかの異なる原因が潜んでいる可能性があります。本記事では、この「model not found」エラーの根本的な原因を探り、段階的なトラブルシューティングと確実な解決方法を、具体的なコード例を交えて詳しく解説します。
「model not found」エラーの主な原因
このエラーメッセージが表示される根本的な原因は、Ollamaが要求されたモデル名をローカルシステム上で見つけられないことにあります。具体的には、以下の3つのシナリオが考えられます。
- モデルのダウンロード(プル)が完了していない: モデル名を指定して
ollama runを実行すると、Ollamaは自動的にモデルのダウンロードを試みます。しかし、ネットワーク接続の問題やOllamaプロセスの不具合により、このプロセスが中断または失敗することがあります。 - モデル名のタイポまたは存在しないモデルの指定: ユーザーが誤ったモデル名を入力しているか、Ollamaの公式ライブラリに存在しないカスタムモデル名を指定している可能性があります。
- Ollamaの環境設定またはキャッシュの問題: Ollamaがモデルを保存するデフォルトディレクトリへのパスが正しく設定されていなかったり、モデル情報のキャッシュが破損していたりする場合です。
解決方法:段階的なトラブルシューティング
以下に、最も一般的な原因から順を追って確認・解決する方法を説明します。各ステップを順番に試すことをお勧めします。
ステップ1: モデルの明示的なダウンロード(プル)
ollama runは暗黙的にモデルをプルしますが、明示的にollama pullコマンドを使用することで、ダウンロードプロセスを詳細に確認し、確実に実行できます。
# 基本的なモデルプルの実行(例: llama3.2)
ollama pull llama3.2
# 出力を詳細モードで確認(ダウンロード進捗が詳細に表示される)
ollama pull llama3.2 -v
# 特定のバージョンタグを指定してプル(例: codellamaの7bパラメータ版)
ollama pull codellama:7b
このコマンドを実行すると、モデルのダウンロードと展開の進捗が表示されます。ネットワークエラーが発生した場合は、ここで明確なエラーメッセージが得られるため、接続問題の特定が容易になります。成功したら、再度ollama run llama3.2を試してください。
ステップ2: 利用可能なモデルの一覧確認と名前の正確性チェック
ローカルにどのモデルが存在するか、またOllamaが認識しているモデル名を正確に確認します。
# ローカルにダウンロード済みのモデル一覧を表示
ollama list
# Ollamaライブラリで利用可能なモデル一覧を表示(公式モデル)
# 注意: このコマンドはOllamaのバージョンによっては異なる場合があります。
# 最新のリストは公式サイト(https://ollama.com/library)で確認できます。
ollama listの出力に目的のモデル名が表示されない場合、それはローカルに存在しないことを意味します。公式モデル名は「llama3.2」、「mistral」、「codellama:13b」などの形式です。大文字小文字やコロン(:)の後のタグ(バージョンやサイズ)が正しいか再確認してください。
ステップ3: モデルファイルの保存場所の確認と手動削除
ダウンロードが不完全でモデルファイルが破損している可能性があります。その場合、該当モデルを削除して再プルする必要があります。
# 問題のあるモデルを削除する(例: 'my-model'というモデルを削除)
ollama rm my-model
# 削除後、改めてモデルをプルする
ollama pull llama3.2
また、Ollamaのモデルは通常、以下のディレクトリに保存されています。ファイルマネージャーやターミナルで直接確認・削除することも可能です。
- macOS:
~/.ollama/models - Linux:
~/.ollama/models - Windows:
C:\Users\[ユーザー名]\.ollama\models
このディレクトリ内に対応するモデル名のフォルダがあるか確認し、疑わしい場合はOllamaサービスを停止した上でフォルダごと削除し、ステップ1からやり直します。
ステップ4: Ollamaサービスの再起動
Ollamaのバックグラウンドサービス(デーモン)がモデルリストの更新に失敗している可能性があります。サービスを再起動して状態をリフレッシュします。
# macOS または Linux (サービスマネージャーを使用する場合)
sudo systemctl restart ollama # systemdを使用している場合
# または、Ollamaをアプリケーションから完全に終了させ、再起動する。
# Windows
# タスクマネージャーから「Ollama」プロセスを終了し、スタートメニューからOllamaを再起動。
ステップ5: カスタムモデルまたはModelfileを使用している場合の確認
自分で作成したModelfileからモデルを作成(ollama create)した場合、モデル名は任意に設定できます。そのモデルを実行するには、作成時に指定した正確な名前を使用する必要があります。
# Modelfileからカスタムモデルを作成する例
# 1. Modelfileという名前のファイルを作成し、ベースモデル等を定義
# FROM llama3.2
# SYSTEM "あなたは親切なアシスタントです。"
# 2. カスタムモデルを作成(ここではモデル名を'my-assistant'と指定)
ollama create my-assistant -f ./Modelfile
# 3. 作成したカスタムモデルを実行
ollama run my-assistant # 'llama3.2'ではなく'my-assistant'を指定
カスタムモデルでエラーが発生する場合は、ollama listで作成したモデル名が表示されているか、Modelfileの文法やベースモデル名(FROM)が正しいかを再確認してください。
まとめ
ollama run実行時の「model not found」エラーは、主に(1)モデルがローカルに存在しない、(2)モデル名が間違っている、(3)モデルファイルが破損している、という3点に起因します。解決への第一歩は、ollama pull モデル名で明示的なダウンロードを試み、そのプロセスを観察することです。それでも解決しない場合は、ollama listによる確認、モデルの削除と再ダウンロード、Ollamaサービスの再起動という系統的なアプローチが有効です。カスタムモデルを使用している場合は、モデル作成時の名前を正確に思い出すことが重要です。これらの手順に従うことで、ほとんどの「model not found」エラーは迅速に解決し、スムーズにLLMとの対話を開始できるでしょう。