Article

RubyLLM: Ein einheitliches Ruby-Framework für alle AI-Provider

Ruby AI Framework LLM OpenAI Claude Ollama Multi-Provider

RubyLLM ist ein neues Open-Source-Framework, das die Fragmentierung der AI-APIs löst. Statt für jeden Provider eine eigene Bibliothek zu lernen, bietet RubyLLM eine einheitliche Schnittstelle für alle großen AI-Anbieter.

Das Problem

Jeder AI-Provider liefert seine eigene Client-Bibliothek mit unterschiedlichen APIs, Response-Formaten und Konventionen. Das macht den Wechsel zwischen Modellen mühsam und Multi-Provider-Architekturen komplex.

Die Lösung

RubyLLM abstrahiert diese Unterschiede mit nur drei Dependencies: Faraday, Zeitwerk und Marcel. Die gleiche API funktioniert mit GPT, Claude oder lokalem Ollama.

# Einfaches Beispiel
chat = RubyLLM.chat
chat.ask "Erkläre Quantencomputer in 3 Sätzen"

# Mit beliebigem Model
chat = RubyLLM.chat(model: "claude-sonnet-4")
chat.ask "Was ist Ruby?"

Unterstützte Features

  • Chat: Konversationale AI mit RubyLLM.chat
  • Vision: Analyse von Bildern und Videos
  • Audio: Transkription mit RubyLLM.transcribe
  • Dokumente: Extraktion aus PDFs, CSVs, JSON und mehr
  • Bildgenerierung: RubyLLM.paint für KI-Bilder
  • Embeddings: RubyLLM.embed für Vektoren
  • Tools: AI kann Ruby-Methoden aufrufen
  • Agents: Wiederverwendbare Assistenten
  • Structured Output: JSON-Schemas funktionieren direkt
  • Streaming: Echtzeit-Antworten mit Blocks
  • Rails Integration: acts_as_chat für ActiveRecord

Unterstützte Provider

Anthropic (Claude), OpenAI, xAI, Gemini, VertexAI, Bedrock, DeepSeek, Mistral, Ollama, OpenRouter, Perplexity, GPUStack und alle OpenAI-kompatiblen APIs.

Installation

# Gemfile
gem 'ruby_llm'
# Konfiguration
RubyLLM.configure do |config|
  config.openai_api_key = ENV['OPENAI_API_KEY']
  config.anthropic_api_key = ENV['ANTHROPIC_API_KEY']
end

Das Projekt wird bereits in Produktion bei Chat with Work eingesetzt und hat über 4.000 GitHub-Stars. Die Dokumentation ist unter rubyllm.com verfügbar, der Quellcode auf GitHub.

Für Entwickler, die AI-Features in Ruby-Anwendungen integrieren wollen, ist RubyLLM ein eleganter Weg, Provider-Unabhängigkeit zu erreichen – besonders wertvoll für die wachsende Ollama-Community, die lokale LLMs bevorzugt.