Vercel AI SDK 集成
Scavio以一组开箱即用的工具形式提供给 Vercel AI SDK。从 @scavio/ai-sdk 导入这些工具,并将其传递给 generateText 或 streamText,即可让任何 AI SDK 智能体 跨Google、YouTube、Reddit、Amazon、Walmart、TikTok和Instagram进行实时搜索 — 一个包,一个API密钥,无需编写自定义HTTP代码。
前提条件
- Node.js 18或更高版本。
- 从 dashboard.scavio.dev 获取的Scavio API密钥。
安装
npm install @scavio/ai-sdk aiai 和 zod 是对等依赖; scavio JS SDK已捆绑在内,并在底层被调用。
设置你的API密钥
export SCAVIO_API_KEY=sk_live_your_key每个工具工厂都会从环境变量中读取 SCAVIO_API_KEY。你也可以 显式传入:scavioSearch({ apiKey: "sk_live_..." })。
快速开始
import { generateText, stepCountIs } from "ai";
import { openai } from "@ai-sdk/openai";
import { scavioTools } from "@scavio/ai-sdk";
const { text } = await generateText({
model: openai("gpt-4o-mini"),
tools: scavioTools(),
stopWhen: stepCountIs(3),
prompt: "Find the official GitHub repo of the Agno framework and summarize it",
});
console.log(text);使用单个工具
每个数据源也作为独立的工厂导出,因此你可以向模型暴露一个精简的工具列表:
import { generateText, stepCountIs } from "ai";
import { openai } from "@ai-sdk/openai";
import { scavioSearch, scavioAmazonSearch } from "@scavio/ai-sdk";
const { text } = await generateText({
model: openai("gpt-4o-mini"),
tools: {
scavio_search: scavioSearch({ maxResults: 5 }),
scavio_amazon_search: scavioAmazonSearch(),
},
stopWhen: stepCountIs(3),
prompt: "Compare prices for a mechanical keyboard on Amazon",
});每个工厂接受 { apiKey?, maxResults?, ...ScavioConfig }。 maxResults 会在过长的 results 数组到达模型之前进行裁剪 (默认为10),从而降低token使用量。
可用工具
scavioTools() 返回按名称索引的每个工具,可直接展开到 tools 选项中。或者单独导入各个工厂。
| 工厂 | 工具名称 | 数据源 |
|---|---|---|
scavioSearch | scavio_search | Google网页搜索 |
scavioYoutubeSearch | scavio_youtube_search | YouTube视频搜索 |
scavioRedditSearch | scavio_reddit_search | Reddit(2积分) |
scavioAmazonSearch | scavio_amazon_search | Amazon商品 |
scavioWalmartSearch | scavio_walmart_search | Walmart商品 |
scavioTiktokSearch | scavio_tiktok_search | TikTok视频 |
scavioInstagramSearch | scavio_instagram_search | Instagram用户 |
工作原理
每个工具都是一个标准的 AI SDK tool(),带有类型化的 Zod 输入模式, 因此模型能获得准确的参数提示,SDK也会在调用执行前进行校验。 调用通过 scavio JS SDK进行,由它处理认证、速率限制 和请求格式化。工具结果以原始的Scavio JSON响应形式返回给模型。
积分消耗
大多数调用消耗1积分。Reddit消耗2积分,当 light_request=false 时Google消耗2积分。参阅 速率限制 文档了解套餐限制,参阅 错误 文档获取重试指导。