ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 当 Gemini 拒绝搜索时如何添加搜索回退
教程

当 Gemini 拒绝搜索时如何添加搜索回退

检测 Gemini google_search 接地故障并路由至 Scavio API 作为后备。修复了 2026 年 4 月的空响应错误。

获取免费API密钥API文档

自 2026 年 4 月起,Gemini 2.0 Flash 出现间歇性错误:google_search 接地返回空结果或完全拒绝触发。 2026 年 3 月的图像接地回归使情况变得更糟。 Flash 无法可靠地调用搜索,尤其是当外部工具也已注册时。本教程构建了一个检测和回退层,以便您的代理始终获得搜索结果。

前置条件

  • Google AI Studio 或 Vertex AI 凭据
  • Scavio API 密钥
  • Python 3.8+

操作指南

步骤 1: 通过 google_search 接地呼叫 Gemini

设置启用接地的标准 Gemini 呼叫。

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

步骤 2: 检测空的或失败的搜索结果

检查双子座是否确实执行了搜索接地呼叫。 2026 年 4 月的错误返回的候选人没有基础元数据。

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

步骤 3: 失败时路由至 Scavio

当 Gemini 搜索失败时,提取查询并调用 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}

步骤 4: 用于监控的日志失败率

跟踪 Gemini 搜索失败的频率,以便您知道 Google 何时修复该错误。

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')

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

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();

预期输出

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

相关教程

  • 如何添加 Tavily 或 Scavio 作为 Gemini 工作流程的备份搜索
  • 如何用 Scavio 替换 Tavily(迁移指南)

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

Google AI Studio 或 Vertex AI 凭据. Scavio API 密钥. Python 3.8+. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Best Of

Google I/O 2026 AI模式变化后最佳搜索API

Read more
Best Of

2026年最佳Google Search API

Read more
Glossary

搜索 API 供应商格局(2026)

Read more
Glossary

免费搜索API层级对比

Read more
Solution

用Scavio API替代Google Programmable Search Engine

Read more
Solution

从 Brave Search API 迁移到 Scavio 获得更好覆盖

Read more

开始构建

检测 Gemini google_search 接地故障并路由至 Scavio API 作为后备。修复了 2026 年 4 月的空响应错误。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策