本文档介绍 g4f 系统中需要认证才能访问其 AI 服务的提供者。这些提供者通常与需要 API 密钥、账户凭证或会话令牌的商业 API 进行交互。对于不需要认证的免费提供者,请参阅免费提供者。有关通用提供者系统架构,请参阅提供者系统。
g4f 中的已认证提供者是需要某种形式的认证才能访问其 API 的 AI 服务集成。与免费提供者不同,它们通常提供更可靠的服务、更高的速率限制以及对高级模型的访问。系统支持多种认证方法,包括 API 密钥、浏览器会话 Cookie 和 HAR 文件提取。
所有已认证提供者都位于 g4f/Provider/needs_auth/ 目录中,并继承自提供认证能力的基础类。它们设置 needs_auth = True 属性以指示其认证要求。
提供者继承结构
来源: g4f/Provider/needs_auth/__init__.py1-32 g4f/Provider/needs_auth/OpenaiAPI.py5-11 g4f/Provider/needs_auth/Groq.py5-11 g4f/Provider/needs_auth/Cerebras.py10-16
大多数已认证提供者定义了一些标准属性
| 属性 | 目的 | 示例 |
|---|---|---|
label | 人类可读的名称 | "OpenAI API" |
url | 主要服务 URL | "https://platform.openai.com" |
login_url | 认证/注册 URL | "https://platform.openai.com/settings/organization/api-keys" |
api_base | API 端点基础 URL | "https://api.openai.com/v1" |
working | 服务可用性状态 | True |
needs_auth | 认证要求标志 | True |
default_model | 要使用的默认模型 | "gpt-3.5-turbo" |
模型 | 支持的模型列表 | ["gpt-3.5-turbo", "gpt-4"] |
来源: g4f/Provider/needs_auth/OpenaiAPI.py6-11 g4f/Provider/needs_auth/Groq.py6-11 g4f/Provider/needs_auth/DeepInfra.py11-18
最常见的认证方法是使用通过 HTTP 请求头或请求参数传递的 API 密钥。
API 密钥认证流程
API 密钥提供者示例包括
OpenaiAPI:使用 OpenAI 的 API 密钥系统Groq:使用 Groq 控制台 API 密钥DeepInfra:支持可选的 API 密钥,并可回退到匿名访问PerplexityApi:使用 Perplexity API 密钥来源: g4f/Provider/needs_auth/OpenaiAPI.py5-11 g4f/Provider/needs_auth/Groq.py5-11 g4f/Provider/needs_auth/DeepInfra.py110-111 g4f/Provider/needs_auth/PerplexityApi.py5-11
有些提供者使用浏览器会话、Cookie 或基于账户的认证,而不是 API 密钥。
基于会话的认证方法
Cerebras 提供者展示了混合认证,同时支持 API 密钥和浏览器会话
来源: g4f/Provider/needs_auth/Cerebras.py25-52
认证凭证可以通过多种方法配置
OPENAI_API_KEY、GROQ_API_KEY 等。许多提供者继承自 OpenaiTemplate 并遵循 OpenAI 的 API 规范
OpenAI 兼容提供者架构
来源: g4f/Provider/needs_auth/OpenaiAPI.py5 g4f/Provider/needs_auth/Groq.py5 g4f/Provider/needs_auth/DeepInfra.py10 g4f/Provider/needs_auth/ThebApi.py22
一些提供者同时支持文本和图像生成能力
DeepInfra 提供者通过检查模型类型并适当路由请求来展示多模态支持。
来源: g4f/Provider/needs_auth/DeepInfra.py20-44 g4f/Provider/needs_auth/DeepInfra.py56-63 g4f/Provider/needs_auth/DeepInfra.py83-127
需要完整账户认证而不仅仅是 API 密钥的提供者
CopilotAccount:通过账户登录的 Microsoft CopilotMetaAIAccount:通过 Facebook 账户的 Meta AIOpenaiAccount:通过 ChatGPT 账户登录的 OpenAIGeminiPro:通过 Google 账户的 Google Gemini这些提供者通常使用浏览器自动化或 HAR 文件提取来进行认证。
来源: g4f/Provider/needs_auth/__init__.py6 g4f/Provider/needs_auth/__init__.py20 g4f/Provider/needs_auth/__init__.py22 g4f/Provider/needs_auth/__init__.py13
已认证提供者通常定义了详细的模型列表和别名
Groq 提供者展示了全面的模型管理,包括备用模型和别名。
来源: g4f/Provider/needs_auth/Groq.py11-32
ThebApi 提供者展示了用户友好名称和 API 标识符之间的模型映射。
来源: g4f/Provider/needs_auth/ThebApi.py7-20 g4f/Provider/needs_auth/ThebApi.py30-31
一些提供者从服务 API 动态获取其模型列表
DeepInfra 提供者查询特色模型端点以构建其模型目录。
来源: g4f/Provider/needs_auth/DeepInfra.py21-38
所有已认证提供者都注册在主提供者注册表中,可通过 g4f.Provider.needs_auth 模块访问。
来源: g4f/Provider/needs_auth/__init__.py1-32
完整列表包括 31 个已认证提供者,涵盖了主要的 AI 服务,如 OpenAI、Anthropic、Google、Microsoft、Meta,以及许多用于特定用例(如图像生成、代码补全和研究模型)的专业提供者。