GPT4Free本地部署实践:5分钟免费调用GPT-4级模型的完整教程
2026/8/24 3:42:02 网站建设 项目流程

GPT4Free本地部署实践:5分钟免费调用GPT-4级模型的完整教程

【免费下载链接】gpt4freeThe official gpt4free repository | various collection of powerful language models | opus 4.6 gpt 5.3 kimi 2.5 deepseek v3.2 gemini 3项目地址: https://gitcode.com/GitHub_Trending/gp/gpt4free

把大模型接到自己的项目里,官方 API 的按次计费往往是第一道门槛。GPT4Free(g4f)是一个聚合了数十个 LLM 与媒体生成供应商的开源项目,提供 OpenAI 兼容 API 和 Python 客户端,你可以在自己的环境里完成免费 AI 模型调用,不用按次付费,也不必绑定单一供应商。本文从 5 分钟本地部署讲起,一路讲到路由调优。

5分钟跑通:Docker 与 pip 两条最短路径 🚀

如果你不想配置 Python 环境,Docker 是最省事的方式。下面三条命令分别完成:创建持久化目录(存放 cookie 和生成的媒体文件)、拉取镜像、启动容器。

mkdir -p har_and_cookies generated_media docker pull hlohaus789/g4f docker run -p 8080:8080 --shm-size="2g" \ -v $(pwd)/har_and_cookies:/app/har_and_cookies \ -v $(pwd)/generated_media:/app/generated_media \ hlohaus789/g4f:latest

启动后在浏览器打开http://localhost:8080/chat/就能直接对话,8080 同时承载 Web 界面和 API 端口。

如果你是 Python 开发者,一条 pip 命令装好即可在代码里集成:

pip install -U g4f[all]

需要修改源码或贡献新供应商时,克隆仓库后按setup.py走本地安装:

git clone https://gitcode.com/GitHub_Trending/gp/gpt4free

五种典型场景:从文本对话到图片理解 🧩

用三行 Python 对话 GPT-4o

任何需要在脚本里调用大模型的场景,最基础的形态就是实例化客户端并发一条消息,不需要配置任何密钥:

from g4f.client import Client client = Client() response = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": "你好,请介绍一下你自己"}], ) print(response.choices[0].message.content)

预期效果:message.content输出一段类似 "Hello! How can I assist you today?" 的文本。g4f 会在当前可用的供应商里自动挑一个,你不需要知道请求最终发给了谁。

用流式输出生成长文

生成文章、代码这类长内容时,流式输出可以避免长时间空等,写法与 OpenAI SDK 的stream=True一致:

stream = client.chat.completions.create( model="gpt-4", messages=[{"role": "user", "content": question}], stream=True, ) for chunk in stream: if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="", flush=True)

预期效果:内容按 token 实时打印,像终端逐字输出;异步版本可用AsyncClient配合async for,参考 流式示例。

让模型看懂本地图片

截图分析、图表解读这类"把图给模型看再提问"的情况,把文件对象通过image参数传入即可:

import g4f client = Client() with open("cat.jpg", "rb") as f: response = client.chat.completions.create( model=g4f.models.default_vision, messages=[{"role": "user", "content": "这张图里有什么?"}], image=f, ) print(response.choices[0].message.content)

预期效果:输出对图片内容的文字描述。本地文件和网络 URL 两种传法都有现成写法,见 vision_images.py。

把 OpenAI 兼容 API 接入现有项目

项目里已经用 OpenAI SDK 写好的代码不用改请求逻辑,只需把base_url换成本地服务。先用模块方式启动 FastAPI 服务:

python -m g4f --port 8080 --debug

再在原有代码里替换连接地址:

from openai import OpenAI client = OpenAI(base_url="http://localhost:8080/v1", api_key="g4f") # 占位即可 response = client.chat.completions.create( model="deepseek-v3", messages=[{"role": "user", "content": "你好"}], )

预期效果:所有面向 OpenAI SDK 写的代码原样可用,/v1下提供 completions、images 等接口,/docs页面可以像 Swagger UI 一样在线调试。

给 AI 助手加上联网搜索与抓取

如果你在用支持 MCP(模型上下文协议)的客户端,比如 Claude Desktop,可以把 g4f 的 MCP 服务器挂上,让助手多出搜索、抓取、生图三种工具能力。HTTP 模式一条命令启动:

g4f mcp --http --port 8765

stdio 模式则把下面这段写进客户端的 MCP 配置(仓库里有示例文件):

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

预期效果:助手可以按需调用web_search(DuckDuckGo 搜索)、web_scrape(网页正文提取)和image_generation(Flux 生图),三个工具的完整调用演示见 mcp_tools_demo.py。

