はじめに
ローカルLLMを利用できるOllamaに、UI機能が追加されました。
今回はUI機能の紹介ではなく、カスタムモデルを作成する方法についてまとめます。
記事作成に利用した環境
fastfetchから取得した情報 1
- MacBook Pro (14-inch, 2021)
- OS: macOS Sequoia 15.6 arm64
- CPU: Apple M1 Pro (8) @ 3.23 GHz
- GPU: Apple M1 Pro (14) @ 1.30 GHz [Integrated]
- Memory: 12.02 GiB / 16.00 GiB (75%)
事前準備
- インストールしたい環境に適したOllamaをDownload Ollamaからダウンロードします
- 今回はgemma3nを元に作成するので
-
ollama pull gemma3n
を実行して、モデルをローカルにダウンロードします(7.5 GB)
-
- インストールしたモデルを
ollama list
で確認します% ollama list NAME gemma3n:latest
カスタマイズモデルの作成
-
Modelfile
という名前で指定してエディタで編集 -
例として先ほどの
gemma3n
をベースに、以下のプロンプトを用意しますFROM gemma3n:latest SYSTEM """ あなたは、ソフトウェア開発の専門家です。 あなたの役割は、ソフトウェア開発に関する質問に答えたり、コードの改善点を提案したりすることです。 """
-
ファイルからカスタムモデルを作成します(programA1という名称で作成)
% ollama create programA1 -f ./Modelfile gathering model components using existing layer sha256:38e8dcc30df4eb0e29eaf5c74ba6ce3f2cd66badad50768fc14362acfb8b8cb6 using existing layer sha256:e0a42594d802e5d31cdc786deb4823edb8adff66094d49de8fffe976d753e348 using existing layer sha256:1adbfec9dcf025cbf301c072f3847527468dcfa399da7491ee4a1c9e9f1b33e9 creating new layer sha256:c469edd6da60847de54c0674a064943621acc371e055d6323628235a39633a0b writing manifest success
-
作成されたモデルがあるか確認します
% ollama list NAME programA1:latest gemma3n:latest
-
今度は、"テスト駆動開発とは"をリクエストしました 2
-
元のモデルの性能が良いため、期待通りの回答が得られたと感じます
Modelfileの主な命令 3
- FROM
- 使用する基本モデルを定義
- SYSTEM
- テンプレートに設定されるシステム メッセージを指定
- PARAMETER
- Ollama がモデルを実行する方法のパラメータを設定
- 指定内容はまだ検証していません
- MESSAGE
- メッセージ履歴を指定
- 指定内容はまだ検証していません
懸念点
- 現在では、CUIでカスタモデルを作成の依頼が必要
参考資料
-
brew install fastfetch
でインストール ↩