LLM(大規模な言語モデル)を立ち上げて実行するツール
※強制的にCPUで動作させる場合は、以下、環境変数を設定しておけばよい
OLLAMA_NO_CUDA=1
wget https://ollama.com/install.sh bash install.sh
wget https://huggingface.co/elyza/Llama-3-ELYZA-JP-8B-GGUF/resolve/main/Llama-3-ELYZA-JP-8B-q4_k_m.gguf?download=true mv Llama-3-ELYZA-JP-8B-q4_k_m.gguf* Llama-3-ELYZA-JP-8B-q4_k_m.gguf
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 create elyza:jp8b -f Modelfile
ollama run elyza:jp8b対話形式で、回答を返してくれます。
!pip install ollama
from ollama import chat from ollama import ChatResponse response: ChatResponse = chat(model='elyza:jp8b', messages=[ { 'role': 'system', 'content': 'あなたは誠実で優秀な日本人のアシスタントです。特に指示が無い場合は、常に日本語で回答してください。', }, { 'role': 'user', 'content': 'D言語で、フィボナッチ数列を実装してください。', }, ]) print(response['message']['content'])