菜单

Google 提供者

相关源文件

本文档涵盖 g4f 系统中 Google AI 服务的集成,主要关注 Google Gemini 提供商的实现。Google 提供商通过基于网络的认证和 API 交互,使用户能够访问 Google 的 Gemini 模型。

有关其他 AI 提供商的信息,请参阅OpenAI 提供商Microsoft 提供商免费提供商。有关通用提供商架构概念,请参阅提供商系统

概述

g4f 中的 Google 提供商生态系统主要由 Gemini 类组成,该类通过 Google 的网页界面提供对 Gemini AI 模型的访问。与基于 API 的提供商不同,Google 的实现依赖于浏览器自动化和基于 cookie 的认证来与 Google 服务进行交互。

Gemini 提供商架构

来源:g4f/Provider/needs_auth/Gemini.py76-95

提供商实现

Gemini 类是 Google AI 服务的主要接口。它实现了复杂的认证、模型管理和请求处理功能。

核心提供商配置

提供商通过类变量维护会话状态,并支持自动刷新 cookie 以保持认证会话。

来源:g4f/Provider/needs_auth/Gemini.py76-104

认证系统

Gemini 提供商采用多层认证方法,结合了浏览器自动化、cookie 管理和自动刷新机制。

身份验证流程

认证系统依赖于 __Secure-1PSID cookie 作为主要认证令牌,并自动刷新 __Secure-1PSIDTS 令牌以保持会话有效性。

来源:g4f/Provider/needs_auth/Gemini.py106-146 g4f/Provider/needs_auth/Gemini.py465-494

模型支持

Gemini 提供商支持多种具有不同功能和配置的 Google AI 模型。每个模型都与特定的 API 请求头和参数相关联。

模型目的特殊请求头
gemini-2.5-pro-exp高级推理x-goog-ext-525001261-jspb: [1,null,null,null,"2525e3954d185b3c"]
gemini-2.5-flash快速响应x-goog-ext-525001261-jspb: [1,null,null,null,"35609594dbe934d8"]
gemini-2.0-flash-thinking-exp推理任务x-goog-ext-525001261-jspb: [1,null,null,null,"7ca48d02d802f20a"]
gemini-deep-research研究任务x-goog-ext-525001261-jspb: [1,null,null,null,"cd472a54d2abba7e"]
gemini-audio音频合成无特殊请求头

模型选择逻辑

来源:g4f/Provider/needs_auth/Gemini.py64-74 g4f/Provider/needs_auth/Gemini.py88-94

请求处理

核心请求处理通过 create_async_generator 方法处理文本生成、图片上传和对话管理。

请求处理流程

来源:g4f/Provider/needs_auth/Gemini.py148-315

媒体与文件处理

Gemini 提供商支持全面的媒体处理,包括图片上传和音频合成功能。

图片上传流程

音频合成 提供商通过 synthesize 方法支持文本转语音合成,该方法生成音频内容并将其保存到媒体目录中。

来源:g4f/Provider/needs_auth/Gemini.py165-174 g4f/Provider/needs_auth/Gemini.py317-347 g4f/Provider/needs_auth/Gemini.py379-411

提供商实现了复杂的 cookie 管理和自动刷新功能,以在长时间内保持认证会话。

Cookie 刷新系统

系统在 auth_Gemini.json 维护一个缓存文件,并实施了速率限制以避免触发 Google 的滥用检测机制。

来源:g4f/Provider/needs_auth/Gemini.py125-146 g4f/Provider/needs_auth/Gemini.py465-494

响应处理

提供商处理来自 Google API 的流式响应,处理各种响应类型,包括文本、图片、YouTube 视频和推理链。

处理的响应类型

  • 文本内容:带有 Markdown 格式的主要对话响应
  • 图片生成:由 Imagen 生成的带提示的图片
  • YouTube 集成:嵌入式 YouTube 视频 ID
  • 推理链:分步思考过程
  • 标题生成:自动对话标题
  • 对话状态:维护对话上下文

响应解析器处理复杂的 JSON 结构,并应用各种文本转换来适当地清理和格式化内容。

来源:g4f/Provider/needs_auth/Gemini.py235-315