はじめに
以前に作ったllama.cppのRuby bindingsであるllama_cpp.rbでチャットボットのサンプルを作った。llama.cppのexamples/main/main.cppをいい感じにRubyにすれば作れるので「誰か作ってくれないかな」という他人まかせな気持ちでいたが、作る時間がとれたので作った。
使い方
thorで作ったので、llama_cpp.rbの他にthorもインストールする。
$ gem install thor llama_cpp
で、git cloneするなりで取ってきたchat.rbを動かす。--threads オプションでCPUにあわせてスレッド数を増やしたほうが速くなって良い。モデルは適当に用意してください。
$ ./chat.rb -m /path/to/quantized-model.bin --threads 4
こんな感じ。実は最初の「User: 」が出るまで少し待ちがある。
おわりに
チャットできるとLLMs感でますね。