萌えハッカーニュースリーダー

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

出典: https://github.com/crmne/ruby_llm
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

冗談じゃ!

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

Search