# RubyLLM Documentation > Developer documentation for RubyLLM, a Ruby library for building AI applications with chat, agents, tools, embeddings, image generation, audio transcription, moderation, streaming, and Rails integration. ## About RubyLLM is one consistent Ruby framework for chat, image generation, embeddings, transcription, moderation, tools, agents, structured output, streaming, and Rails integration across OpenAI, Anthropic, Gemini, Bedrock, DeepSeek, Mistral, Ollama, OpenRouter, Perplexity, GPUStack, xAI, and OpenAI-compatible providers. ## Key Topics - Ruby - Ruby on Rails - Large language models - AI agents - Retrieval augmented generation - Function calling - Structured output - Vector embeddings - Streaming AI responses - Multi-modal AI - OpenAI - Anthropic Claude - Google Gemini - AWS Bedrock - DeepSeek - Mistral AI - xAI - OpenRouter - Perplexity - Ollama - Vertex AI - GPUStack - OpenAI-compatible APIs ## Canonical Resources - Documentation: https://rubyllm.com - Source code: https://github.com/crmne/ruby_llm - RubyGems package: https://rubygems.org/gems/ruby_llm ## Primary Topics RubyLLM covers provider-agnostic AI application development in Ruby, including OpenAI, Anthropic, Gemini, Bedrock, DeepSeek, Mistral, Ollama, OpenRouter, Perplexity, GPUStack, xAI, OpenAI-compatible APIs, agents, tools, structured output, embeddings, image generation, audio transcription, moderation, streaming, Rails integration, async workloads, model registry usage, and upgrade guidance. ## Getting Started - [Getting Started](https://rubyllm.com/getting-started/): Start building AI apps in Ruby in 5 minutes. Chat, generate images, create embeddings - all with one gem. - [Overview](https://rubyllm.com/overview/): Understand how RubyLLM works and how its components fit together - [Configuration](https://rubyllm.com/configuration/): Configure once, use everywhere. API keys, defaults, timeouts, and multi-tenant contexts made simple. ## Core Features - [Chat](https://rubyllm.com/chat/): Learn how to have conversations with AI models, work with different providers, and handle multi-modal inputs - [Tools](https://rubyllm.com/tools/): Let AI call your Ruby code. Connect to databases, APIs, or any external system with function calling. - [Stream Responses](https://rubyllm.com/streaming/): Learn how to display AI responses in real-time as they're generated - [Embeddings](https://rubyllm.com/embeddings/): Transform text into numerical vectors for semantic search, recommendations, and content similarity - [Image Generation](https://rubyllm.com/image-generation/): Generate images from text descriptions using AI models like DALL-E 3 and Imagen - [Agents](https://rubyllm.com/agents/): Define reusable AI assistants with class-based configuration, runtime context, and prompt conventions - [Audio Transcription](https://rubyllm.com/audio-transcription/): Convert speech to text with support for multiple languages and speaker diarization - [Moderation](https://rubyllm.com/moderation/): Identify potentially harmful content in text using AI moderation models before sending to LLMs - [Extended Thinking](https://rubyllm.com/thinking/): Give reasoning models more time and budget to deliberate, with optional access to thinking output ## Advanced - [Rails Integration](https://rubyllm.com/rails/): Rails + AI made simple. Persist chats with ActiveRecord. Stream with Hotwire. Deploy with confidence. - [Scale with Async](https://rubyllm.com/async/): Handle hundreds of concurrent AI requests on modest hardware. Ruby's async ecosystem meets AI. - [Error Handling](https://rubyllm.com/error-handling/): Learn how to handle errors gracefully when working with AI providers - [Model Registry](https://rubyllm.com/models/): Access hundreds of AI models from all major AI providers with one Ruby framework - [Instrumentation](https://rubyllm.com/instrumentation/): Observe RubyLLM requests, chats, tool calls, embeddings, and model refreshes - [Agentic Workflows](https://rubyllm.com/agentic-workflows/): Build workflow-oriented AI systems with plain Ruby orchestration, from routing and parallelization to RAG - [Upgrading](https://rubyllm.com/upgrading/): Upgrade guides for changes in data formats ## Reference - [Available Models](https://rubyllm.com/available-models/): Browse 1182 AI models across 11 remote providers. Updated 2026-07-18. - [RubyLLM Ecosystem](https://rubyllm.com/ecosystem/): Extend RubyLLM with MCP servers, structured schemas, instrumentation, monitoring and community-built tools for production AI apps. ## Links - About: https://rubyllm.com/about/ - GitHub: https://github.com/crmne/ruby_llm - Rubygems: https://rubygems.org/gems/ruby_llm - GitHub: https://github.com/sponsors/crmne