ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何使用 RubyLLM 在 Rails 中构建 AI 代理
教程

如何使用 RubyLLM 在 Rails 中构建 AI 代理

使用 RubyLLM 和 Scavio 构建 Rails AI 代理以进行实时网络搜索。集成到 Rails 控制器或 Active Job 后台工作人员内部。

获取免费API密钥API文档

RubyLLM 将 2026 年定为 Ruby AI 代理年。在现有应用程序中构建代理功能的 Rails 团队需要 HTTP 优先的集成,而不是繁重的 SDK。本教程将 RubyLLM 和 Scavio 连接到带有可用搜索工具的 Rails 应用程序中。

前置条件

  • 轨道 8+
  • 红宝石 3​​.3+
  • Scavio API 密钥
  • ruby_llm 宝石

操作指南

步骤 1: 添加 ruby​​_llm gem

RubyLLM 附带了带有工具支持的代理 DSL。

Bash
bundle add ruby_llm
bundle add faraday

步骤 2: 创建 Scavio 工具类

任何 Ruby 可调用对象都可以用作 RubyLLM 工具。

# app/agents/tools/scavio_search.rb
class ScavioSearch
  include RubyLLM::Tool

  description 'Search the web across Google, Reddit, and YouTube.'
  param :query, type: :string

  def execute(query:)
    res = Faraday.post('https://api.scavio.dev/api/v1/search',
      { query: query }.to_json,
      { 'x-api-key' => ENV['SCAVIO_API_KEY'], 'Content-Type' => 'application/json' })
    JSON.parse(res.body).dig('organic_results') || []
  end
end

步骤 3: 定义代理

RubyLLM 代理 DSL 将工具绑定到聊天循环。

# app/agents/research_agent.rb
class ResearchAgent < RubyLLM::Agent
  model 'claude-sonnet-4-6'
  tools ScavioSearch
  system_prompt 'Research agent. Cite every claim.'
end

步骤 4: 从控制器调用代理

在 Rails 控制器或后台作业中工作。

# app/controllers/research_controller.rb
class ResearchController < ApplicationController
  def create
    result = ResearchAgent.chat(params[:question])
    render json: { answer: result }
  end
end

步骤 5: 连接测试路线

在浏览器中进行端到端验证。

# config/routes.rb
post '/research', to: 'research#create'
# curl: curl -XPOST localhost:3000/research -d 'question=what is rubyllm'

Python 示例

Python
# Ruby tutorial; Python parity call:
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
r = requests.post('https://api.scavio.dev/api/v1/search',
    headers={'x-api-key': API_KEY},
    json={'query': 'rubyllm 2026'})
print(r.json().get('organic_results', [])[:3])

JavaScript 示例

JavaScript
// Ruby tutorial; JS parity call:
const API_KEY = process.env.SCAVIO_API_KEY;
const r = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST',
  headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({ query: 'rubyllm 2026' })
});
console.log(((await r.json()).organic_results || []).slice(0, 3));

预期输出

JSON
Rails endpoint returns agent answers grounded in Scavio search results. Works inside synchronous controllers or Sidekiq jobs.

相关教程

  • 如何将 Web 搜索添加到 opencode CLI
  • 如何为受监管行业构建 RAG 聊天机器人
  • 如何授予 Hermes 代理 Web 搜索访问权限

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

轨道 8+. 红宝石 3​​.3+. Scavio API 密钥. ruby_llm 宝石. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Workflow

每日本地法学硕士搜索接地管道

Read more
Best Of

2026年本地LLM最佳网络搜索API

Read more
Best Of

2026年5月本地LLM个人知识库工具推荐

Read more
Solution

用搜索检测和纠正LLM错误回答

Read more
Solution

用实时搜索数据支撑LLM回答

Read more
Use Case

当地法学硕士新闻和搜索基础

Read more

开始构建

使用 RubyLLM 和 Scavio 构建 Rails AI 代理以进行实时网络搜索。集成到 Rails 控制器或 Active Job 后台工作人员内部。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策