PUBLIC
AI INFERENCELOCAL RUNTIME11 MIN READ

STACK / MODEL LIBRARY · CLI · LOCAL API

OLLAMA

モデルの取得からローカルAPIの提供まで、ひとつにまとめる

Ollamaは、LLMを手元のPCやサーバーで手軽に動かすためのモデルランタイムです。モデルのダウンロード・保存・実行をシンプルなCLIで完結させ、ローカルAPIや公式ライブラリを通じて各種アプリケーションから利用できます。

01PULLモデルを取得する
02LOADメモリへ読み込む
03PROMPTテンプレートを適用
04STREAM結果を順次返す
INFERENCE FLOW

モデルを読み込み、プロンプトをトークンへ変換し、生成結果を順次返します。

CONTENTSこの記事の目次

01 — POSITION

Ollamaとは
何か

Ollamaは、モデル名とタグを指定するだけで必要なファイルを取得・実行環境へ読み込み、チャット・テキスト生成・埋め込みなどのAPIを提供するランタイムです。Modelfileを使えば、ベースモデル、システムプロンプト、各種パラメータ、テンプレートなどを再現可能な構成として定義できます。

02 — INFERENCE PIPELINE

Promptが回答へ
変わるまで

ツールごとの最適化は違っても、推論の入口から出力までには共通の流れがあります。

MODEL CONFIGModelfile / RegistryFROM llama3.2PARAMETER temperature 0.7SYSTEM あなたは優秀なAI1行でカスタマイズOLLAMA ENGINEバックグラウンド常駐自動モデル管理要求時にロード、アイドル時に解放内部推論エンジンllama.cppを内蔵・GPU自動検出CLIENTS手軽な呼び出し口CLI: ollama runREST: :11434/apiWebUI / Cursor複雑な量子化やコンパイル設定を隠蔽し、誰でも1コマンドで手元のLLMを開始できる
ARCHITECTURE

Modelfileからモデルをビルド・管理。バックグラウンド常駐デーモンが要求に応じてモデルをロードし、CLI/REST APIを提供します。

PROMPT → TOKENSMODEL INFERENCE
01PULL

モデルを取得する

モデル名とタグからマニフェストとレイヤーをダウンロードし、ローカルストレージへ保存します。

02LOAD

メモリへ読み込む

利用可能なCPU/GPUとモデルサイズを考慮し、重みとコンテキスト領域をメモリへ配置します。

03PROMPT

テンプレートを適用

メッセージ履歴、システムプロンプト、パラメータをモデルに応じた入力形式へ組み立てます。

04STREAM

結果を順次返す

生成されたトークンを、CLIまたはローカルHTTP APIを通じて順次ストリーミング配信します。

PIPELINE

生成中は過去トークンのKey / ValueをKVキャッシュへ保持し、次のトークン計算へ再利用します。

03 — CORE CAPABILITIES

Ollamaを
特徴づける3点

「モデルを動かす」という同じ目的でも、最適化している対象と運用の粒度が異なります。

01MODEL LIFECYCLE

取得と保存をまとめる

pull・ls・ps・rmなどのCLIコマンドで、モデルの取得・一覧表示・実行状況確認・削除を一元管理できます。ファイルパスを毎回指定することなく、モデル名だけで直感的に扱えます。

02API + SDK

ローカルサービスとして使う

Chat・Generate・EmbeddingなどのREST APIを提供し、公式のPythonやJavaScriptライブラリからも呼び出せます。ストリーミング出力にも標準で対応しています。

03MODELFILE

独自設定を配る

FROM、PARAMETER、SYSTEM、TEMPLATE、ADAPTERなどを宣言することで、ベースモデルに独自設定を重ねたカスタムモデルを作成・共有できます。

04 — QUICK START

モデルを取得して呼び出す

CLIでモデルを実行するとバックグラウンドでローカルサーバーが立ち上がり、同じモデルをHTTP API経由で呼び出せます。

terminalOLLAMA CLI + LOCAL API
# Modelを取得して対話する
ollama pull gemma3
ollama run gemma3

# Local APIからchatを実行
curl http://localhost:11434/api/chat \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma3",
    "messages": [
      {"role": "user", "content": "量子化とは?"}
    ],
    "stream": false
  }'

01PULL モデル名から必要なファイルをローカルへ取得

02RUN CLIでモデル読み込みと対話をまとめて開始

03API 既定のlocalhost:11434へ接続

05 — GOOD FIT

どんな推論環境に
向いているか

ローカルLLMをまず手軽に動かしたい場合や、開発中のアプリケーションに組み込みたい場合、設定済みのモデルをチーム内で再現・共有したい場面に向いています。

01PROTOTYPE

手元ですぐに試したい

モデルファイルの配置やサーバー構築などの細かい設定を省き、モデル名を指定するだけで対話を始めたい場合に向いています。

02LOCAL APP

開発中のアプリへつなぎたい

ローカルAPIや公式SDKを使い、チャットUI、RAG、コーディング支援ツールなどのバックエンドとして手軽に利用できます。

03CUSTOM MODEL

カスタム設定を共有したい

Modelfileにシステムプロンプトやパラメータを記述しておくことで、同じベースモデルから設定を再現した派生モデルをチーム内で共有できます。

06 — WATCH OUT

導入前に知る
3つの注意点

モデルが起動することと、安全・高速・安定して本番運用できることは別の段階です。

01

モデルサイズとコンテキスト長の両方がメモリを消費する

モデルの重みがメモリに載っても、コンテキスト長を伸ばすとKVキャッシュの消費量が増加します。ollama psコマンドでCPU/GPUへの配置状況を確認し、モデルサイズやnum_ctxの値をハードウェアの容量に合わせて調整します。

02

Local APIは認証不要である

既定のポート(localhost:11434)で動作するローカルAPIには認証がありません。外部ネットワークへ公開する場合は、バインドするアドレス範囲を確認し、リバースプロキシ側で認証、TLS暗号化、アクセス制限を設定します。

03

モデルごとに対応機能やプロンプトテンプレートが異なる

ツール呼び出し(Tool Calling)、画像認識(Vision)、構造化出力、扱える最大コンテキスト長などはモデルごとに異なります。モデル名だけでなく、タグ、ライセンス、対応機能(Capabilities)を確認して選択します。

IN ONE SENTENCE

Ollamaとは?

モデルの取得・保存・設定からローカル推論までをCLIとAPIにまとめ、LLMを手軽にアプリケーションから扱えるようにするランタイム。

KEEP EXPLORING

AIllama.cpp掲載中AIvLLM掲載中WEBAPI掲載中DEVOPSDocker掲載中

SOURCES / OFFICIAL DOCS

Ollama — Official documentation ↗CLI reference ↗API introduction ↗Modelfile reference ↗