Ollamaとは
コマンド1つでLLMをローカル環境にダウンロードし実行できる、オープンソースのツール
ひとことで言うと
コマンド1つで、AIモデルを自分のパソコンにダウンロードして動かせるツール。
概要
Ollama(オラマ)とは、LLMを個人のPC上に簡単にダウンロードし実行できるようにする、オープンソースのツール。 内部ではllama.cppを推論エンジンとして利用し、`ollama run llama3`のようなシンプルなコマンド1つで、量子化されたモデルのダウンロードから起動、対話までを完結できる。 ローカルのREST APIとしても動作するため、Open WebUI等のフロントエンドや自作アプリケーションから呼び出す用途にも使われる。 Modelfileと呼ばれる設定ファイルを使って、システムプロンプトやパラメータをあらかじめ組み込んだ独自のモデル設定を作成・共有でき、開発者が試行錯誤する際の手軽さが広く支持されている。
背景
LLMをクラウドAPI経由ではなく自分のPC上で動かしたいというニーズがある一方、llama.cpp等のライブラリを直接扱うにはコマンドラインでのビルドやモデル形式の変換といった専門知識が必要だった。 Ollamaは、この導入の手間を簡素化し、開発者がより手軽にローカルLLMを試せるよう開発された。
歴史
2023年: Ollamaが公開され、コマンドラインからのモデル管理・実行の手軽さで、ローカルLLM実行環境として急速に普及した。
アーキテクチャ
内部でllama.cppを推論エンジンとして利用し、モデルファイルはGGUF形式に量子化された状態で配布・実行される。 モデルの取得・バージョン管理・APIサーバーとしての提供までを1つのCLIツールで完結できるよう構成されている。
コード例
Python公式クライアントでの呼び出し(概念例)
import ollama
response = ollama.chat(
model="llama3",
messages=[{"role": "user", "content": "日本の首都はどこですか?"}],
)
print(response["message"]["content"])利点
- 簡単なコマンドだけでLLMのダウンロードから実行までを完結でき、導入の手間が少ない
- ローカル実行のため、データを外部へ送信せずにLLMを利用できる
- REST APIとしても動作し、他のアプリケーションから呼び出しやすい
欠点
比較
- llama.cpp — Ollamaは、内部でllama.cppを推論エンジンとして利用している
- LM Studio — OllamaがCLI中心であるのに対し、LM StudioはGUIを備えたローカルLLM実行ツール
- Open WebUI — Open WebUIは、Ollama等をバックエンドに利用するチャットUIとしてよく組み合わせて使われる
- 量子化 — Ollamaで配布されるモデルの多くは、量子化されたGGUF形式で提供される
- GGUF — Ollamaで配布・実行されるモデルの多くは、GGUF形式で提供されている
関連用語
よくある質問
参考文献
- Official WebsiteOllama
- GitHubollama/ollama