世界を動かす技術を、日本語で。

RubyLLM: 主要なAIプロバイダー向けのRubyフレームワーク

2026年6月24日原文(rubyllm.com)

概要

RubyLLM は、主要なAIプロバイダーに対応した 統一Rubyフレームワーク。 チャットボットやAIエージェント、RAGアプリなど 多様なAIワークフロー を簡単構築。 Faraday、Zeitwerk、Marcel の3依存のみで、シンプルな導入。 Rails との統合やストリーミング応答など、豊富な機能を提供。 OpenAI、Anthropic、Gemini 等の幅広いプロバイダーに対応。

RubyLLMとは

  • 主要AIプロバイダーを 単一インターフェース で利用可能なRubyフレームワーク
  • チャットボット、AIエージェント、RAGアプリ、コンテンツ生成など多様なAIアプリ開発
  • API仕様・レスポンス形式の違い を吸収し、開発効率向上
  • GPT、Claude、Ollama など、同じコードで切り替え可能
  • 依存ライブラリ はFaraday、Zeitwerk、Marcelのみ

特徴と主な機能

  • RubyLLM.chat による会話AIの構築
    • 例:chat.ask "What's the best way to learn Ruby?"
  • 画像・動画・音声・PDF等 のファイル解析
    • 例:chat.ask "What's in this image?", with: "ruby_conf.jpg"
  • 複数ファイル同時解析ストリーミング応答 対応
  • 画像生成 :RubyLLM.paint "a sunset over mountains in watercolor style"
  • 埋め込み生成 :RubyLLM.embed "Ruby is elegant and expressive"
  • 音声→テキスト変換 :RubyLLM.transcribe "meeting.wav"
  • コンテンツモデレーション :RubyLLM.moderate "Check if this text is safe"
  • ツール連携 :AIがRubyメソッドを呼び出す(例:天気取得API連携)
  • AIエージェント定義 :指示+ツールを組み合わせた再利用可能なアシスタント作成
  • 構造化出力 :JSONスキーマによるデータ抽出
  • ActiveRecord統合 :acts_as_chatでRailsモデルと連携
  • Fiberベースの非同期処理 対応
  • 800以上のモデル管理、機能検出・価格情報付き
  • プロバイダー対応 :OpenAI、xAI、Anthropic、Gemini、VertexAI、Bedrock、DeepSeek、Mistral、Ollama、OpenRouter、Perplexity、GPUStack、OpenAI互換API

導入・セットアップ

  • Gemfileに追加
    • gem 'ruby_llm'
  • インストール
    • bundle install
  • APIキー設定
    • config/initializers/ruby_llm.rbにてRubyLLM.configureでAPIキー指定
  • Rails統合
    • bin/rails generate ruby_llm:install
    • bin/rails db:migrate
    • bin/rails ruby_llm:load_models
    • チャットUI追加(任意):bin/rails generate ruby_llm:chat_ui
    • acts_as_chatを使ったモデル定義例
      • class Chat < ApplicationRecord acts_as_chat end

使い方例

  • チャット作成と質問
    • chat = RubyLLM.chat
    • chat.ask "What's the best way to learn Ruby?"
  • ファイル解析
    • chat.ask "Summarize this document", with: "contract.pdf"
  • ストリーミング応答
    • chat.ask "Tell me a story about Ruby" do |chunk| print chunk.content end
  • 画像生成
    • RubyLLM.paint "a sunset over mountains in watercolor style"
  • ツール連携・エージェント定義
    • WeatherクラスやWeatherAssistantクラスの定義・利用

利用シーン

  • 社内AIチャットや AIエージェント の開発
  • 音声・画像・動画・ドキュメント のAI解析
  • Railsアプリ へのAI組み込み、チャットUIの即時利用
  • 多プロバイダー対応 のAIワークフロー構築

まとめ

  • RubyLLM はRuby開発者向けの オールインワンAIフレームワーク
  • シンプル導入・多機能・高拡張性 で、AI開発の効率化を実現
  • 主要AIプロバイダー を1つのインターフェースで自在に活用可能

Hackerたちの意見

まあまあいい感じだけど、期待するほどではないかな。温度や努力、最大トークン数とかを調整したいときは、プラットフォームの設定をしないといけないよ。

RubyLLMの作者だよ。どこでその情報を得たのか分からないけど。chat.with_temperature(0.2) https://rubyllm.com/chat/#controlling-response-behavior chat.with_thinking(effort: :high, budget: 8000) https://rubyllm.com/thinking/#controlling-extended-thinking 最大トークン数だけが、プロバイダー特有のパラメータを必要とするよ: https://rubyllm.com/chat/#provider-specific-parameters 一人で無料でやってるから、君の貢献を見られて嬉しいよ!

Ruby LLM、意外と良かったよ。使いやすさで言うと、VercelのAIフレームワークに近い感じ。すぐに使えるのと柔軟性のバランスを取ろうとしてるけど、そこには課題もある。でも全体的にはいい感じ。実際に困ったのは、キャッシュがいつも機能するわけじゃないこと。例えばxAIは、コンプリーションAPIしかサポートしてなくて、思考シグネチャが間違って返ってくるんだよね。

ありがとう!レスポンスAPIが実装されたから、RubyLLM 2.0に入るよ。https://github.com/crmne/ruby_llm/blob/main/lib/ruby_llm/pro...

AIコミュニティにRubyを持ち込んでくれてありがとう、オープンソースの仕事も素晴らしいよ。素晴らしい言語だから、もっと探求されて注目されるべきだね :)

ありがとう!Rubyについて話すときのMINASWAN Hacker Newsが大好きだよ!

RubyLLMはすごく使いやすい。去年のプロジェクトでかなり活用したよ。欠点は、真のトレース可視性を持たせるのが難しかったことと、リトライのパターンがあって、基盤のモデルが消えちゃうから、見える履歴はきれいだけど、APIコールの順序を正確に見るにはあまり良くないってことかな。

気に入ってもらえて嬉しいよ。Railsスタイルの計測が1.16.0に追加されたよ。https://rubyllm.com/instrumentation/

似たようなRubyベースのエージェント開発キットを作ったんだけど、焦点や機能がちょっと違うんだ。 https://github.com/tweibley/legate

Raixっていうオープンソースのgemがあって、RubyLLMの抽象化の上に構築されてるんだ。結構人気だよ。 https://github.com/OlympiaAI/raix

いくつかのアプリでこれを本番環境で使ってるよ。素晴らしいプロジェクトだね。

RubyLLMも本番環境で使ってるけど、今まで見た中で一番エレガントなライブラリだと思う。問題追跡の運用も良かったよ。「機能リクエスト」を選ぶと、どうやって代替案を探ったかとか、なぜこれがRubyLLMに必要だと思うのかを説明しなきゃいけないから、スコープの拡大を防げるんだ。

Hacker Newsで議論の続きを見る