项目结构速览:g4f 内部有什么 🔍

  • g4f/Provider/:数十个供应商适配器,覆盖 HTTP API、浏览器自动化、本地推理三种形态,是模型可用性的来源
  • g4f/client/:同步Client与异步AsyncClient,接口面与 OpenAI SDK 对齐
  • g4f/api/:FastAPI 实现的 OpenAI 兼容 REST API,即上文提到的/v1服务
  • g4f/gui/:本地 Web 界面,Docker 部署后打开的聊天页面就是它
  • g4f/mcp/:MCP 服务器,把联网搜索、网页抓取、图片生成暴露为工具

实战避坑:四个最常见的问题 🛠️

问题一:请求偶发超时或 429/502

  • 症状:同一份请求有时成功有时失败,重试一下又好了。
  • 原因:免费端点普遍有频率限制和临时故障,默认路由打到繁忙供应商时就会失败。
  • 解法:内置的 RetryProvider 会在失败时自动轮换到下一个供应商;排查时也可以显式指定一个供应商,并给启动命令加--debug观察轮换日志:
import g4f client = Client(provider=g4f.Provider.DeepInfra)

问题二:浏览器类供应商直接报错

  • 症状:Copilot、Gemini CLI 这类供应商启动即异常。
  • 原因:它们依赖本地 Chrome/Chromium 做页面自动化,pip 装的环境里经常缺这个依赖。
  • 解法:先用which chromium || which google-chrome确认浏览器是否存在;没有就安装 Chromium,或改用纯 HTTP API 类供应商。Docker 镜像自带浏览器,这个问题基本只出现在 pip 环境。

问题三:昨天还好的模型今天 401 或返回空

  • 症状:依赖 cookie 的供应商突然返回 401 或空内容。
  • 原因:cookie / HAR 文件有有效期,过期后凭证失效。
  • 解法:用容器内置桌面(端口 7900)重新登录、导出新的 HAR 文件放进har_and_cookies目录,并定期备份该目录。排查时用ls -lt har_and_cookies/查看文件时间即可判断是否过期。

问题四:装完缺模型或缺功能

  • 症状:import g4f正常,但某个模型或媒体功能报缺少依赖。
  • 原因:默认安装只含核心依赖,可选功能依赖 extras 分组。
  • 解法:pip install -U g4f[all]补全依赖;想控制体积的话,对照 requirements.txt 与 requirements-slim.txt 只装需要的分组。

进阶调优:模型路由与部署方式选型 ⚙️

部署方式按你的角色选,不必都试:

部署方式适合谁优点注意点
Docker(推荐)服务器、非开发者环境隔离,自带 GUI 与浏览器需挂载两个持久化目录
pip installPython 开发者接入最快,方便扩展代码浏览器类供应商需自备 Chromium
Windows .exe 启动器桌面用户免 Python 环境依赖发布包更新

模型名不用死记,按任务类型选:

任务类型可传入的 model理由
日常问答、摘要gpt-4o-mini轻量、响应快
编程、推理deepseek-v3代码与推理表现好
长文、复杂指令gpt-4.1指令遵循稳定
图片生成flux配合client.images.generate使用

再往上一层是自定义路由:把config.yaml放进与 cookie 文件同目录(如./har_and_cookies/),就能定义"有余额优先走 A、否则兜底走 B"的命名模型,格式见 示例配置:

models: - name: "my-gpt4" providers: - provider: "OpenaiAccount" model: "gpt-4o" condition: "balance > 0 or error_count < 3" - provider: "PollinationsAI" model: "openai-large"

配置生效后,任何客户端传model="my-gpt4"即可,g4f 会按顺序试探每个供应商的余额与近期错误数。另外,arm64 机器或想控制镜像体积时,可以把镜像换成hlohaus789/g4f:latest-slim,它会在启动时自动更新 g4f 包并补齐缺失依赖。

上线前检查清单 ✅

  • Docker 容器已启动,http://localhost:8080/chat/能打开并完成一次对话
  • pip 环境执行过pip install -U g4f[all],且三行客户端示例能打印出回复
  • har_and_cookiesgenerated_media两个目录已挂载到宿主机,方便备份
  • 跑过流式输出与图片理解示例,确认目标场景真实可用
  • 若持有自己的 API key 或账号,已用config.yaml写好一条路由规则

更多供应商细节与 API 参数见 docs/ 与 示例代码目录;遇到问题可到项目 Issue 区提问,也欢迎提交新供应商实现的 PR。

【免费下载链接】gpt4freeThe official gpt4free repository | various collection of powerful language models | opus 4.6 gpt 5.3 kimi 2.5 deepseek v3.2 gemini 3项目地址: https://gitcode.com/GitHub_Trending/gp/gpt4free

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询