Ollamaとllama.cppでローカルモデルを実行する
OllamaはLLM向けの「docker run」のような使いやすさを提供し、llama.cppは量子化とC++による直接制御をさらに深く扱えます。
「Ollamaとllama.cppでローカルモデルを実行する」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
簡単な2つの方法
ワークステーションまたはサーバーでオープンモデルをセルフホストする方法は、次の2つです。
- Ollama — 最も簡単で、LLM 向けに Docker に似た UX を提供
- llama.cpp — より低レイヤーで、制御性が高く、フットプリントが小さい
Ollama Quick Start
# Install (macOS):
brew install ollama
# Pull a model:
ollama pull llama3.1:8b
# Run interactively:
ollama run llama3.1:8b 'Hello'
# Serve via HTTP (OpenAI-compatible):
ollama serveCalling Ollama Via SDK
from openai import OpenAI
client = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')
response = client.chat.completions.create(
model='llama3.1:8b',
messages=[{'role': 'user', 'content': 'Hello'}]
)
print(response.choices[0].message.content)Ollama のツール呼び出し
Ollama は、対応モデル(Llama 3.1 以降、Mistral、Qwen 2.5)のツール呼び出しをサポートしています。
tools = [{'type': 'function', 'function': {...}}]
response = client.chat.completions.create(
model='llama3.1:8b',
messages=messages,
tools=tools
)llama.cpp の基礎
llama.cpp は、CPU、GPU、または Metal(Apple Silicon)上で、GGUF 形式のあらゆるモデルを実行できる C++ 実装です。
# Build (or install pre-built):
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make
# Run a quantized model:
./llama-cli -m models/llama-3.1-8b-instruct.Q4_K_M.gguf -p 'Hello'Server Mode
./llama-server -m models/llama-3.1-8b-instruct.Q4_K_M.gguf --port 8080
# Now OpenAI-compatible endpoint at http://localhost:8080/v1量子化
4ビット量子化(Q4_K_M)を使うと、「16GB」モデルを約5GBの RAM で、品質をわずかに損なうだけで実行できます。まずは Q4 を試し、品質が重要なタスクではより高い量子化(Q5、Q6、Q8)を使ってください。
ハードウェア要件
| モデル | RAM Q4 | VRAM Q4 |
|---|---|---|
| 7-8B | ~6 GB | ~6 GB |
| 13B | ~10 GB | ~10 GB |
| 70B | ~40 GB | ~40 GB |
Apple Silicon のユニファイドメモリにより、大規模なローカルモデルも驚くほど実用的に使えます。
スループット向けの vLLM
高い同時実行性が求められる本番サービングには、vLLM(PagedAttention、continuous batching)を使います。
# pip install vllm
from vllm import LLM, SamplingParams
llm = LLM(model='meta-llama/Llama-3.1-8B-Instruct')
params = SamplingParams(temperature=0.2, max_tokens=512)
result = llm.generate(['Hello world'], params)Text Generation Inference (TGI)
HuggingFace TGI も、本番向けのサーバーです。ツール使用のサポートに優れています。
サーバーの比較
- Ollama — 最高の UX、シンプルな CLI/HTTP、開発に適している
- llama.cpp — 最も軽量で、どこでも実行できる
- vLLM — 最高のスループット、GPU 専用
- TGI — HuggingFace 統合、モニタリング
セルフホストするタイミング
- 厳格なプライバシー要件がある
- 非常に高い利用量がある(コストが逆転する目安は1日あたり約1,000万トークン)
- ファインチューニングしたモデルを使う
- エッジまたはオフラインのシナリオで使う
セルフホストしないほうがよい場合
- 利用量の少ないサイドプロジェクト(ホステッドのほうが安価です)
- 最先端の推論品質が必要
- マルチモーダルタスク
OpenAI 互換エンドポイント
OpenAI 互換エンドポイントの規約は、ローカルモデルにとってなぜ便利なのでしょうか。
まとめ
開発のシンプルさには Ollama、移植性には llama.cpp、本番のスループットには vLLM を使います。どれも OpenAI 形式の API に対応しているため、コードを変更せずに入れ替えられます。
よくある質問
「Ollamaとllama.cppでローカルモデルを実行する」レッスンは無料ですか?
はい。「Ollamaとllama.cppでローカルモデルを実行する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「Ollamaとllama.cppでローカルモデルを実行する」で何を学びますか?
OllamaはLLM向けの「docker run」のような使いやすさを提供し、llama.cppは量子化とC++による直接制御をさらに深く扱えます。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Ollamaとllama.cppでローカルモデルを実行する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Llama、Mistral、Qwenの概要
- Ollamaとllama.cppでローカルモデルを実行する
- オープンモデルでFunction Callingを行う(Hermes、Functionary)
- トレードオフ:レイテンシ、コスト、性能