OllamaでローカルLLM

「Ollama」は、Llama 3、Mistral、Gemmaなどの大規模言語モデルをローカルで使用するためのソフトウェアです。

Ollamaをインストールし、ローカルでLLMを使ってみたいと思います。

環境はMac Book Pro M1 Sonoma 14.2.1です。
まずはGithubのREADME.mdのmacOSの所からダウンロードして、インストールします。

インストール後、ollamaコマンドが利用可能になっているので、下記のコマンドを実行します。

ollama run llama3

これはllama3モデルを実行するコマンドになります。
初回実行時はモデルのダウンロードを行うため、時間がかかります。
サポートしているモデルは下記のリンクから確認できます。

ダウンロードが完了すると、チャットが出来るようになります。

チャットは/byeで終了することができます。

OllamaにはビルトインWEB APIも実装されています。
API経由でモデルを利用することが出来ます。

APIリクエストでモデルを利用する

Curlコマンドでapi/generateエンドポイントに以下のようなリクエストを送ります。modelパラメーターには先ほどダウンロードしたllama3を指定します。

curl http://localhost:11434/api/generate -d '
{
    "model": "llama3",
   "prompt": "こんにちは!",           
   "stream": false
}'

レスポンス

先ほどのCurlコマンドを実行すると下記のようなレスポンスが返却されます。

{
	"model": "llama3",
	"created_at": "2024-05-15T11:10:15.812176Z",
	"response": "こんにちは!😊",
	"done": true,
	"done_reason": "stop",
	"context": [
		128006,
		882,
		128007,
		198,
		198,
		90115,
		6447,
		128009,
		128006,
		78191,
		128007,
		198,
		198,
		90115,
		6447,
		76460,
		232,
		128009
	],
	"total_duration": 2988217542,
	"load_duration": 7602125,
	"prompt_eval_count": 7,
	"prompt_eval_duration": 2540292000,
	"eval_count": 5,
	"eval_duration": 438687000
}

APIドキュメントは下記から確認することが出来ます。https://github.com/ollama/ollama/blob/main/docs/api.md