Resumen
Wraps search llamadas un API in un token budget manager ese truncates, summarizes, y filtra resultados antes de passing them to el LLM context window. Reduces token consumption by 40-60% sin losing critico informacion.
Desencadenador
On cada search-augmented LLM call
Programación
On cada search-augmented LLM call
Pasos del flujo de trabajo
Set token budget
Define el maximo tokens allocated for search context (e.g., 2000 tokens out of un 4000-token context window).
Ejecutar consulta de busqueda
Consulta Scavio's endpoint de busqueda for el user's question. Recibir full structured resultados.
Extraer esencial campos
From cada resultado, mantener solo titulo, fragmento, y URL. Discard metadata, thumbnails, y otro non-essential campos.
Truncate to budget
Estimate token conteo per resultado. Include resultados hasta el budget es reached. Truncate el last resultado if necesario.
Format for LLM context
Format el budgeted resultados as un numbered lista con clear fuente attribution for el LLM to reference.
Pass to LLM con remaining budget
Include el formatted search context in el LLM prompt, leaving el remaining token budget for el model's respuesta.
Implementacion en Python
import requests, os
H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
def budgeted_search(query, platform="google", max_tokens=2000):
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": platform, "query": query}, timeout=10).json()
context = []
token_count = 0
for result in r.get("organic", []):
title = result.get("title", "")
snippet = result.get("snippet", "")
url = result.get("link", "")
entry = f"- {title}: {snippet} ({url})"
est_tokens = len(entry) // 4
if token_count + est_tokens > max_tokens:
break
context.append(entry)
token_count += est_tokens
return "\n".join(context), token_count
context, tokens_used = budgeted_search("best search api for agents 2026")
print(f"Used ~{tokens_used} tokens for search context")
print(context)Implementacion en JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function budgetedSearch(query, platform = "google", maxTokens = 2000) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform, query})
}).then(r => r.json());
const context = [];
let tokenCount = 0;
for (const result of (r.organic || [])) {
const entry = "- " + result.title + ": " + result.snippet + " (" + result.link + ")";
const est = Math.ceil(entry.length / 4);
if (tokenCount + est > maxTokens) break;
context.push(entry);
tokenCount += est;
}
return {context: context.join("\n"), tokensUsed: tokenCount};
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit
YouTube
Búsqueda de videos con transcripciones y metadatos
Amazon
Búsqueda de productos con precios, calificaciones y reseñas