座席优先搜索将在 2023 年至 2024 年迅速普及,但到 2026 年,团队将转向更广泛的平台覆盖范围和更低的每次呼叫定价。本教程是一个即插即用的迁移指南:端点映射、响应形状适配器和为 LangChain 用户提供的与 Tavily 兼容的包装器。
前置条件
- 现有 Tavilly 集成
- Python 3.10+ 或 Node 20+
- Scavio API 密钥
操作指南
步骤 1: 地图端点
Tavily /search 映射到 Scavio /search。 Tavily /extract 映射到 Scavio /extract。
# Tavily
POST https://api.tavily.com/search
# Scavio
POST https://api.scavio.dev/api/v1/search步骤 2: 地图请求正文
Tavily 的查询是同一字段。 api_key 移动到 x-api-key 标头。
# Tavily: {"api_key": "...", "query": "foo"}
# Scavio: headers={'x-api-key': '...'}, body={'query': 'foo'}步骤 3: 写一个适配器
如果您希望下游零代码更改,请将 Scavio 响应标准化为 Tavily 的形状。
def tavily_shape(scavio_json):
return {
'results': [
{'url': r['link'], 'title': r['title'], 'content': r.get('snippet', '')}
for r in scavio_json.get('organic_results', [])
]
}步骤 4: 直接更换
一项功能可以保留您的调用站点。
import requests, os
def tavily_search(query):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'query': query})
return tavily_shape(r.json())步骤 5: 交换LangChain工具
将 TavilySearchResults 替换为自定义 Scavio 工具。
from langchain.tools import Tool
scavio_tool = Tool.from_function(tavily_search, name='web_search', description='Web search')Python 示例
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
def tavily_search(query):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': query})
d = r.json()
return {'results': [{'url': x['link'], 'title': x['title'], 'content': x.get('snippet', '')} for x in d.get('organic_results', [])]}
print(tavily_search('anthropic sonnet 4.7 release'))JavaScript 示例
const API_KEY = process.env.SCAVIO_API_KEY;
export async function tavilySearch(query) {
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 })
});
const d = await r.json();
return { results: (d.organic_results || []).map(x => ({ url: x.link, title: x.title, content: x.snippet })) };
}预期输出
Zero code changes downstream. Typical migration: 30-60 minutes. Cost reduction reported by users: 40-70% at same call volume.