RubyLLM: Un Marco de Ruby para Todos los Principales Proveedores de IA

RubyLLM 1.16.0 es un marco de Ruby que proporciona una interfaz unificada para todos los principales proveedores de IA, incluyendo OpenAI, xAI, Anthropic, Gemini, VertexAI, Bedrock, DeepSeek, Mistral, Ollama, OpenRouter, Perplexity, GPUStack y cualquier API compatible con OpenAI. Soporta chat, visión, audio, documentos, generación de imágenes, embeddings, moderación, herramientas, agentes, salida estructurada, streaming e integración con Rails.
Inicio rápido
Añade al Gemfile: gem 'ruby_llm', luego bundle install.
Configura las claves API:
RubyLLM.configure do |config|
config.openai_api_key = ENV['OPENAI_API_KEY']
end
Características principales
- Chat:
RubyLLM.chat.ask('pregunta') - Visión: Analiza imágenes y vídeos —
chat.ask('Describe', with: 'foto.jpg') - Audio: Transcribe y comprende el habla —
RubyLLM.transcribe('reunion.wav') - Documentos: Extrae de PDFs, CSV, JSON, cualquier tipo de archivo
- Generación de imágenes:
RubyLLM.paint('prompt') - Embeddings:
RubyLLM.embed('texto') - Moderación:
RubyLLM.moderate('texto') - Herramientas: Permite que la IA llame a tus métodos Ruby subclasificando
RubyLLM::Tool - Agentes: Asistentes reutilizables con
RubyLLM::Agent - Salida estructurada: Esquemas JSON con
RubyLLM::Schema - Streaming: Respuestas en tiempo real con bloques
- Rails: Integración con ActiveRecord mediante
acts_as_chate interfaz de chat opcional - Async: Concurrencia basada en fibras
- Registro de modelos: Más de 800 modelos con detección de capacidades y precios
Ejemplos de código
Chat con visión:
chat = RubyLLM.chat
chat.ask('¿Qué hay en esta imagen?', with: 'ruby_conf.jpg')chat.ask('Resume este documento', with: 'contrato.pdf')Usando herramientas:
class Clima < RubyLLM::Tool
desc 'Obtener el clima actual'
def execute(latitude:, longitude:)
JSON.parse(Faraday.get('https://api.open-meteo.com/...').body)end
end
chat.with_tool(Clima).ask('¿Cómo está el clima en Berlín?')Salida estructurada:
class EsquemaProducto < RubyLLM::Schema
string :nombre
number :precio
array :caracteristicas do
string
end
end
response = chat.with_schema(EsquemaProducto).ask('Analiza', with: 'producto.txt')Integración con Rails
bin/rails generate ruby_llm:install
bin/rails db:migrate
bin/rails generate ruby_llm:chat_ui
Luego crea un modelo Chat con acts_as_chat y visita /chats para una interfaz lista para usar.
RubyLLM solo tiene tres dependencias: Faraday, Zeitwerk y Marcel.
📖 Lee la fuente completa: HN AI Agents
👀 Ver también

SkillMesh: Enrutador Compatible con MCP para Grandes Catálogos de Herramientas Reduce el Tamaño del Contexto en un 70%
SkillMesh es un enrutador compatible con MCP que recupera únicamente las tarjetas de expertos relevantes para las consultas de agentes de IA, reduciendo el tamaño del contexto en un 70% y mejorando la selección de herramientas. Es compatible con Claude a través del servidor MCP, paquetes de habilidades Codex y esquemas de funciones estilo OpenAI.

Prism MCP v2.1 agrega memoria persistente a las sesiones de Claude.
Prism MCP v2.1.0 'El Palacio de la Memoria' proporciona memoria de sesión persistente para Claude, eliminando la necesidad de volver a explicar el contexto del proyecto. Incluye almacenamiento local SQLite, un navegador visual de memoria, retroceso de estado y sincronización de contexto entre clientes.

Extensión de Chrome OpenClaw Browser Relay: Alternativa a las Configuraciones Manuales
Un usuario de Reddit informa éxito con una extensión de Chrome para el relé del navegador OpenClaw después de que los intentos de configuración manual causaran bloqueos del sistema y dolores de cabeza en la depuración.

Agent-Xray: Herramienta de código abierto para depurar fallos de agentes de IA a partir de registros de seguimiento.
Agent-Xray es una herramienta de código abierto con licencia MIT que analiza los registros de seguimiento de agentes de IA para clasificar fallos en categorías como spin, tool_bug y early_abort, e incluye un modo de aplicación para probar correcciones frente a desafíos adversarios.