crmne

crmne / ruby_llm

#13
3,981452+2 todayRuby

为OpenAI/Anthropic/Gemini/Bedrock/OpenRouter/DeepSeek/Ollama/VertexAI/Perplexity/Mistral/GPUStack及OpenAI兼容API提供统一的Ruby接口。支持聊天、视觉、音频、PDF、图像、嵌入、工具、流式传输及Rails集成。

RubyLLM 为开发者提供了一个统一且简洁的 Ruby 接口,用以连接 OpenAI、Anthropic、Gemini、xAI 等主流 AI 服务以及 Ollama 等本地模型。它解决了不同 AI 供应商客户端 API 各异、格式不统一的痛点,让开发者能够通过一套相同的代码与各种大语言模型进行交互。项目核心功能全面,支持聊天对话、图像视觉分析、语音转录、文档(如PDF)信息提取、图像生成、向量嵌入以及流式响应。特别集成了对 Rails 框架的支持,例如 ActiveRecord 的 `acts_as_chat` 方法,便于构建聊天机器人、AI 智能体和 RAG 应用。其设计轻量,仅依赖三个基础库,并包含一个涵盖 800 多种模型的注册表,显著简化了在 Ruby 生态中集成和切换不同 AI 能力的工作。

💡 应用场景

最适合需要在Ruby/Rails应用中统一、便捷地集成多种AI服务的场景。

多模型AI应用开发

问题:开发AI应用时需要同时支持多个AI服务商(如OpenAI、Claude、Gemini),但每个服务商的API接口和响应格式都不同,导致代码复杂且难以维护。

方案:使用RubyLLM的统一接口,只需一套代码即可调用所有支持的AI模型,通过简单的配置切换服务商。

示例:你的Rails应用需要根据用户订阅级别提供不同的AI模型(付费用户用GPT-4,免费用户用本地Ollama),只需修改配置即可,无需重写业务逻辑。

Rails应用快速集成AI

问题:想在Rails应用中快速添加AI聊天功能,但需要处理复杂的API集成、会话管理和界面开发。

方案:使用RubyLLM的Rails集成功能,通过`acts_as_chat`和内置的聊天界面,几分钟就能搭建完整的AI聊天系统。

示例:运行`rails generate rubyllm:install`后,访问`/chats`即可获得现成的聊天界面,支持与多种AI模型对话。

多模态AI处理

问题:需要处理多种类型的AI任务(文本聊天、图像分析、语音转写、文档提取),但不同任务需要调用不同的API和客户端。

方案:使用RubyLLM的统一方法(`chat`、`transcribe`、`paint`、`embed`等)处理所有AI任务,接口一致且简单。

示例:一个客服系统需要同时处理用户文字提问、上传的图片分析和语音留言转写,使用RubyLLM可以用相似的代码风格处理所有这些任务。

AI代理与工具调用

问题:需要让AI模型能够调用外部工具或执行特定任务(如查询数据库、调用API),但实现起来复杂且容易出错。

方案:使用RubyLLM的工具和代理功能,让AI模型能够安全地调用你定义的Ruby方法,构建智能代理系统。

示例:创建一个旅行规划代理,AI可以调用你的`search_flights`、`book_hotel`等Ruby方法,自动为用户规划行程。

📊 项目信息

语言
Ruby
Stars
3,981
Forks
452
今日新增
+2
排名
#13
收录
语言榜
趋势日期
2026年6月4日
最后推送
2026/6/4

🏷️ 标签

RubyRailsAI应用开发多模型集成统一接口企业级Ruby开发者AI工程师