NotebookLMではGoogleのサーバーにデータをアップロードしていたけど、これを手元で動かせたら、できることが増えて便利だろう、と試してみた。
最初は、LangChainというものがある、とみつけて、Pythonを書いて、とやってたけど、自分でコードを書かなくても、Open WebUIというグッズを使うと、UIもついてくるし、アップロードしたファイルをもとに会話もできるようなので、そちらの方向に切り替えた。
やってみたら、対話できるようになって、質問したり、歌を作ってもらったりできるようになったけど、事実関係のはっきりした質問をすると、すぐにわかる間違いが混ざっていて、ローカルで動かすLLMの性能はものたりない感じがする。
NotebookLMにアップロードして質問する体験が便利だったのでローカルで完結させたいと思い、Ollama、Llama3.1、Open WebUIなどをつかって、ブログのエクスポートをもとに、作者の暮らしを応援する歌を作ってもらった。作ってはもらえたけど、あんまり賢くない感じがする。 pic.twitter.com/SrxV9zdcMs
— 趣味はマリンスポーツです (@hitode909) 2024年9月5日
— 趣味はマリンスポーツです (@hitode909) 2024年9月5日
RAGといって、関連するテキストを抽出して質問文といっしょに投げつける技が実装されているようなのだけど、扱えるテキスト容量に何らかの制約があるのかわからないのだけど、何を聞いても同じテキストを参考に送っているような気がする。
コンソールに、やりとりしているテキストがずらずら出力されているのだけど、それを見ると、偏ったテキストが送られていて、自分のブログをもとに質問すると、なぜか、1月9日の、「645円で心配ごとがなくなってうれしい」、みたいなテキストがやけにフィーチャーされてしまう。
何が原因でこうなっているのかは知りたいので、Open WebUIのドキュメントをもうちょっと読んだり、Webサーバーの実装も眺めたりしたい。
応答の性能とか、文章の最新テック企業が切磋琢磨している領域なので、MacBookでちょこっと動かしても、良い性能を出すのはなかなか難しいのだろうと思う。
ただ、ローカルで動かすと、docker runの引数を変えたりとか、Node.jsで書かれたアプリケーションを読みに行ったりとか、結果が気に入らないところの実装を見に行ったりとか、日曜大工みたいな感じのたのしさはある。
ちなみに、これが、良いGPUのくっついたPCで動かしたらもっと良い性能が得られるのだとしたら、そのうちパソコンを買いに行ってしまいそう。