💨

MacでターミナルからローカルLLMを使う

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でダウンロード可能なモデル

ここを見よう
https://ollama.com/library

軽量モデルの 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