ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何将 LangChain 中的 Tavily 替换为 Scavio
教程

如何将 LangChain 中的 Tavily 替换为 Scavio

使用自定义工具包装器在 LangChain 代理中将 Tavily 替换为 Scavio。多平台搜索,无Nebius供应商风险。工作代码。

获取免费API密钥API文档

2026 年 2 月 Nebius 以 2.75 亿美元收购 Tavily 后,在 LangChain 中使用 TavilySearchResults 的团队面临供应商的不确定性。用 Scavio 替换 Tavily 需要一个自定义工具类,该工具类将 Scavio API 包装在 LangChain 的 Tool 接口中。此次交换为您提供多平台搜索(Google、Reddit、YouTube、亚马逊),而不是 Tavily 的纯网络结果,且没有收购风险。

前置条件

  • Python 3.10+
  • langchain 和请求已安装
  • 来自 scavio.dev 的 Scavio API 密钥
  • 使用 Tavily 的现有 LangChain 代理

操作指南

步骤 1: 为LangChain创建Scadio搜索工具

构建一个自定义 LangChain 工具,调用 Scavio API 作为 TavilySearchResults 的直接替代品。

Python
import os, requests
from langchain.tools import Tool

API_KEY = os.environ['SCAVIO_API_KEY']

def scavio_search(query: str) -> str:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'})
    results = resp.json().get('organic_results', [])[:5]
    if not results: return 'No results found.'
    return '\n\n'.join(f"{r['title']}\n{r.get('snippet', '')}\nURL: {r['link']}" for r in results)

scavio_tool = Tool(name='web_search',
    description='Search the web for current information.',
    func=scavio_search)

步骤 2: 添加多平台搜索变体

创建 Tavilly 从未提供过的 Reddit 和 YouTube 工具。

Python
def scavio_reddit(query: str) -> str:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'platform': 'reddit', 'country_code': 'us'})
    results = resp.json().get('organic_results', [])[:5]
    if not results: return 'No Reddit discussions found.'
    return '\n\n'.join(f"{r['title']}\n{r.get('snippet', '')}\nURL: {r['link']}" for r in results)

def scavio_youtube(query: str) -> str:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'platform': 'youtube', 'country_code': 'us'})
    results = resp.json().get('organic_results', [])[:5]
    if not results: return 'No YouTube videos found.'
    return '\n\n'.join(f"{r['title']}\n{r.get('snippet', '')}\nURL: {r['link']}" for r in results)

reddit_tool = Tool(name='reddit_search', description='Search Reddit for discussions.', func=scavio_reddit)
youtube_tool = Tool(name='youtube_search', description='Search YouTube for videos.', func=scavio_youtube)

步骤 3: 交换现有代理中的工具

将 TavilySearchResults 替换为 Scavio 工具。

Python
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate

# BEFORE: tools = [TavilySearchResults(max_results=5)]
# AFTER:
tools = [scavio_tool, reddit_tool, youtube_tool]

llm = ChatOpenAI(model='gpt-4o', temperature=0)
prompt = ChatPromptTemplate.from_messages([
    ('system', 'Use web_search for general queries, reddit_search for opinions, youtube_search for videos.'),
    ('human', '{input}'),
    ('placeholder', '{agent_scratchpad}'),
])

agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
result = executor.invoke({'input': 'What are developers saying about Tavily alternatives?'})
print(result['output'])

步骤 4: 测试迁移

运行比较查询以验证结果质量。

Python
queries = ['best SERP API 2026', 'TikTok API for brands', 'how to build SEO dashboard']
for q in queries:
    print(f'\nQuery: {q}')
    g = scavio_search(q)
    r = scavio_reddit(q)
    print(f'  Google: {len(g.split(chr(10)+chr(10)))} results')
    print(f'  Reddit: {len(r.split(chr(10)+chr(10)))} results')
    print(f'  Cost: $0.01 (2 credits)')

Python 示例

Python
import os, requests
from langchain.tools import Tool

API_KEY = os.environ['SCAVIO_API_KEY']

def search(query, platform='google'):
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'platform': platform, 'country_code': 'us'})
    results = resp.json().get('organic_results', [])[:5]
    return '\n\n'.join(f"{r['title']}\n{r.get('snippet', '')}" for r in results) or 'No results.'

tools = [
    Tool(name='web_search', description='Search the web.', func=lambda q: search(q)),
    Tool(name='reddit_search', description='Search Reddit.', func=lambda q: search(q, 'reddit')),
]
print(search('tavily alternatives 2026'))

JavaScript 示例

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const H = { 'x-api-key': API_KEY, 'Content-Type': 'application/json' };

async function search(query, platform = 'google') {
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H,
    body: JSON.stringify({ query, platform, country_code: 'us' })
  }).then(r => r.json());
  return (data.organic_results || []).slice(0, 5)
    .map(r => `${r.title}\n${r.snippet || ''}`).join('\n\n') || 'No results.';
}

async function main() {
  console.log(await search('tavily alternatives 2026'));
  console.log(await search('tavily alternatives', 'reddit'));
}
main().catch(console.error);

预期输出

JSON
Query: What are developers saying about Tavily alternatives?
> Calling: reddit_search("Tavily alternatives developer opinions 2026")
Tavily acquired by Nebius - what are you switching to?
Several devs switching to Scavio and Exa...
> Final answer: Developers on Reddit discuss several Tavily alternatives...

相关教程

  • 如何向深度研究代理添加搜索
  • 如何用 Python 获取 Google 搜索结果
  • 如何将 SearXNG 后备添加到您的搜索管道

常见问题

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

Python 3.10+. langchain 和请求已安装. 来自 scavio.dev 的 Scavio API 密钥. 使用 Tavily 的现有 LangChain 代理. Scavio API密钥注册即送50个免费积分。

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

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

相关资源

Best Of

2026年5月LangChain RAG流水线最佳搜索API

Read more
Best Of

2026年最佳LangChain工作流调试工具

Read more
Use Case

LangChain Tavily 迁移

Read more
Solution

LangChain DaaS + 缓存 + MCP技术栈

Read more
Solution

将LangChain抓取器迁移到搜索API

Read more
Use Case

OpenSEO 搭配 Scavio 数据后端

Read more

开始构建

使用自定义工具包装器在 LangChain 代理中将 Tavily 替换为 Scavio。多平台搜索,无Nebius供应商风险。工作代码。

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

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

产品

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

开发者

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

替代方案

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

工具

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

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策