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

Manifest、APIキーなしでClaude Pro/Maxサブスクリプションをサポート
OpenClaw向けのオープンソースルーティングレイヤーであるManifestが、APIキーを必要とせずにClaude ProまたはMaxサブスクリプションを直接接続できるようになりました。APIキーを持つユーザーは、サブスクリプションのレート制限に達した際のフォールバックルーティングを設定できます。

PocketBot: AIがコスト効率の良い、確定的なスケジューリングのために自動化をJavaScriptにコンパイルします。
PocketBotは、自然言語リクエストを自己完結型のJavaScriptスクリプトにコンパイルし、実行時にLLM呼び出しなしでスケジュール実行することで、APIとハードウェアのコスト問題に対処します。このツールはコード記述にAIを一度だけ使用し、その後はGoogle Suite、Slack、Notionを含む20以上の統合機能で決定論的に実行されます。

OpenClawスキルにより、広告の多いサイトのアクセシビリティツリートークンが60万から1300に削減されます。
開発者がMLベースの要素ランキングを使用してアクセシビリティツリーを剪定するOpenClawスキルを構築し、slickdeals.comのトークン数を約598Kから約1.3Kに削減しました。これは上位約50の操作可能な要素のみを保持することで実現されています。

私の爪を守れ:OpenClawワークスペースのバックアップサービス
Keep My Clawは、OpenClawワークスペースのデータをローカルで暗号化してからCloudflare R2にアップロードするバックアップサービスです。メモリファイル、cronジョブ、スキル、認証情報、設定スナップショットを扱い、スケジュールされたバックアップとワンコマンドでの復元を提供します。