RubyLLM : Un framework Ruby unique pour tous les principaux fournisseurs d'IA

RubyLLM 1.16.0 est un framework Ruby qui offre une interface unifiée pour tous les principaux fournisseurs d'IA, notamment OpenAI, xAI, Anthropic, Gemini, VertexAI, Bedrock, DeepSeek, Mistral, Ollama, OpenRouter, Perplexity, GPUStack et toute API compatible OpenAI. Il prend en charge le chat, la vision, l'audio, les documents, la génération d'images, les embeddings, la modération, les outils, les agents, les sorties structurées, le streaming et l'intégration Rails.
Démarrage rapide
Ajoutez au Gemfile : gem 'ruby_llm', puis bundle install.
Configurez les clés API :
RubyLLM.configure do |config|
config.openai_api_key = ENV['OPENAI_API_KEY']
end
Fonctionnalités clés
- Chat :
RubyLLM.chat.ask('question') - Vision : Analysez des images et des vidéos —
chat.ask('Décris', with: 'photo.jpg') - Audio : Transcrivez et comprenez la parole —
RubyLLM.transcribe('meeting.wav') - Documents : Extrayez du contenu de PDF, CSV, JSON, tout type de fichier
- Génération d'images :
RubyLLM.paint('prompt') - Embeddings :
RubyLLM.embed('texte') - Modération :
RubyLLM.moderate('texte') - Outils : Laissez l'IA appeler vos méthodes Ruby en sous-classant
RubyLLM::Tool - Agents : Assistants réutilisables avec
RubyLLM::Agent - Sortie structurée : Schémas JSON avec
RubyLLM::Schema - Streaming : Réponses en temps réel avec des blocs
- Rails : Intégration ActiveRecord avec
acts_as_chatet interface de chat optionnelle - Async : Concurrence basée sur les fibres
- Registre de modèles : 800+ modèles avec détection des capacités et tarification
Exemples de code
Chat avec vision :
chat = RubyLLM.chat
chat.ask('Qu'y a-t-il dans cette image ?', with: 'ruby_conf.jpg')
chat.ask('Résume ce document', with: 'contract.pdf')
Utilisation d'outils :
class Weather < RubyLLM::Tool
desc 'Obtenir la météo actuelle'
def execute(latitude:, longitude:)
JSON.parse(Faraday.get('https://api.open-meteo.com/...').body)
end
end
chat.with_tool(Weather).ask('Quel temps fait-il à Berlin ?')
Sortie structurée :
class ProductSchema < RubyLLM::Schema
string :name
number :price
array :features do
string
end
end
response = chat.with_schema(ProductSchema).ask('Analyse', with: 'product.txt')
Intégration Rails
bin/rails generate ruby_llm:install
bin/rails db:migrate
bin/rails generate ruby_llm:chat_ui
Créez ensuite un modèle Chat avec acts_as_chat et visitez /chats pour une interface prête à l'emploi.
RubyLLM n'a que trois dépendances : Faraday, Zeitwerk et Marcel.
📖 Lisez la source complète : HN AI Agents
👀 See Also

Guilde OpenClaw : Serveur d'agents IA multi-utilisateurs pour les équipes
OpenClaw Guild étend OpenClaw mono-utilisateur en un serveur d'IA multi-utilisateurs avec contrôle d'accès basé sur les rôles, des données isolées par agent et un système de mémoire à 4 niveaux. Il comprend un tableau de bord d'administration web et un déploiement Docker-compose pour une installation en 15 minutes.

CLI open-source utilise Claude Haiku pour automatiser l'audit des dépenses Xero
Un développeur a publié un outil CLI Python open-source qui utilise Claude Haiku 4.5 pour automatiser l'audit des dépenses Xero. L'outil suit une approche 'code déterministe d'abord, puis IA pour combler les lacunes', limitant les coûts à quelques centimes par exécution d'audit.

KANBAII : Un tableau Kanban visuel conçu avec Claude Code pour un développement assisté par l'IA
Un développeur a créé KANBAII, un outil de tableau kanban local entièrement avec Claude Code sur deux mois. Il offre une gestion visuelle des tâches, une planification IA et des modes d'exécution parallèle pour les flux de travail Claude Code.

Garde du raisonnement : Détection de boucle au niveau proxy pour l'inférence LLM locale
Un gardien de couche proxy qui détecte et récupère des boucles de raisonnement LLM en utilisant des contrôles de flux déterministes — plafonds de jetons, répétition de n-grammes et empreintes de phrases — sans modification du modèle.