Le problème
Les agents d'IA consomment les crédits de recherche de manière imprévisible. Un agent de recherche peut effectuer 500 recherches en une session tandis qu'un simple agent de questions-réponses en utilise 5. Les équipes fixent des budgets globaux qui soit affament les agents de recherche, soit gaspillent de l'argent sur des requêtes bon marché. Aucune logique de routage n'existe pour faire correspondre la complexité des requêtes au coût du fournisseur.
La solution Scavio
Implémentez une couche de routage tenant compte des coûts. Les requêtes factuelles simples utilisent Scavio à 0,005 $/crédit. Les recherches complexes en plusieurs étapes utilisent Tavily Researcher à 0,03 $/requête. Le routeur classifie l'intention de la requête et route vers le fournisseur le moins cher capable de la traiter. La plupart des requêtes des agents sont des recherches simples que Scavio traite à un coût 6 fois inférieur à celui de Tavily.
Avant
Toutes les requêtes des agents vont vers Tavily à 0,03 $/requête. Facture mensuelle : 900 $ pour 30 000 requêtes. 80 % des requêtes sont des recherches simples qui pourraient être servies à moindre coût.
Après
Le routeur envoie 80% des requêtes vers Scavio à 0,005 $. 20% de requêtes complexes vers Tavily à 0,03 $. Facture mensuelle : 300 $. Même qualité de résultats. 600 $/mois économisés.
À qui cela s'adresse
Équipes utilisant des agents d'IA avec un volume de recherche variable qui souhaitent minimiser les coûts d'API de recherche sans sacrifier la qualité des résultats.
Avantages clés
- Réduction de 60 à 70 % des dépenses de recherche
- Routage automatique basé sur la complexité des requêtes
- Requêtes simples à 0,005 $ via Scavio
- Requêtes de recherche complexes routées vers le fournisseur approprié
- Suivi budgétaire et alertes intégrés
Exemple Python
import requests, os
SCAVIO_KEY = os.environ["SCAVIO_API_KEY"]
def classify_query(query: str) -> str:
"""Classify query complexity: simple or complex."""
complex_signals = ["compare", "analyze", "research", "step by step", "in depth"]
if any(s in query.lower() for s in complex_signals):
return "complex"
return "simple"
def scavio_search(query: str) -> dict:
"""$0.005/credit search for simple queries."""
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"},
timeout=10,
)
return {"provider": "scavio", "cost": 0.005, "data": resp.json()}
def route_search(query: str) -> dict:
"""Route to cheapest provider that can handle the query."""
complexity = classify_query(query)
if complexity == "simple":
return scavio_search(query)
# For complex queries, still try Scavio first
result = scavio_search(query)
if len(result["data"].get("organic_results", [])) >= 5:
return result
# Only escalate if Scavio returns thin results
return scavio_search(query) # Replace with expensive provider if needed
result = route_search("what is kubernetes")
print(f"Provider: {result['provider']}, Cost: ${result['cost']}, Results: {len(result['data'].get('organic_results', []))}")Exemple JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
function classifyQuery(query) {
const complex = ['compare','analyze','research','step by step','in depth'];
return complex.some(s=>query.toLowerCase().includes(s)) ? 'complex' : 'simple';
}
async function scavioSearch(query) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query, country_code:'us'})});
return {provider:'scavio', cost:0.005, data:await r.json()};
}
async function routeSearch(query) {
const complexity = classifyQuery(query);
if (complexity === 'simple') return scavioSearch(query);
const result = await scavioSearch(query);
if ((result.data.organic_results||[]).length >= 5) return result;
return result;
}
const r = await routeSearch('what is kubernetes');
console.log('Provider: '+r.provider+', Cost: $'+r.cost+', Results: '+(r.data.organic_results||[]).length);Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA
YouTube
Recherche de vidéos avec transcriptions et métadonnées
Communauté, publications et commentaires imbriqués de n'importe quel subreddit