用途:帮助开发者在 Ruby 应用中构建 AI 功能,包括聊天、嵌入、图像生成,以及 Rails 聊天集成、工具/函数调用、流式响应、调试与生产优化。
主要能力:RubyLLM 用同一套 Ruby API 对接不同 LLM 提供商,无论 GPT、Claude、Gemini 还是本地 Ollama,均返回相同的 RubyLLM::Message 对象。支持通过 RubyLLM::Tool 子类定义工具,使用 description、param 和 execute 声明参数与执行逻辑;支持块式流式输出;Rails 中可通过 acts_as_chat 自动持久化对话。
使用方式:先配置 API 密钥,例如在 config/initializers/ruby_llm.rb 中设置 openai_api_key、anthropic_api_key、gemini_api_key、request_timeout 和 max_retries。聊天示例:chat = RubyLLM.chat(model: 'gpt-4.1'),再调用 chat.ask("Hello!")。工具示例:chat.with_tool(Weather).ask("What's the weather in Berlin?")。流式示例:chat.ask("Tell me a story") do |chunk| print chunk.content end。Rails 中定义 class Chat < ApplicationRecord; acts_as_chat; end,然后 Chat.create!(model: 'gpt-4.1') 并 ask。
适用场景:新建 AI 功能、Rails 持久化聊天、工具调用、流式响应、调试 LLM 交互、生产性能优化。
限制:资料未提供具体收费、价格、平台支持范围或效果数据;使用前需自行准备各提供商 API 密钥。验证建议:在 bin/rails console -e test 中执行 RubyLLM.chat.ask("Test"),并运行 bin/rails test 检查错误。