RubyLLM 开发者指南
1. 项目介绍
RubyLLM 是一个 Ruby 语言的开源项目,旨在简化开发者与人工智能服务的交互。它提供了一个简洁、直观的 API,允许开发者轻松地集成多种 AI 服务,包括但不限于聊天、图像识别、音频处理、文档分析和图像生成等。RubyLLM 的设计目标是让 AI 编程变得愉快而不是繁琐的工作。
2. 项目快速启动
首先,确保你已经安装了 Ruby 环境。接下来,你可以通过以下步骤快速启动 RubyLLM。
安装 RubyLLM
在你的 Gemfile 文件中添加以下代码:
gem 'ruby_llm'
然后执行以下命令安装:
bundle install
或者,你也可以直接使用以下命令安装 RubyLLM:
gem install ruby_llm
配置 API 密钥
在开始之前,你需要配置你的 AI 服务 API 密钥。可以通过以下代码来完成:
RubyLLM.configure do |config|
config.openai_api_key = ENV.fetch('OPENAI_API_KEY', nil)
config.anthropic_api_key = ENV.fetch('ANTHROPIC_API_KEY', nil)
# ... 其他 API 密钥
end
确保将你的 API 密钥设置在环境变量中,以保持安全性。
开始一个简单的聊天
下面是如何使用 RubyLLM 开始一个简单聊天的示例:
chat = RubyLLM.chat
chat.ask "Hello, how can I help you?"
3. 应用案例和最佳实践
聊天应用
chat = RubyLLM.chat
chat.ask "What's the best way to learn Ruby?"
图像分析
chat.ask "What's in this image?", with: { image: "ruby_conf.jpg" }
音频记录分析
chat.ask "Describe this meeting", with: { audio: "meeting.wav" }
文档分析
chat.ask "Summarize this document", with: { pdf: "contract.pdf" }
实时流式响应
chat.ask "Tell me a story about a Ruby programmer" do |chunk|
puts chunk.content
end
4. 典型生态项目
RubyLLM 可以与 Rails 项目无缝集成,提供了对聊天历史和工具调用的自动保存功能。以下是如何在 Rails 应用中集成 RubyLLM 的示例:
# app/models/chat.rb
class Chat < ApplicationRecord
acts_as_chat
broadcasts_to ->(chat) { "chat_#{chat.id}" }
end
# app/models/message.rb
class Message < ApplicationRecord
acts_as_message
end
# app/models/tool_call.rb
class ToolCall < ApplicationRecord
acts_as_tool_call
end
以上是 RubyLLM 的基本指南,更多深入使用和配置的信息,请参考官方文档:RubyLLM 官方文档。