<图片>
图片>
以 Ruby 方式构建 AI 功能

](https://chatwithwork.com) - *完全私人工作 AI* 进行战斗测试
[](https://badge.fury.io/rb/ruby_llm)
[](https://github.com/rubocop/rubocop)
[](https://rubygems.org/gems/ruby_llm)
[](https://codecov.io/gh/crmne/ruby_llm)
> [!注意]
> 使用 RubyLLM? [分享你的故事](https://tally.so/r/3Na02p)!需要 5 分钟。
---
在 Ruby 中构建 AI 功能:聊天、代理、工具、RAG 和代理工作流程。可与 OpenAI、xAI、Anthropic、Google、AWS、本地模型以及任何 OpenAI 兼容的 API 配合使用。
## 在两分钟内构建一个可用的 Ruby AI 聊天
https://github.com/user-attachments/assets/65422091-9338-47da-a303-92b918bd1345
## 为什么选择 RubyLLM?
每个人工智能提供商都提供自己臃肿的客户端。不同的 API。不同的响应格式。不同的约定。真累。
RubyLLM 为您提供了一个适用于所有这些问题的漂亮框架。无论您使用 GPT、Claude 还是本地 Ollama,界面都是相同的。只有三个依赖项:Faraday、Zeitwerk 和 Marcel。就是这样。
## 显示代码
``红宝石
# 只问问题
聊天 = RubyLLM.chat
chat.ask“学习 Ruby 的最佳方法是什么?”
````
``红宝石
# 分析任何文件类型
chat.ask“这张图片里有什么?”,其中:“ruby_conf.jpg”
chat.ask“这个视频发生了什么?”,其中:“video.mp4”
chat.ask“描述本次会议”,其中:“meeting.wav”
chat.ask“总结本文档”,其中:“contract.pdf”
chat.ask“解释一下这段代码”,其中:“app.rb”
````
``红宝石
# 一次多个文件
chat.ask“分析这些文件”,其中:[“diagram.png”,“report.pdf”,“notes.txt”]
````
``红宝石
# 流响应
chat.ask“给我讲一个关于 Ruby 的故事” do |chunk|
打印块内容
结束
````
``红宝石
# 生成图像
RubyLLM.paint“水彩风格的山上日落”
````
``红宝石
# 创建嵌入
RubyLLM.embed“Ruby 优雅且
一个令人愉快的 Ruby AI 框架,在 Rails 中感觉很自在。无需重写代码即可切换模型,然后使用从聊天和工具到代理、RAG 和工作流程的所有内容扩展到生产环境。
在 [