ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment configurer des budgets de tokens pour les appels API de recherche
Tutoriel

Comment configurer des budgets de tokens pour les appels API de recherche

Contrôlez combien de tokens votre agent dépense sur les résultats de recherche. Construisez un système de budget qui limite l'utilisation de la fenêtre de contexte par appel d'outil.

Obtenez une clé API gratuiteDocumentation API

Les agents qui appellent des API de recherche peuvent consommer des milliers de tokens par requête si les résultats ne sont pas contrôlés. Un système de budget de tokens garantit que les résultats de recherche ne dépassent jamais une limite définie, préservant ainsi la fenêtre de contexte de votre agent pour le raisonnement. Ceci est particulièrement important pour les agents qui effectuent plusieurs appels d'outils par tour.

Prérequis

  • Python 3.8+
  • tiktoken installé (pip install tiktoken)
  • Une clé API Scavio

Parcours

Étape 1: Installer tiktoken pour le comptage des tokens

Configurer le comptage des tokens pour mesurer la taille des résultats de recherche.

Bash
pip install tiktoken

Étape 2: Construire une fonction de recherche budgétée

Créer une fonction de recherche qui respecte un budget de tokens.

Python
import requests, os, tiktoken

H = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}
enc = tiktoken.encoding_for_model('gpt-4')

def budgeted_search(query: str, platform: str = 'google', max_tokens: int = 300) -> str:
    resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': platform, 'query': query}, timeout=10)
    results = resp.json().get('organic', [])
    
    output_lines = []
    token_count = 0
    
    for r in results:
        line = f"{r.get('title','')}: {r.get('snippet','')}"
        line_tokens = len(enc.encode(line))
        
        if token_count + line_tokens > max_tokens:
            break
        
        output_lines.append(line)
        token_count += line_tokens
    
    return '\n'.join(output_lines)

Étape 3: Créer un suivi de budget quotidien

Suivre l'utilisation totale des tokens et des crédits sur tous les appels de recherche.

Python
from dataclasses import dataclass, field
from datetime import date

@dataclass
class SearchBudget:
    daily_credit_limit: int = 100
    daily_token_limit: int = 50000
    credits_used: int = 0
    tokens_used: int = 0
    date: str = field(default_factory=lambda: date.today().isoformat())
    
    def can_search(self) -> bool:
        if self.date != date.today().isoformat():
            self.reset()
        return self.credits_used < self.daily_credit_limit
    
    def record(self, tokens: int):
        self.credits_used += 1
        self.tokens_used += tokens
    
    def reset(self):
        self.credits_used = 0
        self.tokens_used = 0
        self.date = date.today().isoformat()
    
    def remaining(self) -> dict:
        return {'credits': self.daily_credit_limit - self.credits_used,
                'tokens': self.daily_token_limit - self.tokens_used}

budget = SearchBudget(daily_credit_limit=50)

def search_with_budget(query: str, platform: str = 'google', max_tokens: int = 300) -> str:
    if not budget.can_search():
        return '[Budget exceeded - no more searches today]'
    result = budgeted_search(query, platform, max_tokens)
    budget.record(len(enc.encode(result)))
    return result

Étape 4: Intégrer avec le framework d'agent

Connecter la recherche budgétée au système d'outils de votre agent.

Python
# Example with a simple agent loop:
def agent_research(question: str, budget: SearchBudget) -> str:
    # Adaptive token budget based on remaining allowance
    remaining = budget.remaining()
    per_search_budget = min(300, remaining['tokens'] // 3)  # Reserve for 3 searches
    
    # Search with budget
    google_ctx = search_with_budget(question, 'google', per_search_budget)
    reddit_ctx = search_with_budget(question, 'reddit', per_search_budget)
    
    context = f"Google:\n{google_ctx}\n\nReddit:\n{reddit_ctx}"
    total_tokens = len(enc.encode(context))
    
    print(f"Research used {budget.credits_used} credits, {total_tokens} tokens")
    print(f"Remaining: {budget.remaining()}")
    
    return context

Exemple Python

Python
import requests, os, tiktoken
H = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}
enc = tiktoken.encoding_for_model('gpt-4')

def budgeted_search(query, max_tokens=300):
    r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': query}).json()
    lines, tokens = [], 0
    for x in r.get('organic',[]):
        line = f"{x['title']}: {x.get('snippet','')}"
        t = len(enc.encode(line))
        if tokens + t > max_tokens: break
        lines.append(line); tokens += t
    return '\n'.join(lines)

Exemple JavaScript

JavaScript
// Token counting in JS (approximate, using char/4 heuristic):
async function budgetedSearch(query, maxTokens = 300) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
    body: JSON.stringify({platform: 'google', query})
  });
  const results = (await r.json()).organic || [];
  let lines = [], tokens = 0;
  for (const x of results) {
    const line = `${x.title}: ${x.snippet || ''}`;
    const t = Math.ceil(line.length / 4);
    if (tokens + t > maxTokens) break;
    lines.push(line); tokens += t;
  }
  return lines.join('\n');
}

Sortie attendue

JSON
A token budget system that controls how many tokens search results consume in your agent's context window, with daily credit tracking.

Tutoriels associés

  • Comment réduire l'utilisation des tokens LLM avec la recherche structurée
  • Comment construire un agent de recherche autonome avec Scavio

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.8+. tiktoken installé (pip install tiktoken). Une clé API Scavio. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleures API de recherche économes en tokens en 2026

Read more
Workflow

Workflow de suivi des coûts de recherche et du budget par agent

Read more
Best Of

Meilleures API de recherche économiques pour agents IA sous 10 $/mois (2026)

Read more
Use Case

Contrôle des coûts de recherche des agents

Read more
Use Case

Passerelle de recherche MCP pour systèmes multi-agents

Read more
Solution

Empêchez les workflows d'agents de faire exploser votre budget d'API de recherche

Read more

Commencer

Contrôlez combien de tokens votre agent dépense sur les résultats de recherche. Construisez un système de budget qui limite l'utilisation de la fenêtre de contexte par appel d'outil.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité