gpt4free:基于多提供商的LLM与媒体生成工具项目

The official gpt4free repository | various collection of powerful language models | opus 4.6 gpt 5.3 kimi 2.5 deepseek v3.2 gemini 3

分支39Tags537
当前项目代码仓暂无内容

GPT4Free (g4f)

PyPI Docker Hub License: GPL v3 PyPI Downloads GitHub Repo stars

1000066442

@xtekky 创建,
@hlohaus 维护

在以下平台支持本项目 GitHub 赞助 ❤️

实时演示和文档:https://g4f.dev | 文档:https://g4f.dev/docs


GPT4Free (g4f) 是一个社区驱动的项目,它整合了多个可访问的提供商和接口,旨在让现代大型语言模型(LLM)和媒体生成模型的使用更加便捷灵活。GPT4Free 致力于提供多提供商支持、本地图形用户界面(GUI)、与 OpenAI 兼容的 REST API,以及便捷的 Python 和 JavaScript 客户端——所有这些都在社区优先的许可下提供。

本 README 是一份综合、改进且完整的指南,涵盖了 GPT4Free 的安装、运行和贡献方法。

目录


包含内容

  • Python 客户端库和异步客户端。
  • 可选的本地 Web GUI。
  • 基于 FastAPI 的 OpenAI 兼容 API(Interference API)。
  • 官方浏览器 JS 客户端(g4f.dev 发行版)。
  • Docker 镜像(完整版和精简版)。
  • 多提供商适配器(LLM、媒体提供商、本地推理后端)。
  • 用于图像/音频/视频生成和媒体持久化的工具。

快速链接


要求与兼容性

  • 建议使用 Python 3.10 或更高版本。
  • 对于使用浏览器自动化的提供商,需安装 Google Chrome/Chromium。
  • 容器化部署需使用 Docker。
  • 支持 x86_64 和 arm64 架构(精简版镜像同时支持两者)。
  • 部分提供商适配器可能需要特定平台的工具(如 Chrome/Chromium 等)。详情请查看提供商文档。

安装

Docker(推荐)

  1. 安装 Docker:https://docs.docker.com/get-docker/
  2. 创建持久化目录:
    • 示例(Linux/macOS):
      mkdir -p ${PWD}/har_and_cookies ${PWD}/generated_media
      sudo chown -R 1200:1201 ${PWD}/har_and_cookies ${PWD}/generated_media
      
  3. 拉取镜像:
    docker pull hlohaus789/g4f
    
  4. 运行容器:
    docker run -p 8080:8080 -p 7900:7900 \
      --shm-size="2g" \
      -v ${PWD}/har_and_cookies:/app/har_and_cookies \
      -v ${PWD}/generated_media:/app/generated_media \
      hlohaus789/g4f:latest
    

注意事项:

  • 8080 端口用于提供 GUI/API 服务;7900 端口可用于暴露类似 VNC 的桌面环境,以便提供商登录(可选)。
  • 对于较繁重的浏览器自动化任务,请增大 --shm-size 的值。

精简版 Docker 镜像(x64 & arm64)

mkdir -p ${PWD}/har_and_cookies ${PWD}/generated_media
chown -R 1000:1000 ${PWD}/har_and_cookies ${PWD}/generated_media

docker run \
  -p 1337:8080 -p 8080:8080 \
  -v ${PWD}/har_and_cookies:/app/har_and_cookies \
  -v ${PWD}/generated_media:/app/generated_media \
  hlohaus789/g4f:latest-slim

注意事项:

  • 精简镜像可在启动时更新 g4f 包,并根据需要安装额外依赖。
  • 本示例中,Interference API 映射至端口 1337。

Windows 系统指南(.exe 文件)

👉 查看适用于 GPT4Free 的 Windows 启动器:
🔗 https://github.com/gpt4free/g4f.exe 🚀

  1. 从以下链接下载发布产物 g4f.exe.ziphttps://github.com/xtekky/gpt4free/releases/latest
  2. 解压缩并运行 g4f.exe
  3. 在浏览器中打开图形界面:http://localhost:8080/chat/
  4. 若 Windows 防火墙阻止访问,请允许该应用程序通过。

Python 安装(pip / 源码安装 / 部分安装)

前置要求:

通过 PyPI 安装(推荐):

pip install -U g4f[all]

部分安装

  • 如需仅安装特定功能,请使用可选的附加组件组。详见项目文档中的 docs/requirements.md。

从源代码安装:

git clone https://github.com/xtekky/gpt4free.git
cd gpt4free
pip install -r requirements.txt
pip install -e .

注意:

  • 部分功能需要 Chrome/Chromium 或其他工具;请参考各服务提供商的文档。

运行应用

图形用户界面(网页客户端)

  • 通过 Python 运行:
from g4f.gui import run_gui
run_gui()
  • 或通过 CLI:
python -m g4f.cli gui --port 8080 --debug

FastAPI / 推理 API

  • 启动 FastAPI 服务器:
python -m g4f --port 8080 --debug
  • 若使用精简 Docker 映射,Interference API 可能在 http://localhost:1337/v1 可用
  • Swagger UI:http://localhost:1337/docs

命令行界面

  • 启动图形用户界面服务器:
python -m g4f.cli gui --port 8080 --debug

MCP 服务器

GPT4Free 现已集成模型上下文协议(MCP)服务器,该服务器允许 Claude 等 AI 助手访问网络搜索、网页抓取和图像生成功能。

启动 MCP 服务器(标准输入输出模式):

# Using g4f command
g4f mcp

# Or using Python module
python -m g4f.mcp

启动 MCP 服务器(HTTP 模式):

# Start HTTP server on port 8765
g4f mcp --http --port 8765

# Custom host and port
g4f mcp --http --host 127.0.0.1 --port 3000

HTTP 模式提供:

  • POST http://localhost:8765/mcp - JSON-RPC 端点
  • GET http://localhost:8765/health - 健康检查

使用 Claude Desktop 进行配置:

添加到您的 claude_desktop_config.json

{
  "mcpServers": {
    "gpt4free": {
      "command": "python",
      "args": ["-m", "g4f.mcp"]
    }
  }
}

可用的 MCP 工具:

  • web_search - 使用 DuckDuckGo 进行网络搜索
  • web_scrape - 从网页中提取文本内容
  • image_generation - 根据文本提示生成图像

有关详细的 MCP 文档,请参见 g4f/mcp/README.md

可选的提供商登录(容器内桌面)

  • 访问地址:
    http://localhost:7900/?autoconnect=1&resize=scale&password=secret
    
  • 用于登录基于网络的提供商以获取 cookies/HAR 文件。

使用 Python 客户端

安装:

pip install -U g4f[all]

同步文本示例:

from g4f.client import Client

client = Client()
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello, how are you?"}],
    web_search=False
)
print(response.choices[0].message.content)

预期:

Hello! How can I assist you today?

图像生成示例:

from g4f.client import Client

client = Client()
response = client.images.generate(
    model="flux",
    prompt="a white siamese cat",
    response_format="url"
)
print(f"Generated image URL: {response.data[0].url}")

异步客户端示例:

from g4f.client import AsyncClient
import asyncio

async def main():
    client = AsyncClient()
    response = await client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": "Explain quantum computing briefly"}],
    )
    print(response.choices[0].message.content)

asyncio.run(main())

注意:


使用 GPT4Free.js(浏览器 JS 客户端)

在浏览器中使用官方 JS 客户端,无需后端支持。

示例:

<script type="module">
  import Client from 'https://g4f.dev/dist/js/client.js';

  const client = new Client();
  const result = await client.chat.completions.create({
      model: 'gpt-4.1',  // Or "gpt-4o", "deepseek-v3", etc.
      messages: [{ role: 'user', content: 'Explain quantum computing' }]
  });
  console.log(result.choices[0].message.content);
</script>

注意事项:

  • JS 客户端通过 g4f.dev CDN 分发,方便使用。使用时请留意跨域资源共享(CORS)相关问题及使用限制。

服务提供商与模型(概览)

  • GPT4Free 整合了众多服务提供商,包括(但不限于)OpenAI 兼容端点、PerplexityLabs、Gemini、MetaAI、Pollinations(媒体生成)以及本地推理后端。
  • 模型的可用性和行为取决于服务提供商的能力。有关当前支持的服务提供商/模型列表,请参阅服务提供商文档:https://g4f.dev/docs/providers-and-models

服务提供商可能有以下要求:

  • API 密钥或令牌(适用于需要身份验证的服务提供商)
  • 浏览器 Cookie / HAR 文件(适用于通过浏览器自动化进行抓取的服务提供商)
  • Chrome/Chromium 浏览器或无头浏览器工具
  • 本地模型二进制文件和运行时环境(适用于本地推理)

