地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

Dify用にruri-v3を使ってOpen AI互換 embedding APIサーバーを作ってみる。

日本語APIで軽量さと精度のバランスが良く、prefix含み8k tokensを入力できるruri-v3は、embeddingモデルととても便利に使っています。modernBERTベースでSentencepiceをトークナイザーとして用いています。大変便利なので、embedding APIサーバーを作ってみました。今回は、利用目的から負荷テストまで行いました。なお、LAN内とかdocker network内での利用レベルを想定しています。

 

とりえず作って負荷テストをすると0.01~0.1%程度の頻度でエラーがでます。ざっくり使うだけならば問題ないレベルかもしれませんが、今回は追究します。Jules君とAntigravityを組み合わせて進めました。まず、Jules君に問題点の抽出をしてもらいPRを出してもらう。次にAntigravityでPRを検証しながらマージしていくといった手段です。

 

今回の場合は大量のテキストデータを利用するケースを考えていたので、エラーが起きるとやり直しがメンドイです。そこで、シツコクテストを繰り返しましたが、Jules君とAntigravity様が頑張ってくれました。

 

ruri-v3やembeddingのAPIや使い方を調べて、具体的な指示がvibe codingでは重要だと再認識しました。それに、勉強してそれをすぐに実装できるのは有難いです。調査や実装の要件を考えながらScrap and Build。楽しいですね。

 

Difyでテストしたら、問題なく動作しました。

 

完成品:

github.com

 

zenn.dev