ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. Nebius 收购后如何从 Tavily 迁移到 Scavio
教程

Nebius 收购后如何从 Tavily 迁移到 Scavio

Nebius 于 2026 年 2 月收购 Tavily 后,从 Tavily 切换到 Scavio。包含 LangChain、RAG 和代理的代码示例的直接迁移指南。

获取免费API密钥API文档

Nebius 于 2026 年 2 月收购了 Tavily,引发了有关定价变化、数据处理和长期可用性的问题。如果您想要摆脱 Tavily 的束缚,或者需要除网络结果之外的多平台搜索,Scadio 可以从一个端点提供 Google、Amazon、YouTube、沃尔玛、Reddit 和 TikTok。 Tavilly 对 10K 请求每月收费 30 美元。 Scavio 对 7K 积分收取 30 美元/月的费用,每个积分 0.005 美元,但涵盖六个平台,而不仅仅是网络搜索。本教程将逐步介绍迁移过程。

前置条件

  • 要迁移的现有 Tavilly 集成
  • 已安装 Python 3.9+
  • 来自 scavio.dev 的 Scavio API 密钥
  • 请求已安装库

操作指南

步骤 1: 将 Tavily API 调用映射到 Scavio 等效项

Tavilly 使用带有 topic 和 search_depth 参数的搜索端点。 Scavio 使用带有查询和 num_results 的 POST 端点。绘制关键差异图。

Python
# Tavily API call (what you currently have)
# POST https://api.tavily.com/search
# Body: {"api_key": "tvly-...", "query": "...", "search_depth": "advanced",
#        "topic": "general", "max_results": 5}
#
# Scavio API call (replacement)
# POST https://api.scavio.dev/api/v1/search
# Headers: {"x-api-key": "your-key"}
# Body: {"query": "...", "country_code": "us", "num_results": 5}

import os, requests

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def tavily_to_scavio_search(query: str, max_results: int = 5, **kwargs) -> dict:
    """Drop-in replacement for tavily.search()."""
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': max_results})
    resp.raise_for_status()
    data = resp.json()
    # Return Tavily-compatible response shape
    return {
        'query': query,
        'results': [{'title': r['title'], 'url': r['link'],
                     'content': r.get('snippet', ''), 'score': 0.9 - (i * 0.05)}
                    for i, r in enumerate(data.get('organic_results', []))]
    }

result = tavily_to_scavio_search('AI agent frameworks 2026')
print(f'Query: {result["query"]}')
for r in result['results']:
    print(f'  {r["title"][:60]} (score: {r["score"]:.2f})')

步骤 2: 替换 Tavilly Python 客户端

如果您使用 tavily-python 包,请创建一个模仿 TavilyClient 的兼容包装类。您现有的代码调用相同的方法,但会调用 Scadio。

Python
class ScavioSearchClient:
    """Drop-in replacement for TavilyClient."""
    def __init__(self, api_key: str = None):
        self.api_key = api_key or os.environ['SCAVIO_API_KEY']
        self.base_url = 'https://api.scavio.dev/api/v1/search'

    def search(self, query: str, max_results: int = 5, **kwargs) -> dict:
        resp = requests.post(self.base_url,
            headers={'x-api-key': self.api_key, 'Content-Type': 'application/json'},
            json={'query': query, 'country_code': 'us', 'num_results': max_results})
        resp.raise_for_status()
        organic = resp.json().get('organic_results', [])
        return {
            'query': query,
            'results': [{'title': r['title'], 'url': r['link'],
                         'content': r.get('snippet', ''), 'score': 0.9}
                        for r in organic]
        }

    def get_search_context(self, query: str, max_results: int = 5, **kwargs) -> str:
        results = self.search(query, max_results)
        return '\n\n'.join(f"{r['title']}\n{r['content']}\nSource: {r['url']}"
                            for r in results['results'])

# Replace: client = TavilyClient(api_key=TAVILY_KEY)
client = ScavioSearchClient()
context = client.get_search_context('latest Python release 2026')
print(context[:300])

步骤 3: 更新LangChain集成

如果您在 LangChain 中使用 TavilySearchResults,请将其替换为自定义 Scavio 工具。工具界面是相同的,因此您的链或代理代码保持不变。

Python
from langchain_core.tools import tool

@tool
def search(query: str) -> str:
    """Search the web for current information. Returns titles, snippets, and URLs."""
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': 5})
    results = resp.json().get('organic_results', [])
    return '\n\n'.join(
        f"Title: {r['title']}\nSnippet: {r.get('snippet', '')}\nURL: {r['link']}"
        for r in results
    )

# BEFORE (Tavily):
# from langchain_community.tools.tavily_search import TavilySearchResults
# tools = [TavilySearchResults(max_results=5)]

# AFTER (Scavio):
tools = [search]

