Composio統合
Scavioは、あらゆる主要フレームワークにわたってエージェントを外部サービスへ接続するツールレイヤーである Composioのカスタムツールキットとして提供されています。ScavioツールキットをビルドしてComposioのセッションにバインドすれば、Composioで動作するあらゆるエージェントが、Google、YouTube、Amazon、Walmart、Reddit、TikTok、Instagramを横断したリアルタイム検索を利用できます。— 1つのツールキット、1つのAPIキーで。PythonとTypeScriptの両方に対応しています。
前提条件
- Python 3.9以降、またはNode.js 18以降。
- dashboard.scavio.devから取得したScavio APIキー。
- app.composio.devから取得したComposio APIキー。
インストール
# Python
pip install composio composio-scavio
# TypeScript
npm install @composio/core composio-scavioどちらのパッケージも公式のScavio SDKをラップし、すべてのエンドポイントをComposioのカスタムツールとして公開します。これらは1つのSCAVIOツールキットにまとめられています。
APIキーの設定
export SCAVIO_API_KEY=sk_live_your_key
export COMPOSIO_API_KEY=your_composio_keyツールキットは環境変数からSCAVIO_API_KEYを読み取ります。ツールキットをビルドする際に明示的に渡すこともできます。
クイックスタート(Python)
from composio import Composio
from composio_scavio import build_scavio_toolkit
composio = Composio()
scavio = build_scavio_toolkit() # reads SCAVIO_API_KEY
session = composio.create(
user_id="user_1",
experimental={"custom_toolkits": [scavio]},
)
# Hand the tools to your agent, or call one directly:
result = session.execute(
"SCAVIO_GOOGLE_SEARCH",
arguments={"query": "best search API for AI agents", "light_request": True},
)
print(result)クイックスタート(TypeScript)
import { Composio } from "@composio/core";
import { buildScavioToolkit } from "composio-scavio";
const composio = new Composio();
const scavio = buildScavioToolkit(); // reads SCAVIO_API_KEY
const session = await composio.create("user_1", {
experimental: { customToolkits: [scavio] },
});
const out = await session.execute("LOCAL_SCAVIO_GOOGLE_SEARCH", {
query: "best search API for AI agents",
light_request: true,
});
console.log(out);必要なプロバイダーだけを有効にする
すべてのプロバイダーはデフォルトで有効になっています。各プロバイダーはフラグで制御されるため、モデルに対して絞り込んだツールの一覧を公開できます:
# Python: web-only toolkit (Google, YouTube, Reddit)
scavio = build_scavio_toolkit(
enable_google=True,
enable_youtube=True,
enable_reddit=True,
enable_amazon=False,
enable_walmart=False,
enable_tiktok=False,
enable_instagram=False,
)// TypeScript: same idea
const scavio = buildScavioToolkit({
enableGoogle: true,
enableYoutube: true,
enableReddit: true,
enableAmazon: false,
enableWalmart: false,
enableTiktok: false,
enableInstagram: false,
});個々のフラグに関わらずすべてのツールを登録するには、all=True(Python)または{ all: true }(TypeScript)を渡します。
ツールスラッグ
ツールはSCAVIOツールキットにまとめられています。エージェントが参照するスラッグは、ツールキットのスラッグにツール名を加えたものです。Pythonではスラッグは SCAVIO_GOOGLE_SEARCHです。TypeScriptではComposioがカスタムツールに予約済みの LOCAL_プレフィックスを付与するため、同じツールは LOCAL_SCAVIO_GOOGLE_SEARCHになります。session.execute(...)を呼び出す際は、対応する形式を使用してください。
利用可能なツール
各Scavioエンドポイントは、プロバイダー名をプレフィックスとしたツールとして公開されます(合計32個)。以下のスラッグは簡潔さのため、SCAVIO_ / LOCAL_SCAVIO_プレフィックスを省略しています。
| プロバイダー | ツール |
|---|---|
GOOGLE_SEARCH | |
| Amazon | AMAZON_SEARCH, AMAZON_PRODUCT |
| Walmart | WALMART_SEARCH, WALMART_PRODUCT |
| YouTube | YOUTUBE_SEARCH, YOUTUBE_METADATA |
REDDIT_SEARCH, REDDIT_POST | |
| TikTok | TIKTOK_PROFILE, TIKTOK_USER_POSTS, TIKTOK_VIDEO, TIKTOK_VIDEO_COMMENTS, TIKTOK_COMMENT_REPLIES, TIKTOK_SEARCH_VIDEOS, TIKTOK_SEARCH_USERS, TIKTOK_HASHTAG, TIKTOK_HASHTAG_VIDEOS, TIKTOK_USER_FOLLOWERS, TIKTOK_USER_FOLLOWINGS |
INSTAGRAM_PROFILE, INSTAGRAM_USER_POSTS, INSTAGRAM_USER_REELS, INSTAGRAM_USER_TAGGED, INSTAGRAM_USER_STORIES, INSTAGRAM_POST, INSTAGRAM_POST_COMMENTS, INSTAGRAM_COMMENT_REPLIES, INSTAGRAM_SEARCH_USERS, INSTAGRAM_SEARCH_HASHTAGS, INSTAGRAM_USER_FOLLOWERS, INSTAGRAM_USER_FOLLOWINGS |
仕組み
各ツールはScavioのレスポンスをJSONオブジェクトとして返し、モデルはそれを直接読み取れます。呼び出しは公式のScavio SDKを経由し、SDKが認証、レート制限、リクエストのフォーマットを処理します。ツールはプロセス内で実行されるため、Scavio APIキーはご自身で用意する必要があります。— Composioがリクエストをプロキシすることはありません。
クレジットコスト
ほとんどの呼び出しは1クレジットです。RedditとInstagramは2クレジット、Googleはlight_request=falseの場合に2クレジットかかります。プランごとの上限については レート制限のリファレンスを、リトライのガイダンスについては エラーのリファレンスを参照してください。