ruby_llm
ruby_llm 是一款专为 Ruby 开发者打造的统一 AI 接口库,旨在简化大语言模型的集成流程。面对市场上 OpenAI、Anthropic、Gemini、Ollama 等众多服务商各自为政、接口差异巨大的现状,ruby_llm 提供了一套优雅且一致的 API,让开发者无需反复适配不同文档,即可轻松切换或同时使用多种模型。
无论是构建智能聊天机器人、开发具备自主能力的 AI Agent,还是实现文档分析、图像识别、音频转录及向量嵌入等功能,ruby_llm 都能通过简洁的代码高效完成。其独特亮点在于极致的轻量化设计,仅依赖三个基础库,却完整支持流式输出、多模态文件处理、自定义工具调用以及结构化数据输出等高级特性。此外,它还深度集成了 Ruby on Rails 框架,方便 Web 开发者快速落地 AI 应用。
这款工具非常适合熟悉 Ruby 语言的软件工程师、初创团队技术负责人以及希望在不增加架构复杂度的前提下引入 AI 能力的开发者。通过 ruby_llm,你可以将原本繁琐的模型对接工作转化为直观的代码逻辑,专注于业务创新而非底层适配,真正体验“两分钟从零构建 AI 应用”的高效开发乐趣。
使用场景
一家电商初创公司的 Ruby 后端团队,正急需为客服系统构建一个能同时处理用户上传图片、订单 PDF 及实时天气查询的智能助手。
没有 ruby_llm 时
- 多厂商适配痛苦:团队需分别引入 OpenAI、Anthropic 和 AWS Bedrock 的官方重型 SDK,代码中充斥着三种完全不同的 API 调用方式和响应解析逻辑。
- 多模态开发繁琐:想要让 AI“看懂”用户上传的商品瑕疵图或读取订单 PDF,需要手动编写复杂的文件编码、Base64 转换及特定格式构造代码。
- 功能扩展困难:实现“查询当地天气以解答物流延迟”这类工具调用(Tool Use)时,需深入阅读各厂商文档来定义函数结构,调试成本极高。
- 维护负担重:一旦某个模型供应商更新接口规范,整个项目的多处依赖代码都需要同步修改,极易引发线上故障。
使用 ruby_llm 后
- 统一优雅接口:无论底层切换为 Claude、GPT 还是本地 Ollama 模型,团队只需使用
RubyLLM.chat这一套简洁的 Ruby 风格 API,彻底抹平厂商差异。 - 原生多模态支持:直接传入图片文件或 PDF 路径(如
chat.ask "检查此图", with: "error.jpg"),ruby_llm 自动处理底层数据格式化,让 AI 瞬间具备视觉与文档理解力。 - 极简工具定义:通过继承
RubyLLM::Tool类即可用纯 Ruby 代码定义天气查询工具,框架自动将其转换为模型可理解的格式,大幅降低 Agent 开发门槛。 - 轻量灵活集成:仅依赖 Faraday 等三个轻量库,无缝融入现有 Rails 项目,后续更换模型提供商只需修改配置行,无需重构业务逻辑。
ruby_llm 让 Ruby 开发者能用最地道的语言风格,在几分钟内构建出支持多模态、多模型且具备工具调用能力的生产级 AI 应用。
运行环境要求
- 未说明
未说明
未说明

