ollama: 驚くほど簡単に使える、LLMランタイム環境!使い方とオプションを徹底解説

この記事は約11分で読めます。
スポンサーリンク

ollamaは、ローカルマシンで大型言語モデル(LLM)を簡単に実行できるパワフルなツールです。本記事では、ollamaの基本的な使い方から、コマンドラインオプション、環境変数まで詳しく解説していきます。これを読めば、ollamaを使いこなして、あなた自身のLLM環境を構築できるようになります。

ollamaとは?

ollamaは、LLMをローカル環境で効率よく実行するためのランタイム環境です。特徴は次のとおりです。

  • シンプルで使いやすい: コマンドラインインターフェースで、LLMの起動、停止、管理などが簡単に行えます。
  • 高速で効率的: 複数のGPUに対応し、高速な推論処理を実現します。
  • 柔軟性が高い: さまざまなLLMに対応し、カスタマイズも可能です。

Ollamaの環境構築について知りたい方はこちら

ollamaの基本操作

ollamaの基本的な操作方法を、コマンド例と共に解説します。

バージョン確認

ollamaのバージョン確認のためのコマンド

ollama -v

出力結果:

ollama version is 0.4.0

ヘルプ確認

ollamaのヘルプ確認のためのコマンド

ollama -h

出力結果:

Large language model runner

Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  stop        Stop a running model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.

モデルリスト確認

インストール済みのモデルを確認するためのコマンド

ollama list

出力結果 (例):

NAME             ID              SIZE      MODIFIED
gemma2:latest    ff02c3702f32    5.4 GB    2 months ago

モデルの起動

モデルを起動するためのコマンド
※モデルが未インストールの場合インストール(pull)から実行されます。

ollamaで利用可能なモデルは、https://ollama.com/library から検索できます。

例えば、「llama3.2」というモデルを起動する場合、以下のコマンドを使用します。

ollama run llama3.2

出力結果 (例):

pulling manifest
pulling manifest
pulling dde5aa3fc5ff... 100% ▕████████████████████████████████████████████████████████▏ 2.0 GB
pulling 966de95ca8a6... 100% ▕████████████████████████████████████████████████████████▏ 1.4 KB
pulling fcc5a6bec9da... 100% ▕████████████████████████████████████████████████████████▏ 7.7 KB
pulling a70ff7e570d9... 100% ▕████████████████████████████████████████████████████████▏ 6.0 KB
pulling 56bb8bd477a5... 100% ▕████████████████████████████████████████████████████████▏   96 B
pulling 34bb5ab01051... 100% ▕████████████████████████████████████████████████████████▏  561 B
verifying sha256 digest
writing manifest
success
>>> Send a message (/? for help)

モデルのインストール

モデルをインストールするためのコマンド

ollama pull [モデル名]

例えば、「llama3.2-vision」というモデルをインストールする場合、以下のコマンドを使用します。

ollama pull llama3.2-vision

出力結果 (例):

pulling manifest
pulling manifest
pulling 11f274007f09... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 6.0 GB
pulling ece5e659647a... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 1.9 GB
pulling 715415638c9c... 100% ▕███████████████████████████████████████████████████████████████████████████▏  269 B
pulling 0b4284c1f870... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 7.7 KB
pulling fefc914e46e6... 100% ▕███████████████████████████████████████████████████████████████████████████▏   32 B
pulling fbd313562bb7... 100% ▕███████████████████████████████████████████████████████████████████████████▏  572 B
verifying sha256 digest
writing manifest
success

モデルの停止

動作中のモデルを停止するためのコマンド

ollama stop [モデル名]

例えば、「llama3.2」というモデルを停止する場合、以下のコマンドを使用します。

ollama stop llama3.2

出力結果: 特に何も出力されません。

起動中のモデルリスト確認

起動中のモデルのリスト取得コマンド

ollama ps

出力結果 (例):

NAME               ID              SIZE      PROCESSOR    UNTIL
llama3.2:latest    a80c4f17acd5    3.5 GB    100% CPU     4 minutes from now

モデル情報確認

モデルの情報を取得するためのコマンド

ollama show [モデル名]

例えば、「llama3.2-vision」というモデルの情報を確認する場合、以下のコマンドを使用します。

ollama show llama3.2-vision

出力結果 (例):

