Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

Ollamaを使ってローカルでLLMを実行する方法とダウンロード方法

中村 拓也

中村 拓也

Updated on 4月 14, 2025

人工知能(AI)の世界は急速に進化しており、ChatGPT、Claude、Geminiなどの大規模言語モデル(LLMs)が世界中の想像力を掻き立てています。これらの強力なツールは、コードを書いたり、メールをドラフトしたり、複雑な質問に答えたり、さらには創造的なコンテンツを生成したりします。しかし、これらのクラウドベースのサービスを使用すると、データプライバシーや潜在的なコスト、常にインターネット接続が必要になることに対する懸念がしばしば伴います。

そこで、「Ollama」の登場です。

Ollamaは、大規模言語モデルへのアクセスを民主化するために設計された強力なオープンソースのツールです。これにより、直接自分のコンピュータ上でモデルをダウンロードし、実行し、管理できるようになります。Ollamaは、最先端のAIモデルをローカルで設定し、対話するプロセスを簡素化します。

Ollamaを使う理由

Ollamaを使用してローカルでLLMsを実行することには、いくつかの魅力的な利点があります:

  1. プライバシー:あなたのプロンプトとモデルの応答は、あなたのコンピュータにとどまります。明示的に設定しない限り、外部サーバーにデータは送信されません。これは、機密情報や独自の作業には重要です。
  2. オフラインアクセス:モデルがダウンロードされると、インターネット接続なしで使用できるため、旅行や遠隔地、接続が不安定な状況に最適です。
  3. カスタマイズ:Ollamaを使用することで、モデルの動作、システムプロンプト、パラメータを具体的なニーズに合わせて簡単に変更できます。
  4. コスト効率:サブスクリプション料金やトークン単位の料金はありません。唯一のコストは、すでに所有しているハードウェアとそれを稼働させるための電力です。
  5. 探求と学習:さまざまなオープンソースモデルを試すための素晴らしいプラットフォームを提供し、それらの能力や限界を理解し、LLMsがどのように機能するかを学ぶことができます。

この記事は、コマンドラインインターフェース(macOS/LinuxのターミナルやWindowsのコマンドプロンプト/PowerShellなど)を使いこなしている初心者向けで、Ollamaを使用してローカルのLLMsの世界を探索したい方のために設計されています。基本的な理解、Ollamaのインストール、初めてのモデルの実行、そのモデルとの対話、基本的なカスタマイズの探索を通じてお手伝いします。

💡
美しいAPIドキュメンテーションを生成する素晴らしいAPIテストツールが欲しいですか?

開発者チームが最大の生産性で一緒に作業できる統合されたオールインワンプラットフォームが欲しいですか?

Apidogはすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます
ボタン

Ollamaはどのように機能するのか?

インストールに入る前に、いくつかの基本的な概念を明確にしましょう。

大規模言語モデル(LLMs)とは何か?

LLMを、インターネットからの膨大な量のテキストやコードで訓練された非常に高度なオートコンプリートシステムとして考えてみてください。このデータのパターンを分析することによって、文法、事実、推論能力、さまざまなスタイルの書き方を学びます。プロンプト(入力テキスト)を与えると、次に続く可能性の高い単語のシーケンスを予測し、一貫性があり、しばしば洞察に満ちた応答を生成します。異なるLLMは異なるデータセット、サイズ、アーキテクチャで訓練されており、それにより強みや弱み、個性にバリエーションが生まれます。

Ollamaはどのように機能しますか?

Ollamaは、あなたのローカルマシン上でこれらのLLMの管理者および実行者として機能します。主な機能は以下の通りです:

  1. モデルのダウンロード:中央ライブラリから事前パッケージされたLLMの重みと設定を取得します(Dockerがコンテナイメージをプルするのと似たような動作です)。
  2. モデルの実行:選択したモデルをコンピュータのメモリ(RAM)にロードし、必要に応じてグラフィックスカード(GPU)を利用して加速します。
  3. インターフェースの提供:モデルとの直接的な対話のためのシンプルなコマンドラインインターフェース(CLI)を提供し、また実行中のLLMと通信するためのAPI(アプリケーションプログラミングインターフェース)を提供するローカルWebサーバーを実行します。

