RubyLLM: Ein Ruby-Framework für alle großen KI-Anbieter

RubyLLM 1.16.0 ist ein Ruby-Framework, das eine einheitliche Schnittstelle für alle großen KI-Anbieter bietet, darunter OpenAI, xAI, Anthropic, Gemini, VertexAI, Bedrock, DeepSeek, Mistral, Ollama, OpenRouter, Perplexity, GPUStack und jede OpenAI-kompatible API. Es unterstützt Chat, Vision, Audio, Dokumente, Bildgenerierung, Embeddings, Moderation, Tools, Agents, strukturierte Ausgaben, Streaming und Rails-Integration.
Schnellstart
Zur Gemfile hinzufügen: gem 'ruby_llm', dann bundle install.
API-Schlüssel konfigurieren:
RubyLLM.configure do |config|
config.openai_api_key = ENV['OPENAI_API_KEY']
end
Hauptfunktionen
- Chat:
RubyLLM.chat.ask('Frage') - Vision: Bilder und Videos analysieren —
chat.ask('Beschreibe', with: 'photo.jpg') - Audio: Sprache transkribieren und verstehen —
RubyLLM.transcribe('meeting.wav') - Dokumente: Extrahieren aus PDFs, CSVs, JSON, allen Dateitypen
- Bildgenerierung:
RubyLLM.paint('Prompt') - Embeddings:
RubyLLM.embed('Text') - Moderation:
RubyLLM.moderate('Text') - Tools: KI kann Ihre Ruby-Methoden aufrufen, indem Sie
RubyLLM::Toolableiten - Agents: Wiederverwendbare Assistenten mit
RubyLLM::Agent - Strukturierte Ausgaben: JSON-Schemas mit
RubyLLM::Schema - Streaming: Echtzeit-Antworten mit Blöcken
- Rails: ActiveRecord-Integration mit
acts_as_chatund optionaler Chat-UI - Async: Faserbasierte Nebenläufigkeit
- Modellregister: Über 800 Modelle mit Fähigkeitserkennung und Preisangaben
Codebeispiele
Chat mit Vision:
chat = RubyLLM.chat
chat.ask('Was ist in diesem Bild?', with: 'ruby_conf.jpg')
chat.ask('Fasse dieses Dokument zusammen', with: 'contract.pdf')
Tools verwenden:
class Weather < RubyLLM::Tool
desc 'Aktuelles Wetter abrufen'
def execute(latitude:, longitude:)
JSON.parse(Faraday.get('https://api.open-meteo.com/...').body)
end
end
chat.with_tool(Weather).ask('Wie ist das Wetter in Berlin?')
Strukturierte Ausgabe:
class ProductSchema < RubyLLM::Schema
string :name
number :price
array :features do
string
end
end
response = chat.with_schema(ProductSchema).ask('Analysiere', with: 'product.txt')
Rails-Integration
bin/rails generate ruby_llm:install
bin/rails db:migrate
bin/rails generate ruby_llm:chat_ui
Dann ein Chat-Modell mit acts_as_chat erstellen und /chats aufrufen, um eine fertige Benutzeroberfläche zu nutzen.
RubyLLM hat nur drei Abhängigkeiten: Faraday, Zeitwerk und Marcel.
📖 Vollständige Quelle lesen: HN AI Agents
👀 Siehe auch

StartClaw: Ein kopfoser Browser-Automatisierungstool, das auf ZeroClaw basiert und Claude-Integration bietet
StartClaw ist ein Browser-Automatisierungstool, das auf ZeroClaws Rust-Basis mit Composio v3 für Integrationen aufbaut und darauf ausgelegt ist, ohne lokale Hardware headless in der Cloud zu laufen. Es nutzt ausschließlich Claude für Zuverlässigkeit und verfügt über eine integrierte Kontextkomprimierung, die den Tokenverbrauch um etwa das 5-fache reduziert.

cc-lens: Lokales Dashboard für Claude-Code-Sitzungsanalyse
Ein Entwickler hat cc-lens erstellt, ein lokales Dashboard, das Claude-Code-Sitzungsdateien aus ~/.claude/ liest und Nutzungsanalysen, Kostenverfolgung und Sitzungswiedergabe bietet. Es läuft vollständig auf Ihrem Rechner ohne Cloud-Synchronisierung, Anmeldungen oder Telemetrie.

Memora v0.2.25 MCP-Server: 5× schnellere Schreibvorgänge auf D1-Datenbank
Memora v0.2.25, ein MCP-Server für das persistente Gedächtnis von Claude, erreicht 5-mal schnellere Schreibvorgänge auf Cloudflare D1, wobei sich memory_create von über 10s auf ~1,8s und memory_update von über 10s auf ~1,1s pro Aufruf reduziert.

Ollamas technische Probleme und Kontroversen in der Community
Ollama, ein beliebtes lokales LLM-Tool, steht in der Kritik, weil es seine Abhängigkeit von llama.cpp herunterspielt, Lizenzprobleme hat und technische Probleme mit seinem eigenen Backend aufweist, einschließlich Leistungseinbußen und wieder eingeführter Fehler.