見出し画像

【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 モデルを指定します。

Open WebUI ドキュメント設定 ①

今回は日本語のテキストを読み込みます。利用したい分野の情報を読み込ませます。

Open WebUI ドキュメント設定 ②

チャットで読み込む時は、「#」を打ち込むと候補が現れます。

Open WebUI ドキュメント設定 ③

Difyの場合

Dify の「知識取得」に相当するものです。

Dify

プロンプト・ショートカット機能

Ollama Open WebUI にはショートカット機能があります。左の「プロンプト」からテンプレートや文字列をショートカットとして登録しておけば、すぐに入力する事ができます。

プロンプト・ショートカット①

利用する時は「/」で選択項目が表示されます。

プロンプト・ショートカット②

明示的に「日本語で答えて。」を簡単に挟む事ができます。


この記事が気に入ったらサポートをしてみませんか?