Ollamaのハードウェア要件:私のコンピュータは実行できますか?

ローカルでLLMsを実行することは要求が高く、主にコンピュータのRAM(ランダムアクセスメモリ)に依存します。実行したいモデルのサイズが必要な最小RAMを決定します。

  • 小さいモデル(例:~30億パラメータのPhi-3 Mini):強化されたパフォーマンスを維持するために、8GBのRAMで比較的良好に動作するかもしれませんが、スムーズなパフォーマンスのためにはより多くのRAMが必要です。
  • 中くらいのモデル(例:70〜80億パラメータのLlama 3 8B、Mistral 7B):一般的には少なくとも16GBのRAMが必要です。これは多くのユーザーにとっての一般的なスイートスポットです。
  • 大きなモデル(例:130億以上のパラメータ):しばしば32GBのRAM以上が必要で、非常に大きなモデル(70B以上)は64GBまたは128GBを要求することがあります。

考慮すべき他の要素:

  • CPU(セントラルプロセッシングユニット):重要ですが、ほとんどの現代のCPUは十分です。高速なCPUは役立ちますが、通常はRAMがボトルネックになります。
  • GPU(グラフィックス処理ユニット):強力で互換性のあるGPU(特にLinux/WindowsのNVIDIA GPUやmacOSのApple Silicon GPU)を持っていると、モデルのパフォーマンスが大幅に向上します。Ollamaは必要なドライバーがインストールされている場合、互換性のあるGPUを自動的に検出し利用します。ただし、専用GPUは必須ではありません。OllamaはCPUのみでモデルを実行できますが、その場合は遅くなります。
  • ディスクスペース:ダウンロードしたモデルを保存するための十分なディスクスペースが必要です。モデルのサイズや数によって、数ギガバイトから数十ギガバイト、場合によっては数百ギガバイトになることもあります。

初心者への推奨:最初は小さなモデル(phi3mistralllama3:8bなど)から始め、快適な初期体験のために少なくとも16GBのRAMを確保してください。各モデルの特定のRAMの推奨事項については、Ollamaのウェブサイトやモデルライブラリをご確認ください。

OllamaをMac、Linux、およびWindowsに(WSLを使用して)インストールする方法

OllamaはmacOS、Linux、およびWindows(現在プレビュー中で、WSLを必要とすることが多い)をサポートしています。

ステップ1:前提条件

  • オペレーティングシステム:サポートされているmacOS、Linux、またはWindowsのバージョン(WSL2が推奨されます)。
  • コマンドライン:ターミナル(macOS/Linux)またはコマンドプロンプト/PowerShell/WSLターミナル(Windows)へのアクセス。

ステップ2:Ollamaのダウンロードとインストール

プロセスはOSによって少し異なります:

  • macOS:
  1. 公式Ollamaウェブサイトにアクセスします:https://ollama.com
  2. 「ダウンロード」ボタンをクリックし、「macOS用ダウンロード」を選択します。
  3. .dmgファイルがダウンロードされたら、それを開きます。
  4. OllamaアプリケーションのアイコンをApplicationsフォルダにドラッグします。
  5. 初回実行時に権限を付与する必要があるかもしれません。
  • Linux:

最も簡単な方法は通常公式インストールスクリプトを使用することです。ターミナルを開き、次のコマンドを実行します:

curl -fsSL <https://ollama.com/install.sh> | sh

このコマンドはスクリプトをダウンロードして実行し、Ollamaをユーザー用にインストールします。また、適用される場合にはGPUサポートを検出し、設定することも試みます(NVIDIAドライバーが必要です)。

