- AI ⚙️
Ollamaの使い方|ローカルLLMのコマンド一覧とAPIの呼び方
Ollama は、手元の PC でオープンなモデル(ローカル LLM)を動かすツールです。入れたあと ollama run モデル名 と打つと、モデルを取得して対話が始まります。 裏では 127.0.0.1:11434 で HTTP サーバーが動いていて、curl や Python から /api/chat や OpenAI 互換の /v1/chat/completions で呼べます。
ollama run gemma4 # 取得して対話(/bye で終わる)
ollama run gemma4 "空はなぜ青い?" # 1回だけ答えて終わる
curl http://localhost:11434/api/chat -d '{"model": "gemma4", "messages": [{"role": "user", "content": "こんにちは"}], "stream": false}'
| やりたいこと | コマンド・書き方 |
|---|---|
| 入れる(macOS・Linux) | curl -fsSL https://ollama.com/install.sh を sh に渡す |
| 入れる(Windows) | irm https://ollama.com/install.ps1 を iex に渡す |
| モデルを取得して対話 | ollama run gemma4 |
| 手元のモデル一覧 | ollama ls(ollama list) |
| 読み込み中のモデルと GPU の使い方 | ollama ps |
| メモリから降ろす | ollama stop gemma4 |
| 独自のモデルを作る | ollama create 名前 -f Modelfile |
| Python から呼ぶ | pip install ollama → ollama.chat(...) |
| OpenAI のライブラリで呼ぶ | OpenAI(base_url="http://localhost:11434/v1/", api_key="ollama") |
確認環境:Ollama v0.40.3(GitHub の v0.40.3 タグのソース)、Python ライブラリ ollama 0.6.3・openai 3.29.0、Python 3.11.15(Linux)。コマンドとフラグ、対話中のスラッシュコマンド、環境変数と既定値、API のパス、エラー文は v0.40.3 のソース(cmd/cmd.go・cmd/interactive.go・envconfig/config.go・server/routes.go)で確かめました。Python の ollama と openai が送る URL と JSON、受け取り方、例外は、Ollama の API の形を返す擬似サーバー(手元の小さな HTTP サーバー)に向けて確かめました。モデルを動かした速度やメモリ量は載せていません。メモリ・GPU・Docker・インストールは、リポジトリの docs と docs.ollama.com に基づきます(確認日 2026年10月12日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Ollamaの使い方|ローカルLLMのコマンド一覧とAPIの呼び方」
Ollama とは:何が動いているか
Ollama は「サーバー」と「CLI(コマンド)」の2つでできています。 ollama run などのコマンドは、裏で動くサーバー(ollama serve)に HTTP でお願いを送っているだけです。Python や curl から呼ぶときも、同じサーバーに送ります。
| 部分 | 役割 |
|---|---|
ollama serve |
モデルを読み込んで答えを作るサーバー。既定は 127.0.0.1:11434 |
ollama のコマンド |
サーバーに頼んで、取得・実行・一覧などをする |
| モデル | ollama.com のライブラリから取得。保存先は ~/.ollama/models など |
| API | 独自の /api/... と、OpenAI 互換の /v1/...、Anthropic 互換の /v1/messages |
macOS・Windows のアプリや Linux のインストールスクリプトで入れると、サーバーは自動で起動します。Linux で手で入れたときは ollama serve で起動します。
モデル名は 名前:タグ の形です。タグを省くと latest になります(例:gemma4 は gemma4:latest)。使えるモデルは ollama.com のライブラリに並んでいます。本文の例は、公式ドキュメントの例に合わせて gemma4 で書いています。
コマンド早見表(v0.40.3)
ソースの cmd/cmd.go に定義されているコマンドです。
| コマンド | 意味 | よく使うフラグ |
|---|---|---|
ollama serve(start) |
サーバーを起動 | 環境変数で設定(後述) |
ollama run MODEL [PROMPT] |
対話、または1回だけ答える | --verbose・--format json・--think・--keepalive 5m |
ollama pull MODEL |
モデルを取得 | --insecure |
ollama ls(list) |
手元のモデル一覧 | なし |
ollama ps |
メモリに載っているモデル | なし |
ollama stop MODEL |
メモリから降ろす | なし |
ollama show MODEL |
モデルの情報 | --modelfile・--parameters・--template・--system・--license |
ollama create MODEL |
Modelfile からモデルを作る | -f Modelfile・-q(量子化) |
ollama cp SOURCE DEST |
別名でコピー | なし |
ollama rm MODEL... |
削除(複数可) | なし |
ollama push MODEL |
ollama.com へあげる | --insecure |
ollama signin・signout |
ollama.com へのサインイン・サインアウト | なし |
ollama launch |
Claude Code・Codex・OpenCode などをOllamaのモデルで起動 | --model・--config |
ollama -v |
版を表示 | なし |
ollama -vは、サーバーの版をollama version is 0.40.3の形で出します。サーバーにつながらないとWarning: could not connect to a running Ollama instanceと、クライアントの版が出ます。serve以外のコマンドは、実行前にサーバーが動いているかを確かめます(ソースのcheckServerHeartbeat)。- 環境変数の一覧は
ollama serve --helpで出ます。
よく使う形
ollama pull gemma4 # 取得だけ
ollama run gemma4 --verbose # 答えのあとに速度などの統計を出す
ollama run gemma4 "この画像は? ./screen.png" # 画像に対応したモデルなら画像のパスを書ける
echo "要約して: $(cat README.md)" | ollama run gemma4 # 標準入力から渡す
ollama run gemma4 "" --keepalive 30m # 先に読み込んでおく(30分保持)
ollama show gemma4 --modelfile # そのモデルの Modelfile を見る
ollama ps # GPU に載ったかを見る
対話中のスラッシュコマンド
ollama run の対話画面で /? と打つと出る一覧です(cmd/interactive.go)。
| コマンド | 意味 |
|---|---|
/set parameter num_ctx 8192 |
パラメータを変える(temperature・top_p・num_predict なども) |
/set system <文> |
システムメッセージを決める |
/set format json・/set noformat |
JSON モードの切り替え |
/set verbose・/set quiet |
統計の表示の切り替え |
/set think・/set nothink |
考える機能の切り替え |
/show info・/show modelfile など |
モデルの情報 |
/save <名前>・/load <名前> |
今の会話を保存する・読み込む |
/clear |
会話の文脈を消す |
/bye |
終わる(Ctrl+D でも終わる) |
複数行を入れるときは """ で囲みます。
Modelfile:自分用のモデルを作る
Modelfile は、元のモデル・パラメータ・システムメッセージを書いた設定ファイルです。 ollama create で、名前の付いたモデルになります。
FROM gemma4
PARAMETER temperature 0.2
PARAMETER num_ctx 8192
SYSTEM """あなたは社内ヘルプデスクです。日本語で、100文字以内で答えます。"""
ollama create helpdesk -f Modelfile
ollama run helpdesk
| 命令 | 意味(ドキュメント) |
|---|---|
FROM(必須) |
元のモデル。既存のモデル名、GGUF ファイル、Safetensors のフォルダ |
PARAMETER |
実行時のパラメータ |
TEMPLATE |
プロンプトの組み立て方(モデルごとに書式が違う) |
SYSTEM |
システムメッセージ |
MESSAGE |
あらかじめ入れておく会話の履歴 |
LICENSE・REQUIRES・CAPABILITY |
ライセンス・必要な Ollama の版・追加の機能 |
| PARAMETER | 意味 |
|---|---|
num_ctx |
コンテキストの長さ(モデルが一度に見られるトークン数) |
temperature |
ランダムさ。表の既定は 0.8 |
num_predict |
出力の上限。表の既定は -1(上限なし) |
top_k・top_p・min_p |
候補の絞り込み |
repeat_penalty・repeat_last_n |
繰り返しを抑える |
seed |
乱数の種。同じ値なら同じ答えになる |
stop |
止める文字。複数行で複数指定 |
OpenAI 互換 API にはコンテキストの長さを決める引数がありません。ドキュメントでは、PARAMETER num_ctx を書いた Modelfile でモデルを作る方法を案内しています。
REST API の呼び方(/api/generate・/api/chat)
/api/chat は会話(messages)、/api/generate は1つのプロンプトに答えます。 どちらも既定はストリーム(1行に1つの JSON が続く NDJSON 形式)です。まとめて1つの JSON で受けたいときは "stream": false を付けます。
curl http://localhost:11434/api/chat -d '{
"model": "gemma4",
"messages": [
{"role": "system", "content": "簡潔に答えてください。"},
{"role": "user", "content": "Ollamaとは?"}
],
"stream": false,
"options": {"temperature": 0.2, "num_ctx": 8192},
"keep_alive": "10m"
}'
curl http://localhost:11434/api/generate -d '{
"model": "gemma4",
"prompt": "空はなぜ青い?",
"stream": false
}'
| 項目 | /api/generate |
/api/chat |
|---|---|---|
| 入力 | prompt(+system・suffix) |
messages(system・user・assistant・tool) |
| 答え | response |
message.content |
| 画像 | images(base64 のリスト) |
各メッセージの images |
| ツール | なし | tools → message.tool_calls |
| 会話の続き | context は非推奨(deprecated) |
messages に履歴を積む |
共通の引数です。
| 引数 | 意味 |
|---|---|
stream |
false で1つの JSON にまとめる(既定は true) |
format |
"json"(JSON モード)か、JSON Schema(構造化出力) |
options |
Modelfile の PARAMETER と同じ(temperature・num_ctx など) |
keep_alive |
答えたあとメモリに残す時間。既定 5m。0 ですぐ降ろす、負の数でずっと残す |
think |
考える機能。true/false か "low"・"medium"・"high"・"max" |
最後の JSON(done: true)には統計が入ります。時間はナノ秒です。
| フィールド | 意味 |
|---|---|
total_duration |
全体の時間 |
load_duration |
モデルの読み込み時間 |
prompt_eval_count |
入力のトークン数 |
eval_count・eval_duration |
出力のトークン数と時間 |
done_reason |
止まった理由(stop など) |
ドキュメントでは、出力の速さ(トークン/秒)を eval_count / eval_duration * 10^9 で出せるとしています。
ほかの API です(server/routes.go で確認)。
| メソッドとパス | 中身 |
|---|---|
GET / |
Ollama is running を返す(起動の確認) |
GET /api/version |
版 |
GET /api/tags |
手元のモデル一覧(ollama ls) |
GET /api/ps |
読み込み中のモデル(ollama ps) |
POST /api/pull・/api/create・/api/copy・/api/show |
取得・作成・コピー・情報 |
DELETE /api/delete |
削除 |
POST /api/embed |
埋め込み(ベクトル) |
POST /v1/chat/completions・/v1/completions・/v1/embeddings・/v1/responses |
OpenAI 互換 |
GET /v1/models |
OpenAI 互換のモデル一覧 |
POST /v1/messages |
Anthropic 互換 |
Python から呼ぶ(ライブラリ ollama)
pip install ollama
from ollama import chat
response = chat(
model="gemma4",
messages=[{"role": "user", "content": "こんにちは"}],
)
print(response.message.content) # response["message"]["content"] でも取れる
print(response.eval_count / response.eval_duration * 1e9, "tokens/s")
Python ライブラリの chat() は、既定で "stream": false を付けて送ります。 REST API の既定(ストリーム)とは逆です。擬似サーバーで受けた JSON です。
POST /api/chat
{"model":"gemma4","stream":false,"messages":[{"role":"user","content":"こんにちは"}],"tools":[]}
ストリーム
from ollama import chat
for part in chat(model="gemma4", messages=[{"role": "user", "content": "Ollamaを説明して"}], stream=True):
print(part.message.content, end="", flush=True)
print()
2つに分けて返したとき、受け取った断片は次の3つでした。最後は中身が空で done=True です。
'Ollamaは' False
'ローカルでLLMを動かすツールです。' False
'' True
generate とオプション
from ollama import generate
r = generate(
model="gemma4",
prompt="空はなぜ青い?",
system="簡潔に",
options={"temperature": 0.2, "num_ctx": 8192},
keep_alive="10m",
)
print(r.response)
POST /api/generate
{"model":"gemma4","stream":false,"options":{"temperature":0.2,"num_ctx":8192},"keep_alive":"10m","prompt":"空はなぜ青い?","system":"簡潔に"}
構造化出力(Pydantic)
format に JSON Schema を渡すと、その形の JSON で答えます。Pydantic のクラスなら model_json_schema() を渡し、model_validate_json() で読みます。
from ollama import chat
from pydantic import BaseModel
class CalendarEvent(BaseModel):
name: str
date: str
participants: list[str]
r = chat(
model="gemma4",
messages=[{"role": "user", "content": "金曜に佐藤さんと鈴木さんと定例会議"}],
format=CalendarEvent.model_json_schema(),
options={"temperature": 0},
)
event = CalendarEvent.model_validate_json(r.message.content)
print(event)
スキーマは "format":{"properties":{...},"required":["name","date","participants"],...} の形で送られていました。方式ごとの違いは、関連記事「LLMの構造化出力とJSON|4方式の違いとPydantic検証の実行結果」で扱っています。
ツール(関数呼び出し)
Python の関数をそのまま tools に渡すと、型ヒントと docstring から定義を作って送ります。モデルが呼びたい関数は message.tool_calls に入ります。実行するのは自分のコードです。
from ollama import chat
def get_weather(city: str) -> str:
"""都市名を受け取り、今日の天気を返す
Args:
city: 都市名
"""
return "晴れ" # 本当は天気APIを呼ぶ
FUNCS = {"get_weather": get_weather}
messages = [{"role": "user", "content": "東京の天気は?"}]
r = chat(model="gemma4", messages=messages, tools=[get_weather])
if r.message.tool_calls:
messages.append(r.message)
for tc in r.message.tool_calls:
result = FUNCS[tc.function.name](**tc.function.arguments) # arguments は dict
messages.append({"role": "tool", "content": str(result), "tool_name": tc.function.name})
r = chat(model="gemma4", messages=messages, tools=[get_weather])
print(r.message.content)
関数から作られた定義と、2回目に送られた履歴です。
"tools":[{"type":"function","function":{"name":"get_weather","description":"都市名を受け取り、今日の天気を返す","parameters":{"type":"object","required":["city"],"properties":{"city":{"type":"string","description":"都市名"}}}}}]
"messages":[{"role":"user","content":"東京の天気は?"},
{"role":"assistant","tool_calls":[{"function":{"name":"get_weather","arguments":{"city":"東京"}}}]},
{"role":"tool","content":"晴れ","tool_name":"get_weather"}]
ツールに対応したモデルは、ollama.com で絞り込めます。仕組みの全体は、関連記事「Function Calling(tool use)の仕組みとPython実装」で扱っています。
画像
r = chat(model="gemma4", messages=[{
"role": "user", "content": "この画像は?", "images": ["./screen.png"],
}])
ファイルのパスを渡すと、ライブラリが読み込んで base64 に変えて送っていました("images":["iVBORw0KGgo..."])。画像に対応したモデルが必要です。
別のホストにつなぐ
from ollama import Client
client = Client(host="http://192.168.1.10:11434")
r = client.chat(model="gemma4", messages=[{"role": "user", "content": "こんにちは"}])
host を省くと環境変数 OLLAMA_HOST を読み、それも無ければ http://127.0.0.1:11434 です。非同期は AsyncClient を使います。
OpenAI 互換 API で呼ぶ(ライブラリ openai)
OpenAI のライブラリの base_url を http://localhost:11434/v1/ にすると、そのまま Ollama を呼べます。 API キーは必須の引数ですが、Ollama は中身を見ません。
from openai import OpenAI
client = OpenAI(base_url="http://localhost:11434/v1/", api_key="ollama")
response = client.chat.completions.create(
model="gemma4",
messages=[{"role": "user", "content": "こんにちは"}],
)
print(response.choices[0].message.content)
POST /v1/chat/completions
{"model":"gemma4","messages":[{"role":"user","content":"こんにちは"}]}
| 比べる点 | ライブラリ ollama(/api/chat) |
ライブラリ openai(/v1/...) |
|---|---|---|
| 向く場面 | Ollama だけで使う | 既存の OpenAI 向けコードを流用、切り替えたい |
num_ctx など |
options で渡せる |
引数が無い。Modelfile で作ったモデルを使う |
keep_alive |
渡せる | 無い |
| 応答の形 | message.content |
choices[0].message.content |
| Responses API | なし | /v1/responses に対応。previous_response_id は非対応 |
| 無いモデルを指定 | ResponseError(404) |
NotFoundError(404) |
gpt-3.5-turbo のような OpenAI のモデル名を前提にしたツールには、ドキュメントでは ollama cp gemma4 gpt-3.5-turbo のように別名を付ける方法が紹介されています。OpenAI の SDK の書き方は、関連記事「OpenAI API Python入門|Responses APIのコピペ集」で扱っています。
環境変数(ollama serve --help に出るもの)
サーバーの設定は、ほぼすべて環境変数で決めます。 v0.40.3 のソース(envconfig/config.go)の説明と既定値です。
| 環境変数 | 意味 | 既定 |
|---|---|---|
OLLAMA_HOST |
サーバーが待ち受けるアドレス・ポート(CLI の接続先にもなる) | 127.0.0.1:11434 |
OLLAMA_MODELS |
モデルの保存先 | ~/.ollama/models |
OLLAMA_KEEP_ALIVE |
モデルをメモリに残す時間 | 5m |
OLLAMA_CONTEXT_LENGTH |
既定のコンテキスト長 | VRAM に応じて 4k/32k/256k |
OLLAMA_NUM_PARALLEL |
1モデルあたりの同時処理数 | 1 |
OLLAMA_MAX_LOADED_MODELS |
同時に載せるモデル数 | 0(自動。FAQ では GPU 数×3、CPU は 3) |
OLLAMA_MAX_QUEUE |
待たせるリクエストの上限 | 512 |
OLLAMA_ORIGINS |
許可するオリジン(ブラウザからの呼び出し) | 127.0.0.1・0.0.0.0 など |
OLLAMA_FLASH_ATTENTION |
Flash Attention を使う | 対応環境では自動 |
OLLAMA_KV_CACHE_TYPE |
KV キャッシュの量子化(f16・q8_0・q4_0) |
f16 |
OLLAMA_DEBUG |
詳しいログ(OLLAMA_DEBUG=1) |
オフ |
OLLAMA_NO_CLOUD |
クラウドの機能(クラウドのモデル・Web 検索)を止める | オフ |
CUDA_VISIBLE_DEVICES |
使う NVIDIA の GPU | すべて |
HTTPS_PROXY |
モデル取得に使うプロキシ | なし |
OS ごとの設定方法(FAQ)
# Linux(systemd のサービス)
sudo systemctl edit ollama.service
# [Service]
# Environment="OLLAMA_HOST=0.0.0.0:11434"
sudo systemctl daemon-reload
sudo systemctl restart ollama
# macOS(アプリ)
launchctl setenv OLLAMA_HOST "0.0.0.0:11434" # そのあとアプリを再起動
# 手で起動するとき
OLLAMA_HOST=0.0.0.0:11434 OLLAMA_KEEP_ALIVE=30m ollama serve
Windows は、アプリを終了してから「環境変数を編集」でユーザーの環境変数を作り、アプリを起動し直します。
OLLAMA_HOST=0.0.0.0 にすると、同じネットワークのほかの PC から呼べるようになります。 既定の設定では API キーなしで呼べる(OpenAI 互換のドキュメントでも「キーの値は無視される」とある)ので、外に開くときはファイアウォールや、認証つきのリバースプロキシ(nginx など)を前に置く形が安全です。nginx の書き方は、関連記事「nginx location書き方|優先順位とtry_filesをcurlで検証」で扱っています。
FAQ では、HTTP_PROXY を設定するとクライアントからサーバーへの接続を妨げることがあるので避け、HTTPS_PROXY を使うよう書かれています。
メモリ・GPU の目安(ドキュメントの記載)
モデルが GPU に全部載ったかどうかで、速さが大きく変わります。 ollama ps の PROCESSOR 列で確かめます。
NAME ID SIZE PROCESSOR CONTEXT UNTIL
gemma4:latest c6eb396dbd59 9.6 GB 100% GPU 131072 2 minutes from now
| PROCESSOR の表示 | 意味 |
|---|---|
100% GPU |
全部 GPU のメモリ(VRAM)に載った |
100% CPU |
全部メインメモリ。GPU を使っていない |
48%/52% CPU/GPU |
一部だけ GPU。遅くなりやすい |
コンテキスト長の既定は、VRAM の量で変わります(コンテキスト長のページ)。
| VRAM | 既定のコンテキスト長 |
|---|---|
| 24GiB 未満 | 4k |
| 24〜48GiB | 32k |
| 48GiB 以上 | 256k |
- ドキュメントでは、Web 検索・エージェント・コーディングツールのように長い文脈を使う用途は、少なくとも 64000 トークンにするよう勧めています。コンテキストを長くするほど、必要なメモリが増えます。
OLLAMA_NUM_PARALLELを上げると、必要なメモリはOLLAMA_NUM_PARALLEL × コンテキスト長に比例して増えます(FAQ)。- KV キャッシュ(会話の文脈を覚えておくメモリ)は、
OLLAMA_KV_CACHE_TYPE=q8_0でf16の約1/2、q4_0で約1/4 になります(FAQ。品質への影響はモデルによる)。 - 対応 GPU:NVIDIA は compute capability 5.0 以上・ドライバ 550 以上(5.0〜6.2 は 570 以上)。AMD は Linux で ROCm v7 のドライバ。Vulkan でも使えます。Apple の GPU は Metal で使えます。
- ディスク:Windows のページでは、本体に 4GB 以上、モデルは「数十〜数百 GB」になりうるとしています。保存先は
OLLAMA_MODELSで変えられます。
FAQ の「既定のコンテキストは 4096」や Modelfile の表の「num_ctx の既定 2048」は、ページによって書かれた時期が違う値です。今の既定はコンテキスト長のページとソースの説明(VRAM に応じて 4k/32k/256k)に合わせて読むのが確実で、実際の値は ollama ps の CONTEXT 列で確かめられます。
Docker で起動する
公式のイメージは Docker Hub の ollama/ollama です。モデルはボリューム ollama に保存されます。
# CPU だけ
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
# NVIDIA の GPU(NVIDIA Container Toolkit を先に入れる)
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
# AMD の GPU(ROCm)
docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm
# コンテナの中でモデルを動かす
docker exec -it ollama ollama run gemma4
Compose で書くと次の形です(GPU の指定は Docker Compose の deploy.resources の書き方)。
services:
ollama:
image: ollama/ollama
ports:
- "11434:11434"
volumes:
- ollama:/root/.ollama
environment:
- OLLAMA_KEEP_ALIVE=30m
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
volumes:
ollama:
- FAQ では、macOS の Docker Desktop は GPU を渡せないため、GPU は使えないとしています。Mac ではアプリで入れるほうが GPU を使えます。
- 別のコンテナ(アプリ)から呼ぶときの接続先は
http://ollama:11434(サービス名)です。localhostはそのコンテナ自身を指します。 - ログは
docker logs ollamaで見ます。
Compose の書き方は、関連記事「Docker Composeの使い方|compose.yamlの書き方と開発環境の作り方」で扱っています。
よくあるエラー
| エラー文(抜粋) | 原因 | 直し方 |
|---|---|---|
could not connect to ollama server, run 'ollama serve' to start it |
サーバーが動いていない | アプリを起動するか ollama serve。Linux は systemctl status ollama |
Failed to connect to Ollama. Please check that Ollama is downloaded, running and accessible.(Python の ConnectionError) |
接続先にサーバーがいない | OLLAMA_HOST・Client(host=...)・ポートを確かめる |
model 'xxx' not found(HTTP 404) |
そのモデルを取得していない、名前・タグの打ち間違い | ollama pull。ollama ls で名前を確かめる |
pull model manifest: file does not exist |
ライブラリに無い名前・タグを取得しようとした | ollama.com で正しい名前・タグを調べる |
"xxx" does not support chat/does not support generate |
埋め込み用など、その使い方に対応しないモデル | 用途に合うモデルにする |
server busy, please try again. maximum pending requests exceeded(503) |
待ちのリクエストが OLLAMA_MAX_QUEUE を超えた |
同時に送る数を減らす。上限を上げる |
listen tcp 127.0.0.1:11434: bind: address already in use(Go の標準のエラー文) |
11434 番をほかが使っている(すでに Ollama が動いている場合も多い) | 動いている Ollama を使う。OLLAMA_HOST でポートを変える |
ollama ps が 100% CPU |
GPU が見つからない、VRAM が足りない | ドライバを確かめる。小さいモデル・短いコンテキストにする |
エラーは {"error": "..."} の JSON で返ります。ストリームの途中で起きたときは、ステータスコードは 200 のまま、最後の行に {"error": "..."} が来ます(ドキュメントの Errors のページ)。ストリームを読むコードでは、各行の error も確かめます。
Python では次のように分けて受けられます。擬似サーバーで 404 を返したとき、ResponseError 404 model 'nope-model' not found と取れました。
import ollama
try:
r = ollama.chat(model="gemma4", messages=[{"role": "user", "content": "こんにちは"}])
except ollama.ResponseError as e:
print(e.status_code, e.error) # 404 model 'gemma4' not found など
if e.status_code == 404:
ollama.pull("gemma4")
except ConnectionError as e:
print("Ollama が起動していない:", e)
ログの場所は、Mac は ~/.ollama/logs/server.log、Linux(systemd)は journalctl -u ollama、Docker は docker logs <コンテナ名> です(トラブルシューティングのページ)。
よくある質問
Q. 社外にデータは送られますか。
A. FAQ では「ローカルで動かすとき、プロンプトやデータは見えない」としています。ollama.com のクラウドのモデルを使うときは処理のために送られます。クラウドの機能を止めるなら OLLAMA_NO_CLOUD=1 か ~/.ollama/server.json の "disable_ollama_cloud": true です。
Q. RAG に使えますか。
A. /api/embed(Python は ollama.embed())で埋め込みを作れるので、検索と組み合わせられます。作り方は関連記事「RAGの作り方|Pythonで動かす最小構成と精度の上げ方」で扱っています。
Q. モデルをすぐメモリから降ろしたいです。
A. ollama stop モデル名、または API で "keep_alive": 0 を送ります。
Q. クラウドの API(OpenAI・Gemini)と書き方をそろえたいです。
A. OpenAI 互換 API を使うと、base_url だけで切り替えられます。Gemini の書き方は、関連記事「Gemini API Python入門|google-genaiのコピペ集」で扱っています。Claude は、関連記事「Claude API Python入門|Anthropic SDKコピペレシピ集」で扱っています。
まとめ
ollama run モデル名で取得と対話。裏のサーバーは127.0.0.1:11434- よく使うのは
pull・ls・ps・stop・show・create・rm。GPU に載ったかはollama psの PROCESSOR - 独自の設定は Modelfile(
FROM・PARAMETER・SYSTEM)→ollama create - REST API は
/api/chat・/api/generate。既定はストリームで、まとめて受けるなら"stream": false - Python の
ollama.chat()は既定でstream: false。ストリームはstream=True - OpenAI のライブラリは
base_url="http://localhost:11434/v1/"。num_ctxは Modelfile で決める - 設定は環境変数(
OLLAMA_HOST・OLLAMA_MODELS・OLLAMA_KEEP_ALIVE・OLLAMA_CONTEXT_LENGTH)。外に開くときは認証つきのプロキシを前に
参考・出典
確認日はいずれも 2026年10月12日です。
- GitHub「ollama/ollama」(v0.40.3 のソースと docs):https://github.com/ollama/ollama
- Ollama ドキュメント「CLI Reference」:https://docs.ollama.com/cli
- Ollama ドキュメント「API」(Introduction・Errors):https://docs.ollama.com/api
- Ollama ドキュメント「OpenAI compatibility」:https://docs.ollama.com/api/openai-compatibility
- Ollama ドキュメント「Modelfile Reference」:https://docs.ollama.com/modelfile
- Ollama ドキュメント「FAQ」:https://docs.ollama.com/faq
- Ollama ドキュメント「Context length」:https://docs.ollama.com/context-length
- Ollama ドキュメント「Hardware support」:https://docs.ollama.com/gpu
- Ollama ドキュメント「Docker」:https://docs.ollama.com/docker
- Ollama ドキュメント「Linux」:https://docs.ollama.com/linux
- Ollama ドキュメント「Troubleshooting」:https://docs.ollama.com/troubleshooting
- GitHub「ollama/ollama-python」:https://github.com/ollama/ollama-python
- PyPI「ollama」:https://pypi.org/project/ollama/
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Ollamaの使い方|ローカルLLMのコマンド一覧とAPIの呼び方」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。