Repolode
crmne

crmne/ruby_llm

面向 Ruby 的 AI 框架,通过统一 API 提供对话、工具调用、智能体、嵌入和 Rails 集成。

Star
4,497
Fork
534
未关闭 Issue
27
最近提交
15小时前

这是什么?

RubyLLM 是一个用于在 Ruby 应用中构建 AI 功能的框架。它通过统一的 API 接入 23 家模型服务商,包括 OpenAI、Anthropic、Gemini、Ollama、OpenRouter 以及任何兼容 OpenAI 接口的端点,切换云端与本地模型时无需重写业务代码。

除基础对话外,框架还支持工具调用(让模型调用你的 Ruby 方法)、可复用的智能体、基于 Ruby Schema 的结构化输出、流式响应、嵌入、图像与视频生成、语音转写、语音合成和 OCR。框架还内置评估功能,可通过 RSpec、Minitest 或 Rake 运行数据集测试,并支持 MCP 服务器连接、提示缓存、模型降级重试以及按请求统计的成本追踪。

在 Rails 应用中,RubyLLM 提供基于 Active Record 的对话持久化、Active Storage 附件、Hotwire 流式输出,以及可直接生成可用聊天界面的生成器。

核心功能

  • 01通过统一 API 接入 23 家服务商,包括经 Ollama 运行的本地模型和兼容 OpenAI 的接口。
  • 02工具调用可将 Ruby 方法暴露给模型,并支持人工审批。
  • 03提供可复用的智能体,并可逐步驱动智能体循环。
  • 04基于 Ruby Schema 输出结构化结果,并解析为 Ruby 对象。
  • 05评估可通过 Ruby、RSpec、Minitest 或 Rake 运行。
  • 06深度集成 Rails,支持 Active Record 持久化、Hotwire 流式输出和生成器。

适用场景

  • 为 Rails 应用添加带对话历史保存的 AI 助手。
  • 构建调用内部 Ruby 方法来回答问题或执行操作的智能体。
  • 在检索流程中生成嵌入并对搜索结果重排序。
  • 将 LLM 回答与数据集对比测试,并集成进现有的 RSpec 或 Minitest 测试套件。

快速上手

  1. 1

    使用 Bundler 安装 gem

    bundle add ruby_llm --version 2.1.1
  2. 2

    在脚本中配置提供商的 API 密钥

  3. 3

    用一行代码发起提问

    RubyLLM.chat.ask "What's the best way to learn Ruby?"

使用前须知

  • 需要至少一个模型提供商的 API 密钥。
  • 评估以及代码执行等部分功能仅在 main 分支可用,稳定版中没有。

收录于专题

标签

常见问题

ruby_llm 是什么?
面向 Ruby 的 AI 框架,通过统一 API 提供对话、工具调用、智能体、嵌入和 Rails 集成。 RubyLLM 是一个用于在 Ruby 应用中构建 AI 功能的框架。它通过统一的 API 接入 23 家模型服务商,包括 OpenAI、Anthropic、Gemini、Ollama、OpenRouter 以及任何兼容 OpenAI 接口的端点,切换云端与本地模型时无需重写业务代码。
ruby_llm 可以免费使用吗?用的什么许可证?
ruby_llm 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
ruby_llm 还在维护吗?
活跃维护中。ruby_llm 最近一次提交是在 2026年11月6日。
ruby_llm 适合用来做什么?
为 Rails 应用添加带对话历史保存的 AI 助手。 构建调用内部 Ruby 方法来回答问题或执行操作的智能体。 在检索流程中生成嵌入并对搜索结果重排序。 将 LLM 回答与数据集对比测试,并集成进现有的 RSpec 或 Minitest 测试套件。
ruby_llm 怎么安装和运行?
使用 Bundler 安装 gem: bundle add ruby_llm --version 2.1.1 在脚本中配置提供商的 API 密钥 用一行代码发起提问: RubyLLM.chat.ask "What's the best way to learn Ruby?"
在哪里获取 ruby_llm?
源代码和安装说明在 GitHub 上:https://github.com/crmne/ruby_llm

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目