本地推理与媒体生成

  • GPT4Free 支持本地推理后端。有关支持的运行时环境和硬件指导,请参阅 docs/local.md
  • 通过服务提供商(如 Pollinations)支持媒体生成(图像、音频、视频)。有关格式、选项和使用示例,请参阅 docs/media.md

配置与自定义

  • 可通过环境变量、命令行界面(CLI)标志或配置文件进行配置。详情请见 docs/config.md
  • 如需减小安装体积,可使用部分依赖项组。详情请见 docs/requirements.md
  • 服务提供商选择:了解如何设置默认服务提供商以及如何按请求覆盖默认设置,请参阅 docs/selecting_a_provider.md
  • 数据持久化:HAR 文件、Cookie 和生成的媒体文件将保存在映射目录中(例如 har_and_cookies、generated_media)。

在智能手机上运行

  • Web GUI 具有响应式设计,可通过手机访问主机 IP:8080 或通过隧道进行访问。详情请见 docs/guides/phone.md

干扰 API(兼容 OpenAI)

  • 干扰 API 支持类 OpenAI 工作流,并通过 GPT4Free 提供程序选择进行路由。
  • 文档:docs/interference-api.md
  • 默认端点(示例精简版 Docker):http://localhost:1337/v1
  • Swagger UI:http://localhost:1337/docs

示例与常见模式


贡献指南

欢迎贡献 —— 新的提供程序、功能、文档和修复均会受到重视。

贡献步骤:

  1. Fork 本仓库。
  2. 为您的更改创建一个分支。
  3. 运行测试和代码检查工具。
  4. 提交 Pull Request,并附上清晰的描述,如适用请包含测试/示例。

仓库地址:https://github.com/xtekky/gpt4free

如何创建新的提供程序

  • 阅读指南:docs/guides/create_provider.md
  • 典型步骤:
    • g4f/Provider/ 目录中实现提供程序适配器
    • 添加配置和依赖项说明
    • 包含测试和使用示例
    • 尊重第三方代码许可,并适当注明出处

人工智能如何协助您编写代码


安全、隐私与下架政策

  • 请勿存储或分享敏感凭据。请遵循各提供程序推荐的安全实践。
  • 如果您的网站出现在本项目的链接中,且您希望将其移除,请向 takedown@g4f.ai 发送所有权证明,我们将立即予以移除。
  • 对于生产环境,请通过 HTTPS、身份验证和防火墙规则保护服务器。限制对提供程序凭据以及 Cookie/HAR 存储的访问。

致谢、贡献者与归属说明

更多贡献者在仓库中均有鸣谢。


支持项目亮点


更新日志与版本发布


宣言/项目原则

GPT4Free遵循社区原则:

  1. 开放获取AI工具与模型。
  2. 跨提供商与项目的协作。
  3. 反对限制创造力的垄断性、封闭系统。
  4. 以社区为中心的开发,确保AI技术的广泛获取。
  5. 促进创新、创造力与可及性。

https://g4f.dev/manifesto


许可证

本程序采用GNU通用公共许可证v3.0(GPLv3)授权。完整许可证参见:https://www.gnu.org/licenses/gpl-3.0.txt

概要:

  • 您可在GPLv3条款下重新分发和/或修改本程序。
  • 本程序不提供任何明示或暗示的担保。

版权声明

xtekky/gpt4free: Copyright (C) 2025 xtekky

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

联系与赞助


附录:快速命令与示例

安装(pip):

pip install -U g4f[all]

运行图形用户界面(Python):

python -m g4f.cli gui --port 8080 --debug
# or
python -c "from g4f.gui import run_gui; run_gui()"

Docker(完整版):

docker pull hlohaus789/g4f
docker run -p 8080:8080 -p 7900:7900 \
  --shm-size="2g" \
  -v ${PWD}/har_and_cookies:/app/har_and_cookies \
  -v ${PWD}/generated_media:/app/generated_media \
  hlohaus789/g4f:latest

Docker(精简版):

docker run -p 1337:8080 -p 8080:8080 \
  -v ${PWD}/har_and_cookies:/app/har_and_cookies \
  -v ${PWD}/generated_media:/app/generated_media \
  hlohaus789/g4f:latest-slim

Python 使用模式:

  • client.chat.completions.create(...)
  • client.images.generate(...)
  • 通过 AsyncClient 实现的异步变体

文档与深入阅读


感谢您使用并为 GPT4Free 贡献力量——我们携手让强大的 AI 工具变得触手可及、灵活易用且由社区共同驱动。