🎉
【備忘録】llama-cpp-python+pyinstallerでexe配布するときの注意点
ローカルLLMを使ったアプリケーションをexeファイルする時の注意点があったので、備忘録的に。
LLMモデルはあとで読み込めるようにする
最初試したのは以下。
pyinstaller --onefile --add-data "models/hoge.gguf;models" main.py
これだと途中でエラーになる。原因はggufにしたところで数GBになるため。なので、ビルド終わったらcpコマンド等でdistディレクトリにmodelsをコピーしてあげよう。
hooksをきちんと書く
llama-cpp-pythonはllama.dllというのが必要で、どうやらビルド時にこれの参照が上手くいかなくなるらしい。下記ページを参考に、hooksディレクトリにhook-llama_cpp.pyを配置してあげよう。
最終的なコマンドは以下になった。これさえ気を付ければexe配布できるので、気軽に配布してみよう。
pyinstaller --additional-hooks-dir=./hooks --onefile main.py ; cp -r ./models ./dist/models
Discussion