RubyLLM: すべての主要AIプロバイダーに対応する一つのRubyフレームワーク

RubyLLM 1.16.0は、OpenAI、xAI、Anthropic、Gemini、VertexAI、Bedrock、DeepSeek、Mistral、Ollama、OpenRouter、Perplexity、GPUStack、およびOpenAI互換APIを含むすべての主要AIプロバイダーに統一インターフェースを提供するRubyフレームワークです。チャット、ビジョン、音声、ドキュメント、画像生成、埋め込み、モデレーション、ツール、エージェント、構造化出力、ストリーミング、Rails統合をサポートします。
クイックスタート
Gemfileに追加: gem 'ruby_llm'、その後bundle installを実行。
APIキーを設定:
RubyLLM.configure do |config|
config.openai_api_key = ENV['OPENAI_API_KEY']
end
主な機能
- チャット:
RubyLLM.chat.ask('質問') - ビジョン: 画像や動画の分析 —
chat.ask('説明して', with: 'photo.jpg') - 音声: 音声の文字起こしと理解 —
RubyLLM.transcribe('meeting.wav') - ドキュメント: PDF、CSV、JSONなどあらゆるファイルから抽出
- 画像生成:
RubyLLM.paint('プロンプト') - 埋め込み:
RubyLLM.embed('テキスト') - モデレーション:
RubyLLM.moderate('テキスト') - ツール:
RubyLLM::Toolをサブクラス化してAIがRubyメソッドを呼び出せるように - エージェント:
RubyLLM::Agentで再利用可能なアシスタント - 構造化出力:
RubyLLM::SchemaでJSONスキーマ - ストリーミング: ブロックを使用したリアルタイム応答
- Rails:
acts_as_chatとオプションのチャットUIでActiveRecord統合 - 非同期: Fiberベースの並行処理
- モデルレジストリ: 機能検出と価格設定を備えた800以上のモデル
コード例
ビジョン付きチャット:
chat = RubyLLM.chat
chat.ask('この画像には何が写っていますか?', with: 'ruby_conf.jpg')
chat.ask('このドキュメントを要約してください', with: 'contract.pdf')
ツールの使用:
class Weather < RubyLLM::Tool
desc '現在の天気を取得'
def execute(latitude:, longitude:)
JSON.parse(Faraday.get('https://api.open-meteo.com/...').body)
end
end
chat.with_tool(Weather).ask('ベルリンの天気は?')
構造化出力:
class ProductSchema < RubyLLM::Schema
string :name
number :price
array :features do
string
end
end
response = chat.with_schema(ProductSchema).ask('分析して', with: 'product.txt')
Rails統合
bin/rails generate ruby_llm:install
bin/rails db:migrate
bin/rails generate ruby_llm:chat_ui
その後、acts_as_chatを使用してチャットモデルを作成し、/chatsにアクセスしてすぐに使えるUIを利用します。
RubyLLMの依存関係は、Faraday、Zeitwerk、Marcelの3つだけです。
📖 ソース全文を読む: HN AI Agents
👀 See Also

CADAM: オープンソースのパラメトリックスライダーとWebAssemblyレンダリングを備えたテキストからCADへ
CADAMはテキストや画像からパラメトリックな3Dモデルを生成し、インタラクティブなスライダーで寸法調整が可能なオープンソースのWebアプリです。OpenSCADコードを出力し、ブラウザ上でWebAssemblyによりレンダリングされます。

Quiver: Claudeコードスキルの管理と同期のためのGUI
Quiverは、Claude Codeスキルを管理するための無料のオープンソースGUIツールで、ウェブインターフェースを提供します。これにより、ユーザーはローカルのスキルやマーケットプレイスのプラグインを閲覧し、SKILL.mdファイルを編集し、Gitで同期し、ターミナルを使用せずにスキルをインストールできます。

Claude使用量モニター:Claude.aiの利用制限を追跡する無料macOSメニューバーアプリ
開発者がClaude Usage Monitorを構築しました。これは、色分けされたアイコン、ライブカウンター、リセットタイマーでClaude.aiの使用状況を表示する無料のmacOSメニューバーアプリです。このアプリはAPIキーを必要とせず、Claude.aiセッションから直接データを読み取ります。

レッドクイーン:Claude Codeをワーカープールとして動作させる決定論的オーケストレーター
Red Queenはステートマシンを使ってClaude Codeのサブプロセスを orchestrate し、LLMのルーティングエラーとメガプロンプトによるトークン浪費を排除します。