RubyLLM: 一个美丽的 Ruby 框架,适用于所有主要的 AI 提供商
一个美丽的 Ruby 框架,适用于所有主要的 AI 提供商。轻松构建聊天机器人、AI 代理、RAG 应用程序、内容生成器,以及你能想到的每一个 AI 工作流。经过实战考验 - 完全私密的工作 AI。在两分钟内构建一个运行的 Ruby AI 聊天。使用 RubyLLM?分享你的故事!只需 5 分钟。为什么选择 RubyLLM?每个 AI 提供商都提供他们自己臃肿的客户端。不同的 API。不同的响应格式。不同的约定。这太令人疲惫了。RubyLLM 给你一个美丽的框架用于所有这些。无论你使用 GPT、Claude 还是本地 Ollama,接口都是相同的。只需三个依赖项:Faraday、Zeitwerk 和 Marcel。就这些。给我看代码 # 只需提问 chat = 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 的故事" 做 | chunk | print chunk.content 结束 # 生成图像 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}¤t=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 "分析这个产品" ,用:"product.txt" 特点 聊天:使用 RubyLLM.chat 的会话 AI 视觉:分析图像和视频 音频:使用 RubyLLM.transcribe 转录和理解语音 文档:从 PDF、CSV、JSON 等任何文件类型中提取 图像生成:使用 RubyLLM.paint 创建图像 嵌入:使用 RubyLLM.embed 生成嵌入 审核:使用 RubyLLM.moderate 进行内容安全 工具:让 AI 调用你的 Ruby 方法 代理:使用 RubyLLM::Agent 的可重用助手 结构化输出:能够正常工作的 JSON 模式 流媒体:实时响应 与区分,控制,查看和持久化模型推理。提供商: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+ # 添加聊天 UI(可选) bin/rails generate ruby_llm:chat_ui class Chat < ApplicationRecord acts_as_chat end chat = Chat.create! model: "claude-sonnet-4" chat.ask "这个文件里有什么?" ,用:"report.pdf" 访问 http://localhost:3000/chats 获取现成的聊天界面!
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