Le problème
Les changements de prix de Google en 2026 pour l'API JSON Custom Search et les limites de débit plus strictes sur la recherche gratuite ont rendu plus difficile pour les configurations LLM locales (Ollama, llama.cpp, vLLM) d'accéder à la recherche Web. Les utilisateurs auto-hébergés qui comptaient sur les points de terminaison de recherche gratuits de Google font désormais face à des paywalls ou à un limitation de débit agressive. SearXNG fonctionne mais tombe souvent en panne car les moteurs en amont renforcent les mesures anti-bot. Les utilisateurs de LLM locaux ont besoin d'un backend de recherche fiable et abordable qui renvoie des résultats structurés.
La solution Scavio
Utilisez l'API REST de Scavio comme backend de recherche pour les LLM locaux. L'API renvoie du JSON structuré qui peut être injecté directement dans les fenêtres de contexte LLM. Avec 250 crédits gratuits/mois et 0,005 $/crédit au-delà, cela coûte moins cher que de maintenir une instance SearXNG et est plus fiable que les points de terminaison gratuits de Google. Un simple wrapper Python convertit les résultats de Scavio dans le format d'invite attendu par votre LLM local.
Avant
Avant : Un développeur utilisant Ollama avec un outil de recherche personnalisé a atteint la limite du niveau gratuit de Google après 100 requêtes/jour. Passer à SearXNG nécessitait une configuration Docker, et les résultats échouaient 20 % du temps en raison du limite de débit en amont. Déboguer les échecs de recherche prenait plus de temps que de construire la véritable application LLM.
Après
Après : Le même développeur utilise l'API de Scavio avec un wrapper Python de 10 lignes. 250 requêtes gratuites/mois couvrent une utilisation occasionnelle. Pour des charges plus lourdes, 30 $/mois offrent 7 000 requêtes sans maintenance. Les échecs de recherche sont passés de 20 % à moins de 1 %.
À qui cela s'adresse
Développeurs exécutant des LLM locaux (Ollama, llama.cpp, vLLM) qui ont besoin d'une recherche Web fiable après que Google a resserré l'accès à la recherche gratuite. Toute personne dont l'instance SearXNG continue de tomber en panne.
Avantages clés
- 250 requêtes gratuites/mois couvrent une utilisation occasionnelle de recherche LLM locale
- La sortie JSON structurée s'injecte proprement dans tout format d'invite LLM
- Zéro maintenance par rapport à la configuration Docker de SearXNG et aux pannes en amont
- Fiabilité supérieure à 99 % contre un taux de succès de 80 % de SearXNG sur les moteurs limités en débit
- 30 $/mois pour 7K requêtes remplace l'hébergement SearXNG à 50 $/mois avec de meilleurs résultats
Exemple Python
import requests
import json
API_KEY = "your_scavio_api_key"
def web_search(query: str, num_results: int = 5) -> str:
"""Search tool for local LLMs. Returns formatted context string."""
r = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": query},
timeout=10,
)
data = r.json()
results = []
if data.get("ai_overview"):
results.append(f"AI Overview: {data["ai_overview"].get("text", "")}")
for item in data.get("organic", [])[:num_results]:
results.append(f"[{item["position"]}] {item["title"]}\n{item.get("snippet", "")}\nURL: {item["link"]}")
return "\n\n".join(results)
# Use in Ollama tool calling or prompt injection
context = web_search("python asyncio best practices 2026")
print(context)Exemple JavaScript
const API_KEY = "your_scavio_api_key";
async function webSearch(query, numResults = 5) {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform: "google", query }),
});
const data = await res.json();
const results = [];
if (data.ai_overview) results.push(`AI Overview: ${data.ai_overview.text || ""}`);
for (const item of (data.organic || []).slice(0, numResults)) {
results.push(`[${item.position}] ${item.title}\n${item.snippet || ""}\nURL: ${item.link}`);
}
return results.join("\n\n");
}
const context = await webSearch("python asyncio best practices 2026");
console.log(context);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