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'])