ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ajouter Tavily ou Scavio comme recherche de secours pour les workflows Gemini
Tutoriel

Comment ajouter Tavily ou Scavio comme recherche de secours pour les workflows Gemini

Ajoutez Tavily ou Scavio comme recherche de secours lorsque la recherche intégrée de Gemini échoue ou renvoie une réponse vide. Corrige les problèmes de grounding de Gemini 2026.

Obtenez une clé API gratuiteDocumentation API

Depuis début 2026, Gemini rencontre plusieurs problèmes de grounding de recherche : le bug de réponse vide du 8 avril avec 2.0 Flash google_search, la régression de grounding d'image du 3 mars, et le fait que Flash ne déclenche pas la recherche de manière fiable lorsque des outils externes sont enregistrés. Gemini 3 Pro s'est amélioré mais n'est pas à l'abri. Ce tutoriel ajoute une couche de recherche de secours utilisant des API externes.

Prérequis

  • Accès à l'API Gemini
  • Clé API Scavio
  • Facultatif : clé API Tavily
  • Python 3.8+

Parcours

Étape 1: Détecter les modes de défaillance de la recherche Gemini

Identifier les schémas de défaillance spécifiques.

Python
def detect_gemini_failure(response):
    # Mode 1: No candidates at all
    if not response.candidates:
        return 'no_candidates'
    candidate = response.candidates[0]
    # Mode 2: No grounding metadata (search did not trigger)
    grounding = getattr(candidate, 'grounding_metadata', None)
    if not grounding:
        return 'no_grounding'
    # Mode 3: Empty grounding chunks (April 2026 bug)
    if not grounding.grounding_chunks:
        return 'empty_chunks'
    # Mode 4: Grounding present but no search queries logged
    if not grounding.search_entry_point:
        return 'no_search_queries'
    return None  # Search worked

Étape 2: Construire la fonction de recherche de secours

Appeler Scavio lorsque Gemini échoue. Tavily (0,008 $/crédit) fonctionne également comme solution de secours.

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

def backup_search(query, provider='scavio'):
    if provider == 'scavio':
        # $0.005 per search
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=H,
            json={'platform': 'google', 'query': query}).json()
        return data.get('organic_results', [])
    elif provider == 'tavily':
        # $0.008 per credit (Nebius-owned since Feb 2026)
        data = requests.post('https://api.tavily.com/search',
            json={'api_key': os.environ.get('TAVILY_API_KEY', ''),
                  'query': query}).json()
        return data.get('results', [])

Étape 3: Intégrer la recherche de secours dans le workflow Gemini

Envelopper votre appel Gemini avec une sauvegarde automatique.

Python
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())])

def gemini_with_backup(query):
    response = model.generate_content(query)
    failure = detect_gemini_failure(response)
    if failure:
        print(f'Gemini search failed: {failure}. Using backup.')
        backup_results = backup_search(query)
        # Re-query Gemini with search results injected
        augmented = f'Based on these search results, answer: {query}\n\nResults: {backup_results}'
        return model.generate_content(augmented)
    return response

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

Suivre quels modes de défaillance se produisent le plus souvent.

Python
import json, datetime
failure_log = []

def log_failure(query, failure_mode, backup_provider):
    entry = {'ts': datetime.datetime.now().isoformat(), 'query': query,
             'failure_mode': failure_mode, 'backup': backup_provider}
    with open('gemini_failures.jsonl', 'a') as f:
        f.write(json.dumps(entry) + '\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)
    g = getattr(resp.candidates[0], 'grounding_metadata', None) if resp.candidates else None
    if not g or not g.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
// When Gemini fails, fallback to Scavio:
const backup = 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})
}).then(r => r.json());

Sortie attendue

JSON
Gemini workflow with automatic backup search. Detects 4 failure modes (no candidates, no grounding, empty chunks, no search queries). Falls back to Scavio ($0.005) or Tavily ($0.008).

Tutoriels associés

  • Comment ajouter un repli de recherche lorsque Gemini refuse de chercher
  • Comment construire un routeur de recherche multi-fournisseur avec repli

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.

Accès à l'API Gemini. Clé API Scavio. Facultatif : clé API Tavily. 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
Solution

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

Read more
Use Case

Gemini vs Fiabilité des API de recherche

Read more
Best Of

Meilleures alternatives lorsque la recherche Gemini échoue (2026)

Read more
Use Case

Agent de sauvegarde de recherche Gemini

Read more
Comparison

Gemini Built-in Search Grounding vs Tavily

Read more

Commencer

Ajoutez Tavily ou Scavio comme recherche de secours lorsque la recherche intégrée de Gemini échoue ou renvoie une réponse vide. Corrige les problèmes de grounding de Gemini 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é