💨
MacでターミナルからローカルLLMを使う
これはなに
- LLM・LLM活用 Advent Calendar 2024 の 12月18日の記事です。
やりたいこと
- Mac のターミナルからローカルLLMを使いたい
使うもの
- ollama
- ローカルでLLMを動かすのをサポートするOSS
- llama(リャマ)ベースなので、読み方オリャマで良いんだろうか...
ollama install & start
ollama を brew で
$ brew install ollama
こんな感じ
$ ollama --version
Warning: could not connect to a running Ollama instance
Warning: client version is 0.5.3
ollama のサービスを起動
$ ollama serve
ctrl + c
で停止できる
ollamaでダウンロード可能なモデル
ここを見よう
軽量モデルの Phi 3 Mini を入れてみる
ollama serve した状態で... run して、"こんにちは" してみる
$ ollama run phi3
pulling manifest
pulling 633fc5be925f... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 2.2 GB
pulling fa8235e5b48f... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1.1 KB
pulling 542b217f179c... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 148 B
pulling 8dde1baf1db0... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 78 B
pulling 23291dc44752... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 483 B
verifying sha256 digest
writing manifest
success
>>> "こんにちは"
"こんにちは" (Konnichi wa) - Hello or Good afternoon in Japanese. This phrase is a common greeting used during the daytime, typically before evening sets in and after people have
woken up but not too late into their workday where they might be expected to say "おやすみなさい" for good night instead of just morning farewells like "こんにちは".
ollama のスラッシュコマンド
/? で help が出る
>>> /?
Available Commands:
/set Set session variables
/show Show model information
/load <model> Load a session or model
/save <model> Save your current session
/clear Clear session context
/bye Exit
/?, /help Help for a command
/? shortcuts Help for keyboard shortcuts
Use """ to begin a multi-line message.
たとえば、/show info でモデルの情報がでる
>>> /show info
Model
architecture phi3
parameters 3.8B
context length 131072
embedding length 3072
quantization Q4_0
Parameters
stop "<|end|>"
stop "<|user|>"
stop "<|assistant|>"
License
Microsoft.
Copyright (c) Microsoft Corporation.
Ctrl + d
or /bye
で exit する。
コマンドから直接メッセージを渡す(非対話で渡す)
シェルスクリプトっぽい使い方をする場合はこっちが使いやすいかも
$ ollama run phi3 <<< "日本語で朝の挨拶を教えて"
こんにちは、皆さん。いつも良い一日を過ごせることを願っております。
-----
こんな感じ
結果のリダイレクトもできる
$ ollama run phi3 <<< "日本語で夜の挨拶を教えて" > ~/tmp/foobar.txt
$ cat ~/tmp/foobar.txt
こんばんは。美しい皆さんにお会いできるかと思うが、今夜も一息と共にご活躍の時間を過ごせることを願っています。
Phi 3.5 も入れて比較
$ ollama run phi3.5
pulling manifest
pulling b5374915da53... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 2.2 GB
pulling c608dc615584... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 149 B
pulling c5f9f560a704... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1.1 KB
pulling 45ac4c662a77... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 60 B
pulling 0611867ea67b... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 409 B
verifying sha256 digest
writing manifest
success
$ ollama run phi3 <<< "日本語で朝の簡潔な挨拶を教えて"
「こんにちは、お元気ですか?」
$ ollama run phi3.5 <<< "日本語で朝の簡潔な挨拶を教えて"
「おはようご,こんにちは!」またはシンプルに「おはようございますか?」と言うのが簡単な朝の挨拶です。どちらも一般的に使われています。
英語で書く場合:
1. "おはようございますか?" (Ohayō gozaimasu ka?)
2. "おはようです!" (Ohayō desu!)
英語は聞いてないがまぁ...
よく使う ollama コマンド
- モデル一覧
- ollama list
- モデル削除
- ollama rm
おしまい
じゃーねー
Discussion