CPUだけでも使える1ファイル版フリーの量子化省メモリローカルLLMのllamafileを入れてJava,PythonプログラムをAIに書かせてみた。Win,Mac,Linux,*BSDサポート。Dockerより簡単。ジャンクノートPCでおけ。LLM禁止職場に最適。

マルチOS対応の1ファイル版llamafileをLinux、NetBSDで動かしてみました。VirtualBoxでもOK。SSE3必須なのでQemuだとKVMかNNVMを使わないとエラーが出ます。もちろんAndroidでもTermuxで本家がサポートしているので動く。 Dockerより簡単で少容量。 外部モデルも-mオプションで使用可能らしいが2つのモデルが勝手に会話し始めてワラワラ。 基本設定とオプションはllama.cppと同じらしい。
37
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

1ファイルでインストール不要で実行出来る生成AI推論のLLamafileをコマンドラインからVirtualBox+NetBSD10RCで動作確認。すげーなこれ。*BSDでもLinuxでも完璧。 SSE3必須だからQemuとかはエラーが出るから注意。 だれかPkgsrc-WIPに入れて下さい・・・ pic.twitter.com/kstDUa2IQK

2023-12-10 08:18:43
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

llamafileはここからダウンロードして実行するだけ chmod +x mistral-7b-instruct-v0.1-Q4_K_M-main.llamafile ./mistral-7b-instruct-v0.1-Q4_K_M-main.llamafile -p "### Instruction: Good Morning! ### RESPONSE:" huggingface.co/jartine/mistra…

2023-12-10 09:15:27
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

Windowsでllamafileを使うには、ファイル名を変更で.EXEを付ける、とな・・・ -mで外部モデルを使えるのは同じね。 curl -o llamafile.exe github.com/Mozilla-Ocho/l… curl -o mistral.gguf huggingface.co/TheBloke/Mistr… .\llamafile.exe -m mistral.gguf gigazine.net/news/20231210-…

2023-12-11 18:28:32
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

Windowsでllamafileを使ってみた。1実行ファイル4GB制限あるけど、モデル抜きで本体だけなら16MBしかないので、 公式HPの下記スクショの様に本体だけダウンロードしてファイル名に.exeを追加してから、モデルは好きなggufを-mオプションで動かせばOK 簡単である。しかし本体が16MBしかないのかw pic.twitter.com/3NaIBzvMEx

2023-12-25 18:44:38
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

コマンドラインの場合、Hugging Faceはwget使えないのでダウンロードにはhuggingface_hubというツールを使うと良い pkgin install python311 py311-pip pip311 install huggingface_hub ubuntuは sudo apt install python3 pithon3-pip pip install huggingface_hub github.com/huggingface/hu…

2023-12-10 09:21:26
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

huggingface_hubを入れたらpythonで nano download.py 下記を保存 from huggingface_hub import hf_hub_download hf_hub_download(repo_id="tjartine/mistral-7b.llamafile", filename="mistral-7b-instruct-v0.1-Q4_K_M-main.llamafile")

2023-12-10 09:24:35
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

保存したら実行 python311 download.py そうするとダウンロード開始するのでしばし待つ。 ダウンロード完了したら.cacheに保存されるので移動 cd .cache/huggingface/hub/models--jartine--mistral-7b.llamafile/snapshot/~~

2023-12-10 09:28:19
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

ダウンロードしたファイルをchmodしてから-pオプションと質問文を書いて実行するだけ chmod +x cmistral-7b-instruct-v0.1-Q4_K_M-main.llamafile ./mistral-7b-instruct-v0.1-Q4_K_M-main.llamafile -p "### Instruction: Good Morning! ### RESPONSE:"

2023-12-10 09:30:10
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

日本語で回答させたければ一工夫必要 「日本語で返事をして下さい」 ./mistral-7b-instruct-v0.1-Q4_K_M-main.llamafile -p '### Instruction: こんにちは。今日の天気はどう?日本語で返事をして下さい\n### Response:\n' pic.twitter.com/UtPJTwEkua

2023-12-10 09:36:21
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

llamafileにはサーバ版やLLAVA版もあるので好きな方を メモリは7Bの場合は数百MB程度?でそんなに使わないらしいが賢くはない。サポートハードは下記 Linux 2.6.18+ (ARM64 or AMD64) macOS 15.6+ (ARM64 or AMD64) Windows 8+ (AMD64) FreeBSD 13+ (AMD64) NetBSD 9.2+ (AMD64) OpenBSD 7+ (AMD64)

2023-12-10 09:45:27
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

VirtualBox上のエミュレータ環境でも動く。 SSE3対応が必須なので、Qemuだとkvmやnvmmを使わないとエラーが出るので注意。

2023-12-10 09:46:40
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

llamafileでJavaやPythonのHello Worldを書かせてみる。もちろんLLMなので出来る。ネットワークに接続しないので、LLM禁止職場でも使えるはず。 職場でOpenBSDやNetBSDを使っている人は相当の古強者だと思いますが・・・ pic.twitter.com/WrnpuVAxWE

2023-12-10 10:04:26
拡大
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

llamafileに-mオプションで外部モデルも使用可能らしい。2つモデルが勝手に会話するが ./mistral-7b-instruct-v0.1-Q4_K_M-main.llamafile -m /home/kapper/llama.cpp/models/ELYZA-japanese-Llama-2-7b-fast-instruct-q4_K_M.gguf -p '### Instruction: 今日の天気を教えて下さい. ### Response:' pic.twitter.com/PdX1JH99hd

2023-12-10 10:17:39
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

外部の日本語モデルを使うと結構メモリ食うけど賢くなる。ELYZAの日本語モデル推奨。いいね。 7Bはちょっと不満なので13B欲しい所。*BSDでもローカルLLMしようぜ pic.twitter.com/xv5dWKQWYZ

2023-12-10 10:52:38
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

NetBSDでも使えるマルチOS 1ファイル版ローカルLLMのllamafileが0.4にアップグレードされました。ChatGPT3.5に匹敵する32GB版などに更新されています wget huggingface.co/jartine/mistra…

2023-12-16 08:57:31