昨今のLLMの性能向上でそろそろcopilotをローカルに移行できるかも?と思ってfauxpilotを試してみました。
参考
これらを試してみたところ、fauxpilotの公式はtritonサーバーを使っているのですが、これがとても重くて使いにくいなぁとなりました。
というわけでhuggingface transformersを簡単なRESTサーバーとして起動するサンプルを作ってみました。
もちろんただのREST APIなのでfauxpilot用途以外にも使えます。
ソースはここです。
ポイントは以下の通りです。
- FastAPIを使用してRESTful APIを提供
- OpenAIのAPIと同様のリクエスト・レスポンス形式
- テキスト生成のストリーミングをサポート
- 複数のモデルに対応(モデルパスを引数で指定)
- マルチスレッディングを利用した高速な推論処理
使い方は大体README.mdに書いてある通りです。
これでcodellama2-7b辺りを上げておくと、それなりに補完がされます。
とはいえ、、ちょっとまだcopilotとは張り合えそうにないので、まだしばらくはcopilotに課金です。。。