RubyLLM 1.0 – A Beautiful Ruby Way to Work with AI
RubyLLM provides a unified interface to OpenAI, Anthropic, Google, and DeepSeek models with a clean, elegant API that feels like Ruby. What makes it different? Beautiful interfaces: chat = RubyLLM.chat embedding = RubyLLM.embed("Ruby is elegant") image = RubyLLM.paint("a sunset over mountains") Works with multiple providers through one API: # Start with GPT chat = RubyLLM.chat(model: 'gpt-4o-mini') # Switch to Claude? No problem chat.with_model('claude-3-5-sonnet') Streaming that makes sense: chat.ask "Write a story" do |chunk| print chunk.content # Same chunk format for all providers end…
In plain words
RubyLLM is a Ruby library that provides a unified interface for working with AI models from OpenAI, Anthropic, Google, and DeepSeek. It offers a clean API for chat, embeddings, and image generation, allowing developers to switch between providers without changing code. The library includes streaming support with consistent formatting across all providers, Rails integration, and a simplified approach to defining tools. It is designed for Ruby developers who want elegant syntax and the flexibility to use multiple AI services through a single interface.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
RubyLLM provides a unified interface to OpenAI, Anthropic, Google, and DeepSeek models with a clean, elegant API that feels like Ruby. What makes it different? Beautiful interfaces: chat = RubyLLM.chat embedding = RubyLLM.embed("Ruby is elegant") image = RubyLLM.paint("a sunset over mountains") Works with multiple providers through one API: # Start with GPT chat = RubyLLM.chat(model: 'gpt-4o-mini') # Switch to Claude? No problem chat.with_model('claude-3-5-sonnet') Streaming that makes sense: chat.ask "Write a story" do |chunk| print chunk.content # Same chunk format for all providers end Rails integration that just works: class Chat < ApplicationRecord acts_as_chat end Tools without the JSON Schema pain: class Search < RubyLLM::Tool description "Searches our database" param :query, desc: "The search query" def execute(query:) Document.search(query).map(&:title) end end It supports vision, PDFs, audio, and more - all with minimal dependencies. Website: https://rubyllm.com GitHub: https://github.com/crmne/ruby_llm
More ai this month
the category →
I trained a 125M-parameter transformer to autocomplete piano performances in real time (~108 notes/sec on an iPhone 15). The idea is basically GitHub Copilot or Tabnine, except instead of prompting it with code, you prompt it by playing a few notes on a MIDI piano. The model then continues what you played, entirely on-device. The app is free if anyone wants to try it. Happy to answer questions about the model, training, Core ML, or the many things that didn't work.
AI · 17d ago · simedw.com
Astute▲585Automate your B2B brand going viral, with new media creators
AI · 18d ago · company-app.joinastute.com


Hey HN, Henry from Cactus here! We previously released Cactus Needle, a 14MB agentic LLM for tool call, device use, and structured extraction for phones, wearables, smart homes, small robots and microcontrollers. We got really great feedback here, and have now incorporated the suggestions to release Needle 2. The whole model is a single 14MB binary that runs a full session in 28MB of RAM; 45m parameters at 2bit compression. Needle hits 500 tokens/sec decode speed on a Raspberry Pi 5, sits between 400-1,500 tokens/sec on VR devices like Meta Quest 3S and Apple Vision Pro, and ranges…
AI · 27d ago · cactuscompute.com


Launched alongside, March 2025
the whole month →
Mimic Human Research & Save Findings in AI Knowledge Base
AI · 2025 · sider.ai




