Mímisbrunnr知恵の泉

← ローカルLLM 一覧

🎓 レベル:基礎 | 重要度:A(必須) 📎 前提:llama.cpp | 原理:LLMの全体像(機械学習)

要点(結論先出し)

概念 ── 体験層の役目はモデル管理と起動

Ollama は重みのダウンロード・保存・GPUオフロードの面倒を肩代わりし、CLIとローカルAPIを提供します。初学者の入口として最適で、動いた後にllama.cpp直叩きやvLLMへ降りられます(→ 推論エンジンの使い分け)。

動くコマンド(最小例)

# モデルを取得して対話(モデル名・タグは要最新確認)
ollama pull llama3.1:8b
ollama run llama3.1:8b "ローカルLLMの利点を3つ。"

# APIサーバとして常駐(既定ポートで待受)
ollama serve

# OpenAI互換エンドポイントを叩く(curl例)
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"llama3.1:8b","messages":[{"role":"user","content":"3行で自己紹介"}]}'

Modelfile(設定をコード化)

# Modelfile: ベースモデル+人格+既定パラメータを固定
FROM llama3.1:8b
SYSTEM "あなたは簡潔に答える日本語アシスタントです。"
PARAMETER temperature 0.4
PARAMETER num_ctx 8192
ollama create my-assistant -f Modelfile
ollama run my-assistant "今日のタスクを箇条書きで"

num_ctx はコンテキスト長で、KVキャッシュとVRAMに直結 → コンテキスト長とKVキャッシュ

仕組み ── 包む側と包まれる側

flowchart LR
  CLI["ollama run / API"] --> O["Ollama(モデル管理・起動)"]
  O --> ENG["内部エンジン(llama.cpp または MLX)"]
  ENG --> HW["GPU・CPU・Apple Silicon"]

だから「Ollamaの速度」は実質「下のエンジン+量子化+ハード」の話。手軽さはOllama、性能はエンジン層と切り分けると判断がぶれません。

なぜそうするか

最初の障壁は「ビルドや設定で挫折する」こと。Ollamaはそれを消して、まず成功体験を作るために使います。OpenAI互換APIを話すので、後から本格運用に移る際もアプリ側の改修が小さく済みます → OpenAI互換API

⚠️ よくある落とし穴

対応lab

関連