RubyでAIを操る!全主要AIプロバイダーを統合するフレームワーク「RubyLLM」が登場
RubyLLM: A Ruby framework for all major AI providers
RubyLLM: A Ruby framework for all major AI providers
Ruby開発者に朗報です。主要なAIプロバイダーを簡単に利用できるようにするRuby用フレームワーク「RubyLLM」が登場しました。これまでのように各社独自のAPIの仕様に悩まされることなく、統一されたインターフェースでAI機能を実装可能です。RubyアプリケーションへのAI導入がかつてないほどスムーズになります。
Ruby LLMを使ってみたけど驚くほど良かったよ。使い勝手はVercelのAIフレームワークに近い感じ。
すぐに動く手軽さと柔軟性のバランスを取ろうとしているみたいだけど、それが難しい部分もあるね。それでも全体としてはかなりいいと思う。
実際に使っていて一番困ったのはキャッシュがうまく機能しないことかな。例えばxAIだとcompletions APIしかサポートされてないから、思考プロセス(thought signatures)の返し方がうまくいかないんだよね。
RubyをAIコミュニティに持ち込んでくれて、オープンソースでの活動に感謝!素晴らしい言語だし、もっと注目されてもっと深掘りされるべきだよね :)
RubyLLMはすごく使いやすいよ。去年のプロジェクトでかなり活用した。欠点としては、詳細なトレース可観測性(observability)を実装するのが難しかった点かな。あと、リトライが発生すると元のモデルを削除しちゃうパターンがあるから、履歴はきれいになるけど、実際にどんな順番でAPIが叩かれたかを正確に追うのには向いていないかも。
RaixっていうオープンソースのGemを作ってるよ。RubyLLMの抽象化レイヤーの上に構築していて、結構人気があるんだ。https://github.com/OlympiaAI/raix
うちも本番環境でRubyLLMを使ってるけど、この分野では今まで見た中で一番エレガントなライブラリだよ。
Issueトラッカーの運営の仕方も好きだな。 "Feature Request" を選ぶと、代替案をどう検討したかとか、なぜRubyLLMにそれが必要だと思うかといった説明を求められる仕組みになってるから、スコープクリープを防げるんだ。
RubyLLM、愛用させてもらってる!素晴らしくて使いやすいフレームワークだよね。
他のコメントにもあったけど、responses APIが標準サポートされてないのは不満だね。あれは大きな欠点だと思う。別の開発者が作ったコネクタはあるけど、バグが多いし本家のGemほど品質が高くないんだ。
今後の開発、特に2.0にはすごく期待してる!
追記:おっと、responses APIがネイティブ対応したのか?早速確認してみるよ。
RubyLLM最高!サイドプロジェクトで使ってるよ。昨年のSF Ruby confでの質問やコメントが、もうエコシステムの中で機能として実装されてるなんて面白いよね。https://youtu.be/y535u1EWqAg?si=rbyv52T035apKwQk
数ヶ月前までRubyLLMをがっつり使ってたよ。設計も実装もすごくきれい。自分でもいろんなLisp言語でLLMクライアントを書いてるんだけど、RubyLLMのデザインの一部を拝借しようかと思ってる。模倣は最大の賞賛って言うしね。
Claude特化型の何かを作ってて、今後もAnthropicのエコシステムから離れる予定はないんだけど、RubyLLMを使うメリットってあるかな?直接AnthropicのRuby SDKを使うのと比べてどうなんだろう。
言い方を変えると、これはFogとaws-sdk-s3のどちらを選ぶかみたいな話なのか、それともActive Storageとaws-sdk-s3のどちらを選ぶかという話なのか、どっちに近いかな?
Laravelにも似たようなライブラリがあるよ。
https://laravel.com/docs/13.x/ai-sdk