2026年4月13日月曜日

local-ai ik-llama-cppを早く動かしてみたくて…

とりあえず、素のik-llama.cppをビルドしてみました。

レスポンスのトークンが3倍以上に跳ね上がるグラフを見てうずうずが止まりませんでした。(グラフの見方も良く分からんかったりするわけですがw)

仮に、1分のものが20秒ぐらいで返ってくるのはでかいよなぁ?とか涎が止まらなくなりそうな状態のまま、書いてある手順に従ってサクッとmakeしてcpu単体で動かしてみました。

開始手順も

./build/bin/llama-server --model /my_local_files/gguf/Qwen_Qwen3-0.6B-IQ4_NL.gguf --ctx-size 4096

とか出てて、

That's all! Open http://127.0.0.1:8080 in Browser start chatting. 

という事で、8080は困るので オプションを付けて --port 8081 ってやるだけで変わってくれました。あとモデルも適当なモデルを指定して、実行して…ブラウザーで覗いてみても何もできず…ブラウザースタートチャッティングって書いてあるのになぁ… 

まぁ良く分からんので手作業でローカルポートの8081へ投げてみたところ返ってきました!

実行中はあり得ないぐらいい素早くCPUファンが回り始めます。(普段はもうほんとに静かなんですが)

OpenAI仕様が分からんので、localAIのドキュメントにあるものをターミナルにコピペ実行!

$ curl http://localhost:8081/v1/chat/completions   -H "Content-Type: application/json"   -d '{
    "model": "llama-3.2-1b-instruct:q4_k_m",
    "messages": [{"role": "user", "content": "Hello!"}]
}'

で、結構時間がかかって返ってきたので、もしかすると、このモデルをダウンロードして実行してるのかもしれない…とも考えて、今度は日本語で「あなたについて教えて」と入力して実行。

おぉなんかちゃんと日本語でQwen3.5と返ってきました。モデルはちゃんと動いてそうだけど、jsonのmodel指定の意味は?とかちょっと気になったりして…

ただ、これどこまでちゃんと動いてるか良く分からん状態で、そもそも指定はport と model だけで実行してたりします。

で、肝心の実行速度ですが…正直良く分からんwただ、同じ質問を投げてもレスポンスの待ち時間は変化してないような気がするんですよねぇ…なんででしょうか?

 

と、素では動いたので、LocalAIのbackendとして動かしてみようかと… 

手元のLocalAI v4.1.3はすでにbackend/cpp/llama-cpp/grpc-server.cppは手作業でmasterの物を被せちゃったんで、ついでと言わんばかりにik-llama-cppも「手作業」でコピペしまくります。linuxに明るくない人はこれ以上手軽なやり方知らないわけで…githubのソースを表示してはコピーして、ターミナルの画面にペースト…でファイルを一個づつw

ちょっとしたポカミスはあったものの、基本的にはllama-cppで引っかかったprotbuffやライブラリ指定を書き換えたり追加して、で、cpu版のmakeは通りました。SYCL版は、良く分からないエラーが出ちゃってとりあえず諦めて、実行してみたところ…動かんw

localAIからrun.sh経由の実行だとbackend内の動きが良く分からないので、単体で起動させてgrpcサーバーポート経由で動かす形に。

ik-llama-cpp内でエラーが表示され、見てみるとmmprojのファイルが見つからん。とのこと。

ファイル名を見てみると、モデルディレクトリパスが2回繰り返されてたので、それが原因…でも何で??とあまり踏み込んでも仕方がないので、localai側のmodel定義のyamlからmmproj指定をコメントアウト。で、再度動かすと…モデルのロードはされるのですが、うんともすんとも動かなくなりました。

何度か試しましたが、3倍のスピードを試すことはできませんでした…残念。 

0 件のコメント:

コメントを投稿