【Ollama】ローカル Llama3 日本語環境を整える【8B】
最新版はこちら。
はじめに
忙しい方のために結論を先に記述します。
日本語チューニングされた Llama3 を利用する
日本語で返答するようにシステム・プロンプトを入れる
日本語の知識(RAG)をはさむ
プロンプトのショートカットを登録しておく
(小さいモデルなので)ちょっとおバカさんのローカルモデルですが、RAGを利用すると化けます。
おすすめ日本語Llama3
suzume-llama-3-8b-japanese-gguf
LIGHTBLUE氏(社)が公開しているモデルです。公式ドキュメントにはおすすめ設定はありませんが、筆者のモデルファイルは以下のようにしています。参考程度にご利用ください。
FROM の値はダウンロード先のファイルを記載してください
TEMPLATE は ollama lama3 のものです
temperature
多様性を決めるパラメータです。0の場合は次の単語を予測する際に、もっとも高い確率のものだけを常に選ぶようになり、大きな場合は幅をもちます。top_k と top_p でその幅がきまります。最適な値はケース・バイ・ケースでよくわかりません。
stop は会話を終了する文字列です。
FROM /mnt/d/Data/llm/ggml-model-Q8_0.gguf
TEMPLATE "{{ if .System }}<|start_header_id|>system<|end_header_id|>
{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
{{ .Response }}<|eot_id|>"
SYSTEM You are a helpful, smart, kind, and efficient Japanese AI assistant. You always fulfill the user's requests to the best of your ability in Japanese. This is first priority that you must respond answers in Japanese.
PARAMETER temperature 0.3
PARAMETER top_k 10
PARAMETER top_p 0.5
PARAMETER stop <|start_header_id|>
PARAMETER stop <|end_header_id|>
PARAMETER stop <|eot_id|>
PARAMETER stop <|reserved_special_token|>
PARAMETER stop <|im_end|>
PARAMETER stop <|im_start|>
モデルファイルを ollama コマンドで読み込む場合は、
ollama create lightblue-llama3 -f lightblue-llama3.modelfile
等とします。lightblue-llama3 は登録するモデル名称で、lightblue-llama3.modelfile は上記のモデルファイルです。
日本語ドキュメントを読み込む(RAG)
Ollama Open WebUI、Dify を利用する場合は、pdf や text ドキュメントを読み込む事ができます。
Open WebUI の場合
まずは、より高性能な embedding モデルを取得します。
ollama pull mxbai-embed-large
次にドキュメントの設定をします。embedding モデルを指定します。
※ 【2024-06-17 追記】nextfire/paraphrase-multilingual-minilm:latest が説明には ja を含んでいるので、日本語の場合はこちらの方が良いかもしれません。ollama pull nextfire/paraphrase-multilingual-minilm:latest で入手可能です。
今回は日本語のテキストを読み込みます。利用したい分野の情報を読み込ませます。
チャットで読み込む時は、「#」を打ち込むと候補が現れます。
Difyの場合
Dify の「知識取得」に相当するものです。
プロンプト・ショートカット機能
Ollama Open WebUI にはショートカット機能があります。左の「プロンプト」からテンプレートや文字列をショートカットとして登録しておけば、すぐに入力する事ができます。
利用する時は「/」で選択項目が表示されます。
明示的に「日本語で答えて。」を簡単に挟む事ができます。
この記事が気に入ったらサポートをしてみませんか?