ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ajouter un repli de recherche lorsque Gemini refuse de chercher
Tutoriel

Comment ajouter un repli de recherche lorsque Gemini refuse de chercher

Détecter les échecs de grounding google_search de Gemini et rediriger vers l'API Scavio comme solution de repli. Corrige le bug de réponse vide d'avril 2026.

Obtenez une clé API gratuiteDocumentation API

Depuis avril 2026, Gemini 2.0 Flash présente un bug intermittent : le grounding google_search renvoie des résultats vides ou refuse de se déclencher. La régression du grounding d'image de mars 2026 a aggravé le problème. Flash n'invoque pas la recherche de manière fiable, surtout lorsque des outils externes sont également enregistrés. Ce tutoriel construit une couche de détection et de repli pour que votre agent obtienne toujours des résultats de recherche.

Prérequis

  • Identifiants Google AI Studio ou Vertex AI
  • Clé API Scavio
  • Python 3.8+

Parcours

Étape 1: Appeler Gemini avec le grounding google_search

Configurer l'appel Gemini standard avec le grounding activé.

Python
import google.generativeai as genai
import os

genai.configure(api_key=os.environ['GEMINI_API_KEY'])
model = genai.GenerativeModel('gemini-2.0-flash',
    tools=[genai.Tool(google_search=genai.GoogleSearch())])

def gemini_search(query):
    response = model.generate_content(query)
    return response

Étape 2: Détecter les résultats de recherche vides ou échoués

Vérifier si Gemini a effectué un appel de grounding de recherche. Le bug d'avril 2026 renvoie des candidats sans métadonnées de grounding.

Python
def search_failed(response):
    # No grounding metadata = search did not trigger
    if not hasattr(response, 'candidates') or not response.candidates:
        return True
    candidate = response.candidates[0]
    grounding = getattr(candidate, 'grounding_metadata', None)
    if not grounding or not grounding.grounding_chunks:
        return True
    # Empty chunks = search triggered but returned nothing
    return len(grounding.grounding_chunks) == 0

Étape 3: Rediriger vers Scavio en cas d'échec

Lorsque la recherche Gemini échoue, extraire la requête et appeler Scavio.

Python
import requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def search_with_fallback(query):
    response = gemini_search(query)
    if search_failed(response):
        results = requests.post('https://api.scavio.dev/api/v1/search',
            headers=H,
            json={'platform': 'google', 'query': query}).json()
        return {'source': 'scavio', 'results': results}
    return {'source': 'gemini', 'response': response}

Étape 4: Enregistrer les taux d'échec pour le suivi

Suivre la fréquence des échecs de recherche Gemini pour savoir quand Google corrige le bug.

Python
import json, datetime

def log_search_event(query, source, failed):
    with open('search_fallback_log.jsonl', 'a') as f:
        f.write(json.dumps({
            'ts': datetime.datetime.now().isoformat(),
            'query': query, 'source': source, 'gemini_failed': failed
        }) + '\n')

Exemple Python

Python
import os, requests
import google.generativeai as genai

genai.configure(api_key=os.environ['GEMINI_API_KEY'])
model = genai.GenerativeModel('gemini-2.0-flash',
    tools=[genai.Tool(google_search=genai.GoogleSearch())])
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def search(query):
    resp = model.generate_content(query)
    grounding = getattr(resp.candidates[0], 'grounding_metadata', None) if resp.candidates else None
    if not grounding or not grounding.grounding_chunks:
        return requests.post('https://api.scavio.dev/api/v1/search',
            headers=H, json={'platform': 'google', 'query': query}).json()
    return resp

Exemple JavaScript

JavaScript
const res = 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: userQuery})
});
const fallbackResults = await res.json();

Sortie attendue

JSON
Agent that always returns search results: Gemini grounding when it works, Scavio API when Gemini fails. JSONL log of failure rates for monitoring.

Tutoriels associés

  • Comment ajouter Tavily ou Scavio comme recherche de secours pour les workflows Gemini
  • Comment remplacer Tavily par Scavio (Guide de migration)

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.

Identifiants Google AI Studio ou Vertex AI. Clé API Scavio. Python 3.8+. 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 comme sauvegarde du grounding Gemini (2026)

Read more
Best Of

Meilleures API de recherche après les changements du mode IA de Google I/O 2026

Read more
Solution

Basculement de l'agent en cas d'échec de la recherche Gemini

Read more
Workflow

Workflow de repli de la recherche Gemini

Read more
Glossary

Gemini Search Grounding

Read more
Use Case

RAG Grounding après Google I/O 2026

Read more

Commencer

Détecter les échecs de grounding google_search de Gemini et rediriger vers l'API Scavio comme solution de repli. Corrige le bug de réponse vide d'avril 2026.

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é