スクリプトによって表示されるプロンプトに従ってください。手動インストール手順については、OllamaのGitHubリポジトリにもありますので、好みに応じてご利用ください。

  • Windows(プレビュー):
  1. 公式Ollamaウェブサイトにアクセスします:https://ollama.com
  2. 「ダウンロード」ボタンをクリックし、「Windows(プレビュー)用ダウンロード」を選択します。
  3. ダウンロードしたインストーラー実行ファイル(.exe)を実行します。
  4. インストールウィザードの手順に従います。
  5. 重要な注意:WindowsのOllamaは、Windows Subsystem for Linux(WSL2)に大きく依存しています。インストーラーはWSL2が既に設定されていない場合、インストールまたは設定を求めるかもしれません。GPU加速には通常、WSL環境内での特定のWSL設定とNVIDIAドライバーが必要です。Ollamaを使用する際は、WSLターミナル内でよりネイティブに体験できる場合が多いです。

ステップ3:インストールの確認

インストールが完了したら、Ollamaが正しく動作しているか確認する必要があります。

ターミナルまたはコマンドプロンプトを開きます。(Windowsでは、WSLターミナルを使用することをお勧めします)。

次のコマンドを入力してEnterを押します:

ollama --version

インストールが成功した場合、インストールされたOllamaのバージョン番号が表示される出力が得られます。

ollama version is 0.1.XX

これが表示されれば、Ollamaはインストールされ、すぐに使用できます!「コマンドが見つかりません」といったエラーが表示された場合は、インストール手順を再確認し、OllamaがシステムのPATHに追加されたことを確認してください(インストーラーが通常はこれを処理します)、またはターミナルやコンピュータを再起動してみてください。

始めに:Ollamaで最初のモデルを実行する

Ollamaをインストールしたら、LLMをダウンロードして対話することができます。

コンセプト:Ollamaモデルレジストリ

Ollamaは、すぐに利用できるオープンソースモデルのライブラリを維持しています。Ollamaにローカルにないモデルを実行するように依頼すると、自動的にこのレジストリからダウンロードします。これをLLMのためのdocker pullのように考えてください。Ollamaウェブサイトのライブラリセクションで利用可能なモデルを閲覧できます。

モデルの選択

初心者にとっては、バランスの取れた比較的小さいモデルから始めるのが最適です。良いオプションには以下が含まれます:

  • llama3:8b:Meta AIの最新世代モデル(80億パラメータ版)。指示に従うのが得意で、コーディングにも強い全般的なパフォーマー。約16GBのRAMが必要。
  • mistral:Mistral AIの人気モデルで、70億パラメータ。高いパフォーマンスと効率性で知られている。約16GBのRAMが必要。
  • phi3:Microsoftの最近の小型言語モデル(SLM)。サイズに対して非常に能力が高く、パワーの少ないハードウェアでも利用可能。phi3:mini版は8GBのRAMでも動作するかもしれません。
  • gemma:7b:Googleのオープンモデルシリーズ。7B範囲内の別の強力な候補。

各モデルのサイズ、RAM要件、一般的な使用ケースについては、Ollamaのライブラリを確認してください。

モデルのダウンロードと実行(コマンドライン)

使用する主なコマンドはollama runです。

ターミナルを開きます。

モデル名を選択します(例:llama3:8b)。

次のコマンドを入力します:

ollama run llama3:8b

Enterを押します。

次に何が起こるのか?

ダウンロード:ローカルにllama3:8bがない場合、Ollamaはモデルのレイヤーをダウンロードする際の進捗バーを表示します。これは、インターネットの速度やモデルのサイズに依存するため、しばらく時間がかかることがあります(しばしば数ギガバイト)。

読み込み:ダウンロードが完了したら、OllamaはモデルをコンピュータのRAM(およびGPUメモリがある場合は)にロードします。ハードウェアの検出に関するメッセージが表示されることがあります。

インタラクティブチャット:読み込まれた後、次のようなプロンプトが表示されます:これは、モデルが準備完了であることを意味します!あなたは、あなたのマシンで動作しているLLMと直接インタラクティブチャットセッションに入ります。

>>> メッセージを送信する(/?でヘルプ) 

モデルとの対話:

  • >>>の後に質問や指示(「プロンプト」と呼ぶ)を入力し、Enterを押します。
  • モデルが入力を処理し、その応答を生成して、ターミナルにストリーミングします。
  • フォローアッププロンプトを入力して会話を続けることができます。モデルは現在のセッションのコンテキストを保持します。

