在群晖上安装GPT4Free

什么是 GPT4Free ?

GPT4Free 简称 G4F,是一个强大的大型语言模型命令行界面(LLM-CLI),旨在去中心化并提供免费访问先进人工智能技术的能力。G4F 的目标是通过提供用户友好和高效的工具,使人工智能民主化,并与最先进的语言模型进行交互。

GPT4Free 是一个通过逆向工程,调用第三方 ChatGPT 网站的 API 项目,让 OpenAI API 误以为它是从拥有已付费 OpenAI账户的网站(如搜索引擎 You.comWriteSonicQuoraPoe )发出的请求,从而达到使任何人都可以免费访问 GPT-4GPT-3.5 模型的目的。

OpenAI 曾要求下架免费 GPT4Free 项目,但一年过去了,目前这个项目还在 github

GPT4Free 是作为 PoC(概念验证),演示了具有多提供商请求的 API 包的开发,具有超时、负载平衡和流量控制等功能。

主要特征

  • 去中心化的AI访问G4F 提供免费访问先进语言模型的能力,促进 了AI 技术的民主化。
  • 多供应商支持G4F 与多个 AI 供应商无缝集成,确保可靠、高效的性能。
  • 稳健的架构G4F 的架构融合了超时、负载平衡和流量控制,以实现最佳性能和稳定性。
  • 用户友好的界面G4F 提供直观的命令行界面,使用户可以轻松地与语言模型进行交互。
  • 详尽的文档:提供全面的指南、教程和 API 参考,帮助您充分利用 G4F 的功能。

该项目仅用于教育目的。在使用前,请阅读官方的法律申明:https://github.com/xtekky/gpt4free/blob/main/LEGAL_NOTICE.md

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 g4f ,选择第一个 hlohaus789/g4f,版本选择 latest

本文写作时, latest 版本对应为 0.2.8.2

常规设置

勾选 启用资源限制

  • CPU 优先顺序设为默认的
  • 内存限制设置为 2048

docker 文件夹中,创建一个新文件夹 gpt4free,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/gpt4free/data /app/hardir 存放导出的 .har 文件

.har 文件的生成,请看官方文档:https://github.com/xtekky/gpt4free#har-file-for-openaichat-provider

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口 说明
1336 8080 web client 端口
1337 1337 API 端口
7900 7900 vnc 端口

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 gpt4free 和 子目录
mkdir -p /volume1/docker/gpt4free/data

# 进入 gpt4free 目录
cd /volume1/docker/gpt4free

# 运行容器
docker run -d \
--restart unless-stopped \
--name gpt4free \
--shm-size="2g" \
-p 1336:8080 \
-p 1337:1337 \
-p 7900:7900 \
-v $(pwd)/data:/app/hardir \
hlohaus789/g4f:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'

services:
gpt4free:
image: hlohaus789/g4f:latest
container_name: gpt4free
shm_size: 2gb
volumes:
- ./data:/app/hardir
ports:
- '1336:8080'
- '1337:1337'
- '7900:7900'

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 gpt4free 和 子目录
mkdir -p /volume1/docker/gpt4free/data

# 进入 gpt4free 目录
cd /volume1/docker/gpt4free

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

聊天

启动会有一个过程,日志中看到下面的内容就可以开始访问了

在浏览器中输入 http://群晖IP:1136 就能看到内置客户端的聊天界面

下方是设置模型和服务商的

  • Model :支持的模型列表

  • Provider :支持的供应商列表

更详细的信息,请参考官方文档:https://github.com/xtekky/gpt4free#-providers-and-models

  • Web Access :指联网,也就是具备互联网访问能力
  • Disable History:禁用历史记录

开始用的 Model:Default

后来切换到 gpt-4

换个问题 https://laosu.tech 主要是介绍哪方面的内容?

切换到 llama2-70b

API

在浏览器中输入 http://群晖IP:1337 会看到一行字

可以继续访问 http://群晖IP1337/v1/chat/completions

http://群晖IP:1337/v1/models

还是以 ChatGPT-Next-Web,修改 BASE_URL

服务名称 服务地址
FreeGPT35 http://192.168.0.197:3044
aurora http://192.168.0.197:8328
GPT4Free http://192.168.0.197:1337

CUSTOM_MODELS 改为了 +all

可以在 设置 –> 模型 中看到支持的模型

可惜触发了 ERROR:root:Response 403: Cloudflare detected,没能成功聊天

VNC

在浏览器中输入 http://群晖IP:7900

需要密码访问

默认的密码为 secret

如果不想麻烦,可以把密码传进去,直接访问 http://群晖IP:7900/?autoconnect=1&resize=scale&password=secret

参考文档

xtekky/gpt4free: decentralising the Ai Industry, just some language model api’s…
地址:https://github.com/xtekky/gpt4free

g4f.ai
地址:https://g4f.ai/