在群晖上安装GPT4Free

什么是 GPT4Free ?
GPT4Free简称G4F,是一个强大的大型语言模型命令行界面(LLM-CLI),旨在去中心化并提供免费访问先进人工智能技术的能力。G4F的目标是通过提供用户友好和高效的工具,使人工智能民主化,并与最先进的语言模型进行交互。
GPT4Free 是一个通过逆向工程,调用第三方 ChatGPT 网站的 API 项目,让 OpenAI API 误以为它是从拥有已付费 OpenAI账户的网站(如搜索引擎 You.com、WriteSonic 或 Quora 的 Poe )发出的请求,从而达到使任何人都可以免费访问 GPT-4 和 GPT-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

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 | 说明 |
|---|---|---|
1336 | 8080 | web client 端口 |
1337 | 1337 | API 端口 |
7900 | 7900 | vnc 端口 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 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 文件
version: '3'services:gpt4free:image: hlohaus789/g4f:latestcontainer_name: gpt4freeshm_size: 2gbvolumes:- ./data:/app/hardirports:- '1336:8080'- '1337:1337'- '7900:7900'
然后执行下面的命令
# 新建文件夹 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/
相关文章:
在群晖上安装GPT4Free
什么是 GPT4Free ? GPT4Free 简称 G4F,是一个强大的大型语言模型命令行界面(LLM-CLI),旨在去中心化并提供免费访问先进人工智能技术的能力。G4F 的目标是通过提供用户友好和高效的工具,使人工智能民主化&am…...
C# 语言类型(四)—传递参数及其修饰符
总目录 C# 语法总目录 参考链接: C#语法系列:C# 语言类型(一)—预定义类型值之数值类型 C#语法系列:C# 语言类型(二)—预定义类型之字符串及字符类型简述 C#语法系列:C# 语言类型(三)—数组/枚举类型/结构体 C#语法系列:C# 语言类型(四)—传递参数及其修饰符 C#语法…...
刷穿力扣006-剑指offer一数组——02寻找目标值-二维数组
刷穿力扣006-剑指offer<一>数组——02寻找目标值-二维数组 基本面试题都是我带大家刷的力扣热题100和剑指offer的75道题,建议刷两遍!(ps:想找工作实习的同学,文末有面试八股和简历模板) 题目: 语言…...
爬虫(小案例)
点开其中一个链接, http://desk.zol.com.cn/dongman/huoyingrenzhe/(前面为浏览器自动补全,在代码里需要自己补全) 可以看到图片的下载地址以及打开本图集下一张图片的链接 了解完网站的图片构造后动手写代码,我们筛…...
环信 IM 客户端将适配鸿蒙 HarmonyOS
自华为推出了自主研发操作系统鸿蒙 HarmonyOS 后,国内许多应用软件开始陆续全面兼容和接入鸿蒙操作系统。环信 IM 客户端计划将全面适配统鸿蒙 HarmonyOS ,助力开发者快速实现社交娱乐、语聊房、在线教育、智能硬件、社交电商、在线金融、线上医疗等广泛…...
伪元素的使用
.box::after{content: ;display: block;// 定义元素位置margin-top: 12rpx;margin-right: 20rpx;// 定义元素宽高width: 36rpx;height: 36rpx;// background-image无法引用本地资源,故需要用网络地址background-image: url($urlcalendar.png);background-size: 100%…...
TensorFlow学习之:高级应用和扩展
生成对抗网络:了解GAN的基本原理,使用TensorFlow实现简单的GAN 生成对抗网络(Generative Adversarial Networks,GAN)由两部分组成:生成器(Generator)和判别器(Discrimin…...
maya模板导入动画
maya模板导入动画,第一帧为模板姿态 要将一个FBX文件中的动画数据导入另一个FBX文件的模板,并使得第一帧是模板的初始姿势,第二帧开始是动画,你可以在Maya中采用以下步骤来操作: 步骤 1: 导入模板FBX 首先ÿ…...
【微信小程序之分包】
微信小程序之分包 什么是分包分包的好处分包前的结构图分包后的结构图分包的加载规则分包的体积限制使用分包打包原则引用原则独立分包独立分包的配置方法独立分包的引用原则分包预下载配置分包的预下载分包预下载限制 什么是分包 分包指的是把一个完整小程序项目,…...
STM32-ADC(独立模式、双重模式)
ADC简介 18个通道:外部信号源就是16个GPIO回。在引脚上直接接模拟信号就行了,不需要侄何额外的电路。引脚就直接能测电压。2个内部信号源是内部温度传感器和内部参考电压。 逐次逼近型ADC: 它是一个独立的8位逐次逼近型ADC芯片,这个ADC0809是…...
03.卸载MySQL
卸载MySQL 1.Windows卸载MySQL8 停止服务 用命令停止或者在服务中停止都可以 net stop mysql(服务名字可以去服务里面看一下)控制面板卸载MySQL 卸载MySQL8.0的程序可以和其他桌面应用程序一样直接在控制面板选择卸载程序,并在程序列表中…...
2024.4.13 蓝桥杯软件类C++B组山东省赛 小记
大三老狗了 , 还是把精力放在考研上了 ,所以只是蓝桥杯的前一晚上把常用算法翻了翻。 其实还做了一场小模拟,两个题分值200分我狂砍了17分,bfs写半小时写不明白,所以晚上已经是心如死灰了,所以就早早睡觉了…...
Windows下IntelliJ IDEA远程连接服务器中Hadoop运行WordCount(详细版)
使用IDEA直接运行Hadoop项目,有两种方式,分别是本地式:本地安装HadoopIDEA;远程式:远程部署Hadoop,本地安装IDEA并连接, 本文介绍第二种。 一、安装配置Hadoop (1)虚拟机伪分布式 见上才艺&a…...
【每日刷题】Day16
【每日刷题】Day16 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 24. 两两交换链表中的节点 - 力扣(LeetCode) 2. 160. 相交链表 - 力扣&…...
【K8s】:在 Kubernetes 集群中部署 MySQL8.0 高可用集群(1主2从)
【K8s】:在 Kubernetes 集群中部署 MySQL8.0 高可用集群(1主2从) 一、准备工作二、搭建nfs服务器2.1 安装 NFS 服务器软件包(所有节点执行)2.2 设置共享目录2.3 启动 NFS 服务器2.4 设置防火墙规则(可选&am…...
Vue内置组件TransitionGroup详细介绍
<TransitionGroup> 是一个内置组件,用于对 v-for 列表中的元素或组件的插入、移除和顺序改变添加动画效果。 和 <Transition> 的区别 <TransitionGroup> 支持和 <Transition> 基本相同的 props、CSS 过渡 class 和 JavaScript 钩子监听器…...
【机器学习300问】71、神经网络中前向传播和反向传播是什么?
我之前写了一篇有关计算图如何帮助人们理解反向传播的文章,那为什么我还要写这篇文章呢?是因为我又学习了一个新的方法来可视化前向传播和反向传播,我想把两种方法总结在一起,方便我自己后续的复习。对了顺便附上往期文章的链接方…...
【ZZULIOJ】1067: 有问题的里程表(Java)
目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表…...
A21 STM32_HAL库函数 之 I2c通用驱动程序 -- B -- 所有函数的介绍及使用
A21 STM32_HAL库函数 之 I2c通用驱动程序 -- B -- 所有函数的介绍及使用 1 该驱动函数预览1.12 HAL_I2C_Master_Sequential_Receive_IT1.13 HAL_I2C_Slave_Transmit_IT1.14 HAL_I2C_Slave_Receive_IT1.15 HAL_I2C_Slave_Sequential_Transmit_IT1.16 HAL_I2C_Slave_Sequential_R…...
简介:Asp.Net Core进阶高级编程教程
课程简介目录 🚀前言一、课程背景二、课程目的三、课程特点四、课程适合人员六、最后 🚀前言 本文是《.Net Core进阶编程课程》教程专栏的导航站(点击链接,跳转到专栏主页,欢迎订阅,持续更新…)…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