例の対話:


> メッセージを送信する(/?でヘルプ)
光合成の概念を簡単に説明してください。
>

光合成は、植物が自分の食べ物を作る方法のようなものです!彼らは3つの主要な成分を取ります:

1. **太陽光:** 太陽からのエネルギー。
2. **水:** 根を通じて吸収される。
3. **二酸化炭素:** 空気中の小さな穴から取る気体。

植物は太陽光のエネルギーを使って、水と二酸化炭素を細胞の特別な部分である葉緑体の中で結合します。このプロセスは2つのものを作ります:

1. **糖(グルコース):** これは植物の食べ物であり、成長するためのエネルギーを与えます。
2. **酸素:** 植物が空気中に放出する気体で、動物(私たちを含む)が呼吸するのに必要なものです。

つまり、簡単に言えば:植物は太陽光、水、空気を使って自分の食べ物を作り、私たちが必要とする酸素を放出します!

>
>

セッションからの退出:

チャットが終わったら、/byeと入力してEnterを押します。これにより、モデルがメモリからアンロードされ、通常のターミナルプロンプトに戻ります。また、Ctrl+Dを使うこともできます。

ダウンロードしたモデルの一覧表示

ローカルにダウンロードしたモデルを確認するには、ollama listコマンドを使用します:

ollama list

出力にはモデル名、ユニークID、サイズ、最終更新日時が表示されます:

NAME            ID              SIZE    MODIFIED
llama3:8b       871998b83999    4.7 GB  5日前
mistral:latest  8ab431d3a87a    4.1 GB  2週間前

モデルの削除

モデルはディスクスペースを占有します。特定のモデルがもはや必要でない場合、ollama rmコマンドを使用して削除できます。その後にモデル名を付けて実行します:

ollama rm mistral:latest

Ollamaは削除を確認します。これはダウンロードされたファイルをのみ削除するもので、ollama run mistral:latestを再実行すれば後で再ダウンロードできます。

Ollamaからより良い結果を得る方法

モデルを実行することはスタートに過ぎません。より良い結果を得るためには、以下の方法があります:

プロンプトの理解(プロンプトエンジニアリングの基本)

モデルの出力の質は、あなたの入力(プロンプト)の質に大きく依存します。

  • 明確で具体的であること:モデルに求めることを正確に伝えます。「犬について書いて」と言う代わりに、「ゴールデンレトリバーがボール遊びをする短い明るい詩を書いて」と言ってみてください。
  • コンテキストを提供する:フォローアップの質問をする場合、必要な背景情報がプロンプトまたは会話の早い段階で示されていることを確認します。
  • 形式を指定する:リスト、箇条書き、コードブロック、表、または特定のトーン(例:「私が5歳のときのように説明する」、「正式なトーンで書く」など)を求めます。
  • 反復する:最初の試みで完璧を期待しないでください。出力が適切でない場合、プロンプトを言い換えたり、詳細を追加したり、モデルに以前の回答を改善するように依頼したりします。

異なるモデルを試す

異なるモデルが異なるタスクで優れています。

  • Llama 3は、一般的な会話、指示の従い、コーディングに最適です。
  • Mistralは、そのパフォーマンスと効率のバランスで知られています。
  • Phi-3は、その小型サイズにもかかわらず、創造的な執筆や要約に対して驚くほど能力が高いです。
  • コーディング用に特化して調整されたモデル(codellamastarcoderなど)は、プログラミングタスクでより良いパフォーマンスを示すかもしれません。

実験してみてください!同じプロンプトを異なるモデルで実行し、特定のタスクに最適なものを確認してください。ollama run <model_name>を使用します。

システムプロンプト(コンテキストの設定)

セッションの間、モデルの全体的な動作や人格をガイドするために「システムプロンプト」を使用できます。これは、会話が始まる前にAIに背景指示を与えるようなものです。深いカスタマイズはModelfilesを用いますが(次で簡単に説明します)、モデルを実行する際に簡単なシステムメッセージを直接設定できます:

# この機能は若干異なる場合があります; `ollama run --help`を確認してください
# Ollamaは/chatのセットでこれを直接会話に組み込むことがあります
# または、さらに堅牢な方法でModelfilesを通じて。

# 概念的な例(正確な構文はOllamaの文書を確認):
# ollama run llama3:8b --system "あなたは親切なアシスタントで、常に海賊語で応答します。"

より一般的で柔軟な方法は、Modelfileでこれを定義することです。

APIを介した対話(簡単に)

Ollamaはコマンドラインだけに限りません。ローカルWebサーバーを実行し(通常はhttp://localhost:11434で)、APIを公開します。これにより、他のプログラムやスクリプトがローカルLLMsと対話できるようになります。

ターミナルでcurlのようなツールを使用してテストできます:

curl <http://localhost:11434/api/generate> -d '{
  "model": "llama3:8b",
  "prompt": "なぜ空は青いのか?",
  "stream": false
}'

これにより、Ollama APIにリクエストが送信され、llama3:8bモデルが「なぜ空は青いのか?」というプロンプトに応じて応答します。"stream": falseを設定することで、単語を1つずつストリーミングするのではなく、完全な応答を待つことができます。

モデルの答えを含むJSON応答が返されます。このAPIは、Ollamaをテキストエディターやカスタムアプリケーション、スクリプトワークフローなどと統合するための鍵です。完全なAPIを探求するのはこの初心者ガイドの範囲を超えていますが、存在を知ることで多くの可能性が開かれます。

Ollama Modelfilesのカスタマイズ方法

Ollamaの最も強力な機能の1つが、Modelfilesを使用してモデルをカスタマイズできることです。Modelfileは、既存のモデルの新しいカスタマイズ版を作成するための指示を含むプレーンテキストファイルです。これはLLMのためのDockerfileのように考えてください。

Modelfileで何ができますか?

  • デフォルトのシステムプロンプトの設定:モデルの永久的なペルソナまたは指示を定義します。
  • パラメータの調整:ランダム性や創造性を制御するtemperatureや、単語の選択に影響を与えるtop_k/top_pなどの設定を変更します。
  • テンプレートの定義:プロンプトがベースモデルに送信される前に、どのようにフォーマットされるかをカスタマイズします。
  • モデルの組み合わせ(高度な):機能を統合する可能性があります(ただし、これは複雑です)。

簡単なModelfileの例:

例えば、llama3:8bのバージョンを作成し、常に皮肉なアシスタントとして振る舞うようにしたいとします。

あるディレクトリにModelfile(拡張子なし)という名前のファイルを作成します。

次の内容を追加します:

# 基本のllama3モデルを継承
FROM llama3:8b

# システムプロンプトを設定
SYSTEM """あなたは非常に皮肉屋なアシスタントです。あなたの答えは技術的に正確であるべきですが、ドライなウィットと非協力的に届けられます。"""

# 創造性を調整する(低温度=ランダム性が少ない/より焦点を絞った内容)
PARAMETER temperature 0.5

カスタムモデルの作成:

ターミナルでModelfileを含むディレクトリに移動します。

ollama createコマンドを実行します:

ollama create sarcastic-llama -f ./Modelfile

  • sarcastic-llamaはあなたの新しいカスタムモデルに与える名前です。
  • -f ./Modelfileは使用するModelfileを指定します。

Ollamaは指示を処理し、新しいモデルを作成します。作成したモデルは他のモデルと同様に実行できます:

ollama run sarcastic-llama

これで、sarcastic-llamaと対話する際には、SYSTEMプロンプトで定義された皮肉なペルソナを採用します。

Modelfilesは深いカスタマイズの可能性を提供し、特定のタスクや振る舞いに対してモデルを微調整することができます。Ollamaのドキュメントを探って、利用可能な指示やパラメータの詳細を確認してください。

一般的なOllamaエラーの修正

Ollamaはシンプルさを目指していますが、時折障害に遭遇することがあるかもしれません:

