2025年12月24日水曜日

右往左往しながら七転八倒…

LocalAIの小数点バージョンが大体月1程度で更新され続けてる感じでv3.8.0すね。

LocalAIとしては、ようやくllmとbackendの切り分けを行ってyamlファイルの設定を分けている感じですが、個人的にはcpuのみの動作とoneAPI経由で動作させているのでその辺を上手く切り分けられたらと思っていたりします。なのでModels内でggufとyamlを一緒のディレクトリではなくて分けてほしいかなと感じていたり。若干方向性が上手く行っていない気もしないでもありません。AGIとかの絡みなのかもしれませんが。モデルギャラリーなどの表示はいいとして、インストール状態が分かりやすい画面が追い遣られてる感じなのと、ブラウザを最大化しないと、インストールや再インストール、アンインストール、モデルの停止などが行いにくくなっていたりするところが非常に残念です。

チャッターボックスも結構llamaのチャットと同じような形になっているようで、それなりにいい感じはするのですが、なんか表示がね…(笑) 現状で一番痛いのはモデル名表示がなんかもう完全に一致してなくて良く分からん状態でチャットしなければならなくなるのが痛いかな… 

 

で、個人的には、ネイティブ環境で動かすべく、何もわからないなりになんとかソースからLocalAIとそのバックエンドのllama.cppのビルドまではようやくできるようになりました。

些細なレスポンスの違いからdocker経由ではなくネイティブな環境だとどうなるのか知りたかったために頑張ってました。

ネイティブ環境の方が若干レスポンスが良くなる感じはしますが、根本的な問題としてllama.cppではなく、vllmで動かさないとだめなような気がします。

ちなみに、LocalAI経由ではなくllama.cpp単体のビルドはほぼ何の問題もなく行えるのと、LocalAIにこだわらずに素で使った方がいいんじゃね?的な感じも強くなったりするのですが、バックエンドを切り替えながら試せる環境は捨てがたいのかな?解りませんが(笑)

で、問題となるのが、様々なビルドと動作時の各ライブラリのバージョンなのですが、思っていた以上に難問でした。何も知らないので、初めはすべてのソースをビルドすれば行けるのではないかと思っていたのですが、結構厄介極まりなく…。

最初はgRPCをビルドすべく頑張っていたのですが、どうしても根底となる部分でビルドができなくなってそうでした。(protobuf 関連でどうしても綺麗にビルドできなくなりました)

最初はubuntuのaptパッケージのソースからビルドさせれば行けるか?とか考えていましたが、aptパッケージをベースるのであればそこまでせずともubuntuのaptパッケージで該当する-devパッケージや必要なパッケージを追加で入れれ変わらないかなと。そして、MakefileやCMakelists.txtのディレクトリを書き換えたりして結構無理やりビルドしました。それでもワーニング表示がされるので、細かく見ていませんがダメな部分もあるのかも? 

それでもllama.cppは実行バイナリがあるのでそれなりに行けた感覚なのですが、vllmに至ってはpipでインストールしまくるパッケージが結構な数があるのと、それぞれの要求バージョンがubuntuのaptでインストールされているバージョンと結構な不一致があったり全くバージョンが足りていなかったりと、一回aptパッケージでインストールされているpythonを捨てないとだめな気がします。

そこまでやるなら、docker経由でいいんじゃね?とか。という結論に至るわけです(笑)

 

まぁそこまでやっている間になんだか、gemma3だと問題はないのに非公式系のguffファイルでチャットが不安定な状態に。docker経由の古いLocalAIのバージョンで実行しても同じような状態に陥っているので、もしかすると、backendのllama.cppのバージョンが異なっているのが原因なのかもしれません。良く分かりません。どうもプロンプトがまともにやり取りできなくなってる感じがします。llama.cppを直接cliで叩いて確認してもいいかもしれないですが…

結構不毛な戦いを続けているので、少し整理のために愚痴ってみました(笑)