この記事では、OllamaでLlama-3-ELYZA-JP-8Bを使う方法を紹介します。
Llama-3-ELYZA-JP-8Bは、GPT-3.5 Turboに匹敵する性能を持つ日本語LLMです。
Ollamaを使えば、Llama-3-ELYZA-JP-8Bをローカル環境で動かすことができます。
OllamaでLlama-3-ELYZA-JP-8Bが使える?

Ollamaで用意されているモデルには、Llama-3-ELYZA-JP-8Bは含まれていません。
追加の設定をすることで、Ollamaでカスタムモデルを使えるようになります。
Ollamaを使えば、ChatGPTのようなインターフェイスで、Llama-3-ELYZA-JP-8Bをローカル環境で動かすことができます。
Llama-3-ELYZA-JPの詳細については、以下の記事をご覧ください。

OllamaをPythonで使う方法は、別記事で解説しています。

OllamaとLlama-3-ELYZA-JP-8Bの実行環境

この記事では、次のようなGPUを搭載した環境を用意しています。
- GPU:NVIDIA A100
- GPUメモリ(VRAM:80GB)
- OS:Ubuntu 22.04LTS
- Docker
Windowsをお使いの方は、Ubuntuをインストールする記事をご覧ください。

Dockerの環境構築の方法は以下の記事をご覧ください。

OllamaとLlama-3-ELYZA-JP-8Bの環境構築

ここからOllamaとLlama-3-ELYZA-JP-8Bの環境を構築する方法について解説していきます。
OpenWebUIでカスタムモデルの設定をする方法
以下の記事を参考にOllamaの環境構築からログインまで実行します。


HuggingFaceから「Llama-3-ELYZA-JP-8B-q4_k_m.gguf」のモデルページにアクセスします。

「Llama-3-ELYZA-JP-8B-q4_k_m.gguf」の行にある「ダウンロードアイコン」をクリックすると、モデルをローカル環境にダウンロードできます。

「画面右上の丸いアイコン」から「Settings」を開きます。

サイドバーから「Admin Settings」を開きます。

サイドバーから「Models」を開き、「Experimental」の「Show」をクリックします。

「Upload a GGUF model」の下にある「Click here to select」をクリックすると、
「ファイル選択ダイアログ」がポップアップ表示されます。
そのダイアログから、先ほどダウンロードした「Llama-3-ELYZA-JP-8B-q4_k_m.gguf」を選びます。

「Modelfile Content」に以下のチャットテンプレートを貼り付けます。

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|>"""
PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
PARAMETER stop "<|reserved_special_token"
「アップロードボタン」をクリックします。

「SUCCESS」という表示がでたらアップロード完了です。
コマンドラインでカスタムモデルの設定をする方法
OpenWebUIでのカスタムモデル設定は、時間がかかる場合があります。
その代替手段として、コマンドラインからカスタムモデルを設定する方法を紹介します。
OllamaのDockerコンテナを起動した状態で、コンテナにログインします。
docker exec -it ollama /bin/bash
必要なパッケージをインストールします。
apt-get install -y curl nano
コマンドラインでカスタムモデルをダウンロードします。
curl -L -o Llama-3-ELYZA-JP-8B-q4_k_m.gguf
"https://huggingface.co/elyza/Llama-3-ELYZA-JP-8B-GGUF/resolve/main/Llama-3-ELYZA-JP-8B-q4_k_m.gguf?download=true"
モデルファイルを作成し編集します。
nano Modelfile
開いたモデルファイルに以下のテンプレートを貼り付けます。
FROM ./Llama-3-ELYZA-JP-8B-q4_k_m.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|>"""
PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
PARAMETER stop "<|reserved_special_token"
モデルファイルを指定して、Ollamaで使えるモデルを作成します。
ollama create Llama-3-ELYZA-JP-8B-q4_k_m.gguf -f Modelfile
ollama.createのエラー「invalid digest format」の解消方法

OllamaをPythonで使う方法

OllamaにLlama-3-ELYZA-JP-8Bをセットしてテキスト生成

OllamaにLlama-3-ELYZA-JP-8Bをセットしてテキスト生成をしてみます。
画面左上の「New Chat」から「Select a model」を開き、
「Llama-3-ELYZA-JP-8B-q4_k_m.gguf」を選択します。

「画面下のボックス」に”プロンプト”を入力し「矢印」ボタンを押します。

「三重県の観光地を教えて下さい。」というプロンプトを実行しています。

三重県の観光地を教えて下さい。
三重県は伊勢神宮や熊野古道など、歴史的・文化的な観光資源が豊富な県です。以下に、三重県の代表的な観光地をご紹介します。
1. 伊勢神宮: 日本で最も有名な神社の一つで、内宮と外宮があります。
2. 熊野古道: 世界遺産に登録された古道は、約50kmにわたり、自然や歴史を感じることができます。
3. 忌部の里(三重県熊野市): 古代から続く日本最南端の神社、紀伊大神宮があります。
4. 紀州東照宮(三重県津市): 徳川家康公を祀る神社で、豪華な建築物や美しい庭園が見どころです。
5. 鳥羽水族館: 三重県の鳥羽湾に面する水族館で、色鮮やかな魚類や海洋生物が展示されています。
6. 松阪牛と伊勢うどん: 三重県は名産品が多くあります。松阪牛の高級店や伊勢うどん専門店もおすすめです。
7. 紀伊長島町のカブトガニの博物館(三重県紀北郡): カブトガニの生態や歴史を学べる珍しい博物館です。
8. 榊原温泉郷(三重県津市): 古くから湯治場として知られる温泉地で、多くの旅館が点在します。
9. 玉城町の玉石採石場跡公園(三重県伊勢市): 奈良時代に造営された石積み遺構は、当時の技術を示す貴重な文化財です。
10 .紀北町の安乗岬灯台(三重県紀北郡): 三重県最南端の岬で、美しい景色や海鳥の生態が見られます。
以上、三重県には多くの観光地があります。是非、訪れてみてください。
生成AI・LLMのコストでお困りなら
GPUのスペック不足で生成AIの開発が思うように進まないことはありませんか?
そんなときには、高性能なGPUをリーズナブルな価格で使えるGPUクラウドサービスがおすすめです!

GPUSOROBANは、高性能GPU「NVIDIA H200」を業界最安級の料金で使用することができます。
NVIDIA H200は、生成AI・LLMの計算にかかる時間を大幅に短縮することが可能です。
クラウドで使えるため、大規模な設備投資の必要がなく、煩雑なサーバー管理からも解放されます。