mdx.jpの1GPUパックとOllamaを使ってローカルLLMを実行する
概要
mdx.jpの1GPUパックとOllamaを使ってローカルLLMを実行する機会がありましたので、備忘録です。
参考
以下の記事を参考にしました。
モデルのダウンロード
ここでは、llama3.1:70b
を対象にします。
ダウンロード完了後、以下のように選択可能となります。
使用例
以下の『渋沢栄一伝記資料』を使用します。
APIの利用
以下に記載がありました。
以下でJWTトークンとは別に、APIキーを発行します。
以下が実行例です。
import requests
import json
text = '''六月十四日 日 晴 風ナクシテ暑気昨日ニ比シテ少ク加フルヲ覚フ
朝来少シク風邪気ナルニヨリ晏起、 八時 洗面ヲナス、後、六孫王宮ノ神官又ハ同志社員 安藤 氏等来訪ス、 十時 大阪支店長 野口 、 神戸 杉田 、 名古屋 清水 及 西京 支店長 中川 、其他 小林 、 片野 、 前原 等ノ諸氏ヲ伴ヒ 嵐山 ニ抵リ、三軒屋ニテ午飧シ、船ヲ浮ヘテ大江川《(堰)》ヲ遡ル、船中囲碁ノ興アリ、 嵐山 ノ緑葉少シク繁茂ニ過ルモ両岸ニハ山花咲乱レテ頗ル風致アリ、 午後四時 過 玉川楼 ニ帰宿ス、今朝、 尾崎 司法大臣ノ秘書 黒田 氏来ル、又、 林 和太郎 氏( 桂 氏ノ父)来話ス、 午前十時 ヨリ各支店主任ト共ニ 嵐山 ニ抵リ三軒屋ニテ午飧ス、後、大江川《(大堰川)》ニ船ヲ浮ヘ、 午後四時 帰宿ス、後、 玉川楼 ニ於テ晩飧会ヲ開ク、種々ノ余興アリ、夜 十時 散会ス、 中井 三郎兵衛 氏モ来会ス'''
APIKEY = "sk-xxxx"
url = "http://localhost:8080/api/chat/completions"
headers = {
"Authorization": f"Bearer {APIKEY}",
"Content-Type": "application/json"
}
thres = 300
data = {
"model": "llama3.1:70b",
"messages": [
{
"role": "user",
"content": f"次のテキストは渋沢栄一の日記の一部です。テキストを{thres}字程度に要約してください。要約文のみを改行せずに返してください。句読点を適宜使用してください。\n\n{text}"
}
]
}
response = requests.post(url, headers=headers, data=json.dumps(data))
# レスポンスの表示
print(response.status_code)
print(response.json())
結果、以下が得られました。ただし、結果が返却されるまでに60s弱かかってしまいました。
{
'id': 'llama3.1 : 70b-44254f46-0f3f-40c1-933c-b0642d978ef2',
'created': 1730671173,
'model': 'llama3.1 : 70b',
'choices': [
{
'index': 0,
'logprobs': None,
'finish_reason': 'stop',
'message': {
'content': '六月十四日は晴れで風がなくて暑かった。朝は少し風邪気がありましたが、8時に洗面をし、その後6人の王宮の神官や同志社の安藤氏などが来訪しました。その後、大阪支店長の野口氏や神戸・名古屋支店長などの諸氏と共に嵐山に着き、三軒屋で昼食を取り、船を浮かべて大江川を遡りました。船の中では囲碁をするなど楽しく過ごしました。嵐山の緑葉は少し少なくて繁茂していませんでしたが、両岸には山花が咲き乱れて風景がよかったです。午後4時すぎに玉川楼に帰宿し、その後尾崎司法大臣の秘書黒田氏や林和太郎氏(桂氏の父)が来て話をしました。午前10時から各支店主任と共に嵐山に着き、三軒屋で昼食を取り、大江川に船を浮かべて遡りました。午後4時に帰宿し、その後玉川楼で晩酌会を開き、種々の余興もありました。夜10時すぎに散会しましたが、中井三郎兵衛氏も来てくれました。',
'role': 'assistant'
}
}
],
'object': 'chat.completion'
}
六月十四日は晴れで風がなくて暑かった。朝は少し風邪気がありましたが、8時に洗面をし、その後6人の王宮の神官や同志社の安藤氏などが来訪しました。その後、大阪支店長の野口氏や神戸・名古屋支店長などの諸氏と共に嵐山に着き、三軒屋で昼食を取り、船を浮かべて大江川を遡りました。船の中では囲碁をするなど楽しく過ごしました。嵐山の緑葉は少し少なくて繁茂していませんでしたが、両岸には山花が咲き乱れて風景がよかったです。午後4時すぎに玉川楼に帰宿し、その後尾崎司法大臣の秘書黒田氏や林和太郎氏(桂氏の父)が来て話をしました。午前10時から各支店主任と共に嵐山に着き、三軒屋で昼食を取り、大江川に船を浮かべて遡りました。午後4時に帰宿し、その後玉川楼で晩酌会を開き、種々の余興もありました。夜10時すぎに散会しましたが、中井三郎兵衛氏も来てくれました。
なお、modelをllama3.1:latest
(8.0B)に変更した場合、6s程度で結果が返却されました。
六月十四日 晴\u3000風ナクシテ暑気昨日ニ比シテ少ク加フルヲ覚フ。朝起八時、洗面後、三軒屋で午食した。嵐山に遡り、大江川を船で遡った。おはなを囲み、三軒屋では午食し、船中では囲碁の興味をあげた。嵐山では両岸の緑葉が少なく繁茂し、花が咲き乱れ風致があった。午後四時大江川に船が浮いて帰ると、今朝より尾崎司法大臣の秘書・黒田氏と林和太郎氏が来訪した。三軒屋で再び午食し、大江川に船を浮かべ、午後四時に玉川楼に帰り今夜は晩会を開いて種々余興があった夜十時散会となった。中井三郎兵衛も来会した
時間がかかってしまいますが、llama3.1:70b
(70.6B)のほうが日本語が自然なように感じます。
まとめ
mdx.jpの1GPUパックとOllamaを使ってローカルLLMを実行しました。
ローカルLLMの利用にあたり、参考になりましたら幸いです。
Discussion