快速开始
[!NOTE] 您在使用 RubyLLM 吗?分享您的故事吧!只需 5 分钟。
构建聊天机器人、AI 助手和 RAG 应用程序。支持 OpenAI、xAI、Anthropic、Google、AWS、本地模型以及任何兼容 OpenAI 的 API。
两分钟内从零打造一个 AI 聊天应用
https://github.com/user-attachments/assets/65422091-9338-47da-a303-92b918bd1345
为什么选择 RubyLLM?
每个 AI 提供商都提供各自臃肿的客户端,API 不同、响应格式不同、规范也各异,让人应接不暇。
而 RubyLLM 则为您提供一套统一且简洁的 API,无论您使用的是 GPT、Claude 还是本地的 Ollama,接口都保持一致。仅需三个依赖:Faraday、Zeitwerk 和 Marcel,简单明了。
让我们看看代码吧
# 直接提问
chat = RubyLLM.chat
chat.ask "学习 Ruby 的最佳方法是什么?"
# 分析任意文件类型
chat.ask "这张图片里有什么?", with: "ruby_conf.jpg"
chat.ask "这段视频讲了什么?", with: "video.mp4"
chat.ask "请描述这次会议的内容。", with: "meeting.wav"
chat.ask "请总结这份合同。", with: "contract.pdf"
chat.ask "请解释这段代码。", with: "app.rb"
# 同时处理多个文件
chat.ask "分析这些文件。", with: ["diagram.png", "report.pdf", "notes.txt"]
# 流式响应
chat.ask "给我讲个关于 Ruby 的故事。" do |chunk|
print chunk.content
end
# 生成图片
RubyLLM.paint "一幅水彩风格的山间日落图"
# 创建嵌入向量
RubyLLM.embed "Ruby 语言优雅而富有表现力。"
# 将音频转录为文本
RubyLLM.transcribe "meeting.wav"
# 内容安全审核
RubyLLM.moderate "请检查这段文字是否安全。"
# 让 AI 使用您的代码
class Weather < RubyLLM::Tool
description "获取当前天气"
param :latitude
param :longitude
def execute(latitude:, longitude:)
url = "https://api.open-meteo.com/v1/forecast?latitude=#{latitude}&longitude=#{longitude}¤t=temperature_2m,wind_speed_10m"
JSON.parse(Faraday.get(url).body)
end
end
chat.with_tool(Weather).ask "柏林现在的天气如何?"
# 定义带有指令和工具的智能体
class WeatherAssistant < RubyLLM::Agent
model "gpt-5-nano"
instructions "言简意赅,始终使用工具查询天气。"
tools Weather
end
WeatherAssistant.new.ask "柏林的天气怎么样?"
# 获取结构化输出
class ProductSchema < RubyLLM::Schema
string :name
number :price
array :features do
string
end
end
response = chat.with_schema(ProductSchema).ask "请分析这款产品。", with: "product.txt"
核心功能
- 对话: 基于
RubyLLM.chat的对话式 AI - 视觉: 分析图像和视频
- 音频: 使用
RubyLLM.transcribe转录并理解语音 - 文档: 从 PDF、CSV、JSON 等任意文件中提取信息
- 图像生成: 使用
RubyLLM.paint创建图片 - 嵌入: 使用
RubyLLM.embed生成嵌入向量 - 内容审核: 使用
RubyLLM.moderate进行内容安全检测 - 工具: 让 AI 调用您的 Ruby 方法
- 智能体: 使用
RubyLLM::Agent构建可复用的助手 - 结构化输出: 即开即用的 JSON 模式
- 流式传输: 支持块级实时响应
- Rails: 通过
acts_as_chat集成 ActiveRecord - 异步: 基于 Fiber 的并发机制
- 模型注册中心: 汇集 800 多种模型,具备能力检测与定价功能
- 扩展思考: 控制、查看及持久化模型推理过程
- 多提供商支持: OpenAI、xAI、Anthropic、Gemini、VertexAI、Bedrock、DeepSeek、Mistral、Ollama、OpenRouter、Perplexity、GPUStack,以及任何兼容 OpenAI 的 API
安装
将以下内容添加到您的 Gemfile:
gem 'ruby_llm'
然后运行 bundle install。
配置您的 API 密钥:
# config/initializers/ruby_llm.rb
RubyLLM.configure do |config|
config.openai_api_key = ENV['OPENAI_API_KEY']
end
Rails 集成
# 安装 Rails 集成
bin/rails generate ruby_llm:install
bin/rails db:migrate
bin/rails ruby_llm:load_models # v1.13+
class Chat < ApplicationRecord
acts_as_chat
end
chat = Chat.create!(model: "claude-sonnet-4")
chat.ask "这份报告里写了什么?", with: "report.pdf"
访问 http://localhost:3000/chats,即可获得开箱即用的聊天界面!
文档
贡献
详情请参阅 CONTRIBUTING.md。
许可证
采用 MIT 许可协议发布。
版本历史
1.14.12026/04/021.14.02026/03/161.13.22026/03/051.13.12026/03/041.13.02026/03/031.12.12026/02/191.12.02026/02/141.11.02026/01/161.10.02026/01/131.9.22026/01/091.9.12025/11/051.9.02025/11/031.8.22025/09/241.8.12025/09/211.8.02025/09/141.7.12025/09/111.7.02025/09/101.6.42025/08/201.6.32025/08/191.6.22025/08/14常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
