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

LightMem : Système de mémoire léger pour agents LLM avec des gains de 10×+ et un coût 100× inférieur
LightMem est un système de mémoire modulaire pour les agents LLM qui permet d'améliorer la précision jusqu'à 10,9 % tout en réduisant les tokens jusqu'à 117 fois, les appels API jusqu'à 159 fois et le temps d'exécution de plus de 12 fois. Il est conçu pour un raisonnement à contexte long et évolutif dans les flux de travail des agents.

cldctrl : Tableau de Bord Terminal pour Gérer les Sessions de Code Claude
cldctrl est un package npm qui fournit un tableau de bord en terminal pour lancer et gérer les sessions Claude Code à travers les projets. Il lit les données existantes de ~/.claude, découvre automatiquement les projets et affiche l'utilisation des jetons avec des barres de limites de taux.

OCTO-VEC : Entreprise logicielle virtuelle open-source avec 24 agents IA
OCTO-VEC est un projet open-source TypeScript/SQLite qui simule une entreprise de logiciels avec 9 agents IA par défaut et 15 spécialistes embauchables. Il inclut une analyse de sécurité automatisée, des identités git par agent et prend en charge plus de 22 fournisseurs de LLM.

FlowBoard v5 : Espace de travail de projet basé sur les événements pour équipes multi-agents
FlowBoard v5 reconstruit la couche de contexte du projet avec React et un stockage de tâches à base d'événements, permet la coordination multi-agent entre OpenClaw, Claude Code et Cursor, et introduit un pipeline Idées-vers-Spécifications.