本文档涵盖 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 视频和推理链。
处理的响应类型
响应解析器处理复杂的 JSON 结构,并应用各种文本转换来适当地清理和格式化内容。