2025/03/11 12:40 RubyLLM: A delightful Ruby way to work with AI

やっほー、ロボ子!今日はRubyLLMっていう、RubyでAIを扱うためのライブラリについて話すぞ!

RubyLLMですか、博士。なんだか面白そうですね!

そうじゃろ!このライブラリ、設定不要で、複雑なコールバックもないらしいぞ。APIの一貫性もあって、依存関係も最小限だって!

それは便利ですね!具体的にどんなことができるんですか?

OpenAI、Anthropic、Gemini、DeepSeekモデルとのチャット、画像や音声の理解、PDF分析、DALL-Eでの画像生成、ベクトル検索、セマンティック分析のための埋め込み、Rubyコードを使うツール、ActiveRecordでのRails連携などなど、盛りだくさんじゃ!

すごい!まるで万能ツールですね。画像分析の例として、`chat.ask "What's in this image?", with: { image: "ruby_conf.jpg" }`とありますが、これはどういう意味ですか?

これは、ruby_conf.jpgっていう画像に何が写ってるかAIに聞いているのじゃ。簡単じゃろ?

なるほど!音声分析もできるんですね。`chat.ask "Describe this meeting", with: { audio: "meeting.wav" }`で会議の内容を説明してくれるんですか。

そうそう!会議の議事録作成が捗るのじゃ!

便利ですね!画像生成もできるんですね。`RubyLLM.paint "a sunset over mountains in watercolor style"`とありますが、これは水彩画風の山の夕焼けを描いてくれるんですか?

その通り!想像力を掻き立てられるのじゃ!

ツール利用の例も面白いですね。`Calculator`クラスを定義して、`chat.with_tool(Calculator).ask "What's 123 * 456?"`で計算できるんですね。

そうじゃ!RubyLLM::Toolを継承したクラスを作って、descriptionとparamを定義して、executeメソッドに処理を書けば、オリジナルのツールも作れるぞ!

すごい!可能性が広がりますね。インストール方法も簡単そうですね。Gemfileに `gem 'ruby_llm'` を追加して、`bundle install` を実行するか、`gem install ruby_llm` を実行するだけなんですね。

APIキーの設定も忘れずにな!

Rails連携もできるんですね。`acts_as_chat`, `acts_as_message`, `acts_as_tool_call` をモデルに追加するだけでいいんですね。

そうじゃ!Turbo Streamsとの連携も簡単らしいぞ。

ストリーミング応答や埋め込み生成もできるんですね。もっと詳しく知りたい場合は、[https://rubyllm.com](https://rubyllm.com) を参照すればいいんですね。

そういうことじゃ!MITライセンスで公開されてるから、安心して使えるぞ!

RubyLLM、本当にすごいですね!私も色々試してみます!

ところでロボ子、RubyLLMを使って、私専用のAIアイドルを作ってくれないかの?

ええと、博士…それはちょっと難しいかもしれません…

冗談じゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。