インストールに失敗:

  • 権限:必要なソフトウェアのインストール権限を持っていることを確認してください。Linux/macOSでは、特定のステップでsudoが必要になることがあります(ただし、スクリプトがこれを処理することが多いです)。
  • ネットワーク:インターネット接続を確認してください。ファイアウォールやプロキシがダウンロードをブロックしているかもしれません。
  • 依存関係:WSL2(Windows)や必要なビルドツール(Linuxで手動インストールする場合)のような前提条件が揃っていることを確認してください。

モデルのダウンロード失敗:

  • ネットワーク:不安定なインターネットは大きなダウンロードを中断することがあります。後でもう一度試してみてください。
  • ディスクスペース:十分な空きスペースがあることを確認してください(Ollamaライブラリでモデルサイズを確認)。ollama listおよびollama rmを使用してスペースを管理します。
  • レジストリの問題:時折、Ollamaレジストリに一時的な問題が発生することがあります。Ollamaのステータスページやコミュニティチャンネルを確認してください。

Ollamaのパフォーマンスが遅い:

  • RAM:最も一般的な原因です。モデルがRAMにほとんど収まらない場合、システムは遅いディスクスワップスペースを使用することになり、パフォーマンスが大幅に低下します。他のメモリを大量に消費するアプリケーションを閉じてください。小さなモデルの使用やRAMのアップグレードを考慮してください。
  • GPUの問題(該当する場合):最新の互換性のあるGPUドライバーが正しくインストールされていることを確認します(Linux/WSLのNVIDIAの場合はCUDAツールキットを含む)。ollama run ...を実行して初期出力でGPU検出に関するメッセージを確認します。「CPUにフォールバック中」と表示される場合、GPUは使用されていません。
  • CPUのみ:CPUでの実行は、互換性のあるGPUでの実行よりも遅くなるのが当然です。これは予想される動作です。

「モデルが見つかりません」エラー:

  • タイプミス:モデル名のスペルを再確認してください(例:llama3:8b、ではなくllama3-8b)。
  • ダウンロードされていない:モデルが完全にダウンロードされていることを確認してください(ollama list)。最初に明示的にダウンロードするには、ollama pull <model_name>を試してください。
  • カスタムモデル名:カスタムモデルを使用している場合は、それを作成した際の名前を正しく入力したことを確認してください(ollama create my-model ...、その後ollama run my-model)。
  • その他のエラー/クラッシュ:Ollamaのログを確認して、より詳しいエラーメッセージを探ります。場所はOSによって異なります(Ollamaのドキュメントを確認してください)。

Ollamaの代替は?

ローカルで大規模言語モデルを実行するためのいくつかの魅力的な代替手段が存在します。

  • LM Studioは、その直感的なインターフェース、モデルの互換性チェック、およびOpenAIのAPIを模倣したローカル推論サーバーに優れています。
  • 最小限のセットアップを求める開発者向けに、LlamafileはLLMsを単一の実行可能ファイルに変換し、印象的なパフォーマンスでクロスプラットフォームで実行します。
  • コマンドラインツールを好む方には、LLaMa.cpp が多くのローカルLLMツールの基盤となる推論エンジンとして利用でき、優れたハードウェア互換性を持っています。

結論:ローカルAIへの旅

Ollamaは、大規模言語モデルの魅力的な世界への扉を開き、十分に現代的なコンピュータを持つ誰もがローカルで強力なAIツールを、プライベートに、さらに継続的なコストなしで実行できるようにします。

これは始まりに過ぎません。異なるモデルを実験したり、Modelfilesを使用してニーズに合わせて調整したり、Ollamaを自分のスクリプトやアプリケーションにAPIを介して統合したり、急速に成長しているオープンソースAIのエコシステムを探求することで、本当の楽しみが始まります。

洗練されたAIをローカルで実行する能力は、個人や開発者の力を変革します。潜入し、探求し、質問し、Ollamaを使って大規模言語モデルの力を指先で楽しんでください。

💡
美しいAPIドキュメンテーションを生成する素晴らしいAPIテストツールが欲しいですか?

開発者チームが最大の生産性で一緒に作業できる統合されたオールインワンプラットフォームが欲しいですか?

Apidogはすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます
ボタン