在群晖上安装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进阶编程课程》教程专栏的导航站(点击链接,跳转到专栏主页,欢迎订阅,持续更新…)…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
