RubyLLM es un framework de código abierto en Ruby que unifica el acceso a los principales proveedores de inteligencia artificial bajo una única interfaz. Su premisa es resolver la fragmentación existente: cada proveedor —OpenAI, Anthropic, Google, Mistral, xAI, DeepSeek, Ollama u OpenRouter, entre otros— ofrece su propio cliente con APIs, formatos de respuesta y convenciones distintos. La biblioteca se apoya en solo tres dependencias (Faraday, Zeitwerk y Marcel) y expone una API coherente para chat, visión, audio, documentos, generación de imágenes, embeddings, moderación, herramientas, agentes, salida estructurada y streaming.
El uso básico se reduce a instanciar un chat y enviar preguntas en lenguaje natural, con soporte para adjuntar imágenes, vídeo, audio, PDF o cualquier tipo de archivo, incluso en lotes. Permite transcribir audio a texto, generar embeddings, producir imágenes a partir de descripciones textuales y validar contenidos mediante funciones de moderación. Los desarrolladores pueden registrar métodos Ruby como herramientas invocables por el modelo, definir agentes reutilizables con instrucciones y herramientas, y forzar salidas en formato JSON declarando esquemas.
La librería incluye además integración con Rails mediante un generador que añade ActiveRecord (acts_as_chat), migración de base de datos, carga de modelos y, opcionalmente, una interfaz de chat lista para usar. Incorpora un registro con más de 800 modelos, detección de capacidades y precios, razonamiento extendido y concurrencia basada en Fiber. La instalación se realiza añadiendo la gema al Gemfile y configurando las claves de API de los proveedores que se deseen utilizar. El proyecto se presenta como probado en producción en entornos como ChatWithWork y está desarrollado por Carmine Paolino.
