RubyLLM:美观框架支持主流AI供应商,两分钟构建可用Ruby AI聊天应用!

📅 2026/6/26 23:19:37
RubyLLM:美观框架支持主流AI供应商,两分钟构建可用Ruby AI聊天应用!
链接与版本信息- RubyLLM- GitHub- 更新日志- 博客当前最新版本为1.16.0下一版本 (2.0 开发版) 也在开发中更新日志 ↗ 可查看详细信息。快速开始指引- 快速开始- 概述- 配置核心特性展示- 聊天- 工具- 流式响应- 嵌入向量- 图像生成- 智能体- 音频转录- 内容审核- 深度思考高级功能介绍- Rails 集成- 异步扩展- 错误处理- 模型注册表- 监控- 智能体工作流- 升级参考文档说明- 可用模型- RubyLLM 生态系统本网站使用了 Just the Docs这是一个适用于 Jekyll 的文档主题。RubyLLM 简介RubyLLM 是一个美观的 Ruby 框架支持所有主流 AI 供应商。借助它能轻松构建聊天机器人、AI 智能体、RAG 应用、内容生成器以及各种能想到的 AI 工作流。你可以 开始使用也能访问其 GitHub 了解更多。它还在经过实战检验是完全私密的工作 AI。两分钟构建可用应用在短短两分钟内就能构建一个可用的 Ruby AI 聊天应用。它支持众多 AI 供应商如 Anthropic、AzureAI、Bedrock、DeepSeek、Gemini、GPUStack、Mistral、Ollama、OpenAI、OpenRouter、Perplexity、VertexAI、xAI 等。如果你正在使用 RubyLLM分享你的故事只需 5 分钟。选择 RubyLLM 的理由每个 AI 供应商都提供了臃肿的客户端有着不同的 API、响应格式和使用规范让人疲惫。而 RubyLLM 为用户提供了一个统一且美观的框架无论使用的是 GPT、Claude 还是本地的 Ollama接口都是一样的。它仅依赖三个库Faraday、Zeitwerk 和 Marcel十分简单。代码示例呈现# 直接提问chat RubyLLM.chatchat.ask 学习 Ruby 的最佳方法是什么# 分析任意文件类型chat.ask 这张图片里有什么, with: ruby_conf.jpgchat.ask 这个视频里发生了什么, with: video.mp4chat.ask 描述一下这次会议, with: meeting.wavchat.ask 总结这份文档, with: contract.pdfchat.ask 解释这段代码, with: app.rb# 同时处理多个文件chat.ask 分析这些文件, with: [diagram.png, report.pdf, notes.txt]# 流式响应chat.ask 讲一个关于 Ruby 的故事 do |chunk|print chunk.contentend# 生成图像RubyLLM.paint 一幅水彩风格的山间日落图# 创建嵌入向量RubyLLM.embed Ruby 优雅且富有表现力# 音频转录为文本RubyLLM.transcribe meeting.wav# 内容安全审核RubyLLM.moderate 检查这段文本是否安全# 让 AI 使用你的代码class Weather RubyLLM::Tooldesc 获取当前天气def execute(latitude:, longitude:)url https://api.open-meteo.com/v1/forecast?latitude#{latitude}longitude#{longitude}currenttemperature_2m,wind_speed_10mJSON.parse(Faraday.get(url).body)endendchat.with_tool(Weather).ask 柏林的天气如何# 定义一个带有指令和工具的智能体class WeatherAssistant RubyLLM::Agentmodel gpt-5-nanoinstructions 简洁明了始终使用工具查询天气。tools WeatherendWeatherAssistant.new.ask 柏林的天气如何# 获取结构化输出class ProductSchema RubyLLM::Schemastring :namenumber :pricearray :features dostringendendresponse 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.rbRubyLLM.configure do |config|config.openai_api_key ENV[OPENAI_API_KEY]endRails 集成操作# 安装 Rails 集成bin/rails generate ruby_llm:installbin/rails db:migratebin/rails ruby_llm:load_models # v1.13# 添加聊天界面可选bin/rails generate ruby_llm:chat_uiclass Chat ApplicationRecordacts_as_chatendchat Chat.create! model: claude-sonnet-4chat.ask 这份文件里有什么, with: report.pdf访问 http://localhost:3000/chats 即可使用现成的聊天界面开发者信息由 Carmine Paolino 开发他也是的开发者这是完全私密的工作 AI。本网站使用了 Just the Docs这是一个适用于 Jekyll 的文档主题。