当前位置: 首页 > news >正文

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.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
desc "获取当前天气"

def execute(latitude:, longitude:)
url = "https://api.open-meteo.com/v1/forecast?latitude=#{latitude}&longitude=#{longitude}&current=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+

# 添加聊天界面(可选)
bin/rails generate ruby_llm:chat_ui
class Chat < ApplicationRecord
acts_as_chat
end

chat = Chat.create! model: "claude-sonnet-4"
chat.ask "这份文件里有什么?", with: "report.pdf"

访问 `http://localhost:3000/chats` 即可使用现成的聊天界面!

开发者信息

由 Carmine Paolino 开发,他也是的开发者,这是完全私密的工作 AI。

本网站使用了 Just the Docs,这是一个适用于 Jekyll 的文档主题。

http://www.jsqmd.com/news/1084360/

相关文章:

  • 质量管理-IQC是什么?
  • 智慧农业各种水稻害虫检测数据集VOC+YOLO格式615张12类别
  • Python面向对象:实例属性与类属性的区别
  • 解放双手:《崩坏:星穹铁道》自动化助手StarRailAssistant全面解析
  • 2026年靠谱外贸网站建设公司测评,10家外贸独立站搭建选型实战攻略
  • 一键打通Rhino到Blender:import_3dm插件完全指南
  • 如何快速将3DS游戏转换为CIA格式:新手终极指南
  • 对话即界面:TokUI正式开源,AI交互告别“文字墙”时代
  • Hermes-Agent 新手快速上手与实战指南
  • 技术创业者别总想着写代码
  • 江苏省技术先进型服务企业认定条件及材料清单
  • 杰理之蓝牙PA使能配置【篇】
  • 如何快速绕过Windows 11硬件限制:bypass11工具完整解决方案
  • 终极指南:如何在Windows 10/11上复活经典游戏的局域网联机功能
  • 六轴机器人-核山派2
  • 从 Hello World 到生产级服务的 vLLM 部署进阶
  • 游戏串流技术架构:基于Sunshine的自托管低延迟游戏流媒体解决方案
  • 工业自动化设备轻量化设计与节能优化实践
  • Deceive隐身革命:3步掌控你的游戏社交自由
  • 带时间依赖约束的车辆路径问题精确算法:片段化建模与价格切割枚举
  • 2026手机社保照片保姆级教程,免费小程序一键搞定尺寸底色规范
  • 【IDEA Spring Boot 配置黄金法则】:20年架构师亲授5大高频错误、3类环境隔离方案与1键自动校验技巧
  • C++实现Blowfish对称加密:从原理到工程实践
  • Windows系统文件d3dx9_28.dll丢失找不到问题解决
  • 校园卡NFC功能移植到可穿戴设备的技术实践
  • 软件供应链安全日报实战:从情报收集到风险研判的完整指南
  • 从65%到92%!用结构化描述和动态路由让你的Agent准确率飙升
  • 企业应用文件读取漏洞实战:路径遍历原理与修复方案
  • 半导体存储芯片暴跌,AI交易降温
  • Java调用R语言的5种高效方法