Model
    architecture        mllama
    parameters          9.8B
    context length      131072
    embedding length    4096
    quantization        Q4_K_M

  Projector
    architecture        mllama
    parameters          895.03M
    embedding length    1280
    dimensions          4096

  Parameters
    temperature    0.6
    top_p          0.9

  License
    LLAMA 3.2 COMMUNITY LICENSE AGREEMENT
    Llama 3.2 Version Release Date: September 25, 2024

ollamaのオプション・コマンド一覧

ollamaが持つオプション・コマンドの一覧はこちらです。

主要なオプション:

オプション説明
-h, –helpヘルプを表示します。
-v, –versionバージョン情報を表示します。

主要なコマンド:

コマンド説明
serveollamaサーバーを起動します。
createModelfileからモデルを作成します。
showモデルの情報を表示します。
runモデルを実行します。
stop実行中のモデルを停止します。
pullモデルをレジストリから取得します。
pushモデルをレジストリに登録します。
listモデルの一覧を表示します。
ps実行中のモデルの一覧を表示します。
cpモデルをコピーします。
rmモデルを削除します。
help特定のコマンドに関するヘルプを表示します。

ollamaの環境変数一覧

ollamaのその他の動作は環境変数を用いて、動作をカスタマイズできます。
※環境変数はシステムに事前に設定する必要があります。
※ollamaのマニュアルに記載がなかったので、下記の環境変数は、ollamaのソースコード (https://github.com/ollama/ollama/blob/main/envconfig/config.go) から取得しました。

主要な環境変数:

環境変数説明
CUDA_VISIBLE_DEVICES使用可能なNVIDIA GPUのデバイスIDを指定します (例: CUDA_VISIBLE_DEVICES=0,1).
GPU_DEVICE_ORDINALAMD GPUのデバイスIDを指定します。
HIP_VISIBLE_DEVICESAMD GPUのデバイスIDを指定します。
HSA_OVERRIDE_GFX_VERSIONすべての検出されたAMD GPUで使用されるgfxをオーバーライドします。
HTTPS_PROXYHTTPSプロキシを設定します。
HTTP_PROXYHTTPプロキシを設定します。
NO_PROXYプロキシを適用しないドメインを指定します。
OLLAMA_DEBUGデバッグ情報を表示します (例: OLLAMA_DEBUG=1).
OLLAMA_FLASH_ATTENTIONフラッシュアテンションを有効化します。
OLLAMA_GPU_OVERHEADGPUごとに予約するVRAMの量を指定します (バイト単位).
OLLAMA_HOSTollamaサーバーのIPアドレスとポートを指定します (デフォルトは 127.0.0.1:11434).
OLLAMA_INTEL_GPU実験的なIntel GPU検出を有効化します。
OLLAMA_KEEP_ALIVEメモリにロードされたモデルを保持する期間を指定します (デフォルトは 5m).
OLLAMA_LLM_LIBRARYLLMライブラリを指定します (自動検出をバイパス).
OLLAMA_LOAD_TIMEOUTモデルのロードがタイムアウトするまでの時間を指定します (デフォルトは 5m).
OLLAMA_MAX_LOADED_MODELSGPUごとにロードされるモデルの最大数を指定します。
OLLAMA_MAX_QUEUEキューに入れられるリクエストの最大数を指定します。
OLLAMA_MODELSモデルディレクトリのパスを指定します。
OLLAMA_MULTIUSER_CACHEマルチユーザーシナリオにおけるプロンプトキャッシュを最適化します。
OLLAMA_NOHISTORYReadline履歴を保存しません。
OLLAMA_NOPRUNEスタートアップ時にモデルのblobを削除しません。
OLLAMA_NUM_PARALLEL並列リクエストの最大数を指定します。
OLLAMA_ORIGINS許可されるオリジンのリストを指定します (カンマ区切り).
OLLAMA_SCHED_SPREADすべてのGPUにモデルを常にスケジューリングします。
OLLAMA_TMPDIR一時ファイルの場所を指定します。
ROCR_VISIBLE_DEVICESUUIDまたは数値IDでAMD GPUのデバイスIDを指定します。

まとめ

ollamaは、ローカルマシンでLLMを簡単に利用するための強力なツールです。コマンドラインオプションや環境変数を活用することで、ollamaは様々なニーズに対応できる柔軟性を備えています。本記事の内容を参考に、ollamaを使ってあなた自身のLLM環境を構築してみてください。

Ollama+Langchainで簡易チャットボットの作成について知りたい方はこちら

Ollama+LangchainでWebの要約をしたい方はこちら

この記事が、あなたの役に立てば幸いです!

コメント

タイトルとURLをコピーしました