-
safetensor
形式からgguf
形式に変換する。参考: https://note.com/npaka/n/n3e99d2a45a4b
各クローン先は任意の場所でOK。-
Hugging Faceからモデルをクローンする。
$ cd $ git clone https://huggingface.co/llm-jp/llm-jp-3-13b-instruct
モデルが大きいので、待ってる間に以下を進める。
-
llama.cpp
のセットアップ-
レポジトリをクローンする。
$ cd $ git clone https://github.com/ggerganov/llama.cpp.git $ cd llama.cpp
-
Python 3.10のセットアップ
$ mise use [email protected]
-
venvの構築
$ python3 -m venv .venv $ source .venv/bin/activate
-
必要なパッケージのインストール
$ pip install -r requirements.txt
-
-
モデルをsafetensor形式からgguf形式に変換する。
$ cd $HOME/llama.cpp $ python3 convert_hf_to_gguf.py ~/llm-jp-3-13b-instruct/ --outfile llm-jp-3-172b-instruct3.gguf
-
-
Modelfile
を以下の内容で作成する。https://github.com/ollama/ollama/blob/main/docs/modelfile.mdとhttps://huggingface.co/llm-jp/llm-jp-3-13b-instruct/blob/main/tokenizer_config.jsonを元にChatGPT o1に作らせた。
FROM ./llm-jp-3-13b-instruct.gguf # 推論時のパラメータを調整 PARAMETER num_ctx 4096 PARAMETER temperature 1 PARAMETER top_k 40 PARAMETER top_p 0.9 # システムメッセージを設定(任意の役割やトーンを指定可能) SYSTEM """あなたは日本語で質問に答えるアシスタントです。文体は丁寧かつ簡潔にしてください。""" # テンプレート例 # - .System : 上記の SYSTEM メッセージが入る # - .Prompt : ユーザが入力したプロンプトが入る # - .Response : モデルが生成する出力が入る TEMPLATE """{{ if .System }}以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。 {{ .System }} {{ end }} {{ if .Prompt }}### 指示: {{ .Prompt }} {{ end }} ### 応答: {{ .Response }}""" # 追加で会話の履歴を与えたい場合は MESSAGE を使う # MESSAGE user "こんにちは、調子はいかがですか?" # MESSAGE assistant "はい、快適に動作しています。何をお手伝いできますか?"
-
ollamaでモデルを構築する
$ ollama create llm-jp-3-13b-instruct -f ./Modelfile
-
ollamaで実行する。
$ ollama run llm-jp-3-13b-instruct