# Your agent code stays the same
print(f'Tool name: {tools[0].name}')
print(f'Tool description: {tools[0].description}')
result = tools[0].invoke('best AI frameworks 2026')
print(result[:200])

步骤 4: 使用测试查询验证迁移

通过这两个 API 运行最常见的查询并比较结果质量。检查标题、片段和 URL 是否已填充。

Python
def validate_migration(queries: list[str]):
    client = ScavioSearchClient()
    print('Tavily -> Scavio Migration Validation')
    print('=' * 45)
    all_pass = True
    for q in queries:
        result = client.search(q, max_results=5)
        items = result.get('results', [])
        has_results = len(items) > 0
        has_content = all(r.get('content') for r in items[:3])
        has_urls = all(r.get('url') for r in items)
        status = 'PASS' if (has_results and has_urls) else 'FAIL'
        if status == 'FAIL':
            all_pass = False
        print(f'\n[{status}] {q}')
        print(f'  Results: {len(items)}, Content: {has_content}, URLs: {has_urls}')
        if items:
            print(f'  Top: {items[0]["title"][:50]}')
    print(f'\nOverall: {"PASS" if all_pass else "SOME FAILURES"}')
    print(f'\nPricing comparison:')
    print(f'  Tavily: $30/mo for 10K searches (web only)')
    print(f'  Scavio: $30/mo for 7K credits (6 platforms)')

validate_migration([
    'latest AI news 2026',
    'best python web framework',
    'how to deploy on railway',
])

Python 示例

Python
import os, requests

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

class ScavioSearchClient:
    def __init__(self, api_key=None):
        self.key = api_key or SCAVIO_KEY
    def search(self, query, max_results=5):
        resp = requests.post('https://api.scavio.dev/api/v1/search',
            headers={'x-api-key': self.key, 'Content-Type': 'application/json'},
            json={'query': query, 'country_code': 'us', 'num_results': max_results})
        return {'results': [{'title': r['title'], 'url': r['link'],
                'content': r.get('snippet', '')} for r in resp.json().get('organic_results', [])]}
    def get_search_context(self, query, max_results=5):
        results = self.search(query, max_results)
        return '\n'.join(f"{r['title']}: {r['content']}" for r in results['results'])

client = ScavioSearchClient()
print(client.get_search_context('AI frameworks 2026'))

JavaScript 示例

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

class ScavioSearchClient {
  constructor(apiKey) { this.key = apiKey || SCAVIO_KEY; }
  async search(query, maxResults = 5) {
    const resp = await fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST',
      headers: { 'x-api-key': this.key, 'Content-Type': 'application/json' },
      body: JSON.stringify({ query, country_code: 'us', num_results: maxResults })
    });
    const data = await resp.json();
    return { results: (data.organic_results || []).map(r => ({
      title: r.title, url: r.link, content: r.snippet || ''
    }))};
  }
  async getSearchContext(query, maxResults = 5) {
    const { results } = await this.search(query, maxResults);
    return results.map(r => `${r.title}: ${r.content}`).join('\n');
  }
}

const client = new ScavioSearchClient();
client.getSearchContext('AI frameworks 2026').then(console.log);

预期输出

JSON
Tavily -> Scavio Migration Validation
=============================================

[PASS] latest AI news 2026
  Results: 5, Content: True, URLs: True
  Top: AI News Roundup: Top Developments in 2026

[PASS] best python web framework
  Results: 5, Content: True, URLs: True

Overall: PASS

Pricing comparison:
  Tavily: $30/mo for 10K searches (web only)
  Scavio: $30/mo for 7K credits (6 platforms)

相关教程

  • 如何在 LangChain RAG 管道中从 Tavily 切换到 Scavio
  • 如何将搜索 API 添加到 OpenWebUI
  • 2026年浪链RAG管道如何增加搜索落地
  • 如何对搜索 API 进行 RAG 质量基准测试

常见问题

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

要迁移的现有 Tavilly 集成. 已安装 Python 3.9+. 来自 scavio.dev 的 Scavio API 密钥. 请求已安装库. Scavio API密钥注册即送50个免费积分。

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

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

相关资源

Best Of

Google I/O 2026 AI模式变化后最佳搜索API

Read more
Glossary

搜索 API 供应商格局(2026)

Read more
Best Of

2026 年最佳 SERP API 提供商按价格排名

Read more
Comparison

Brave Search API vs Scavio

Read more
Solution

从 Brave Search API 迁移到 Scavio 获得更好覆盖

Read more
Use Case

n8n 搜索数据增强工作流

Read more

开始构建

Nebius 于 2026 年 2 月收购 Tavily 后,从 Tavily 切换到 Scavio。包含 LangChain、RAG 和代理的代码示例的直接迁移指南。

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

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

产品

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

开发者

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

替代方案

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

工具

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

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策