gpt4free软件的 g4f gui 网页速度非常慢的问题解决

问题:g4f gui启动网页很难连上

gpt4free是一个为大众提供的Openai等大模型API调用服务的软件,但是在装好启动g4f gui,使用8080端口连接后,发现网页一直在执行,半天还没好。

怀疑是网页里面的一些js加载有问题。

通过在python命令行使用import g4f ;g4f.version 命令来找到g4f的安装位置/home/skywalk/miniconda3/lib/python3.11/site-packages/g4f/

查看~/miniconda3/lib/python3.11/site-packages/g4f/gui/client/index.html 文件

发现文件里一些https://cdn.jsdelivr.net

的js文件,问题是在本地使用wget命令来测试,发现它们根本连不上。

所做的努力:

编辑index.html 

<script src="https://cdn.jsdelivr.net/npm/markdown-it@13.0.1/dist/markdown-it.min.js"></script>

修改cdn.jsdelivr.net 成www.jsdelivr.com

里面所有的都修改。

现在8080端口的网页可以正常浏览了。

还有一个文件

~/miniconda3/lib/python3.11/site-packages/g4f/gui/client/html/index.html 

把里面的cdn.jsdelivr.net 成www.jsdelivr.com

可以在vi里面使用命令%s/cdn.jsdelivr.net/www.jsdelivr.com/g 进行全文替换。

但是问题没有解决

用wget测试下载,发现下载的都是一样的大小的文件,看来这样不行

-rw-rw-r-- 1 skywalk skywalk  49201 Jun  3 14:30 markdown-it.min.js
-rw-rw-r-- 1 skywalk skywalk  49201 Jun  3 14:53 mistral-tokenizer-js
-rw-rw-r-- 1 skywalk skywalk  49201 Jun  3 14:54 tex-mml-ch
-rw-rw-r-- 1 skywalk skywalk  49201 Jun  3 14:54 tex-mml-chtml.js


最终解决方案1

将地址改成:fastly.jsdelivr.net

好像好了一些

还有一些其它的镜像可以试试,比如:

  • 字节跳动静态资源公共库: https://cdn.bytedance.com/

可参考这篇文档:【转载】jsDelivr的一些替代方案_jsdelivr 替代-CSDN博客

解决方案2

将网页里面涉及到cdn的地方,全部单独下载放在本地static/js目录,共四个文件:

"https://cdn.jsdelivr.net/npm/markdown-it@13.0.1/dist/markdown-it.min.js"

"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"

"https://cdn.jsdelivr.net/gh/belladoreai/llama-tokenizer-js@master/llama-tokenizer.js"

"https://cdn.jsdelivr.net/npm/gpt-tokenizer/dist/cl100k_base.js"

"https://cdn.jsdelivr.net/npm/mistral-tokenizer-js"

写一个g4fjs.sh文件自动下载~/work/g4fjs.sh:

cd ~/.local/lib/python3.10/site-packages/g4f/gui/client/static/js/wget "https://cdn.jsdelivr.net/npm/markdown-it@13.0.1/dist/markdown-it.min.js"wget "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"wget "https://cdn.jsdelivr.net/gh/belladoreai/llama-tokenizer-js@master/llama-tokenizer.js"wget "https://cdn.jsdelivr.net/npm/gpt-tokenizer/dist/cl100k_base.js"wget "https://cdn.jsdelivr.net/npm/mistral-tokenizer-js"

运行sh g4fjs.sh ,自动将cdn的这5个人间放入~/.local/lib/python3.10/site-packages/g4f/gui/client/static/js/目录。

最后修改/.local/lib/python3.10/site-packages/g4f/gui/client/index.html文件将链接里上面五个cdn文件全部换成本地/static/js 

cat index.html 
<!DOCTYPE html>
<html lang="en" data-framework="javascript"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1.0"><meta name="description" content="A conversational AI system that listens, learns, and challenges"><meta property="og:title" content="ChatGPT"><meta property="og:image" content="https://openai.com/content/images/2022/11/ChatGPT.jpg"><meta property="og:description" content="A conversational AI system that listens, learns, and challenges"><meta property="og:url" content="https://g4f.ai"><link rel="stylesheet" href="/static/css/style.css"><link rel="apple-touch-icon" sizes="180x180" href="/static/img/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/static/img/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/static/img/favicon-16x16.png"><link rel="manifest" href="/static/img/site.webmanifest"><script src="/static/js/icons.js"></script><script src="/static/js/highlightjs-copy.min.js"></script><script src="/static/js/chat.v1.js" defer></script><script src="/static/js/markdown-it.min.js"></script><link rel="stylesheet" href="/static/css/dracula.min.css"><script>MathJax = {chtml: {scale: 1,displayAlign: 'left'}};</script><script id="MathJax-script" src="/static/js/tex-mml-chtml.js" async></script><script type="module" src="/static/js/mistral-tokenizer-js" async>import mistralTokenizer from "mistral-tokenizer-js"</script><script type="module" src="/static/js/llama-tokenizer.js" async>import llamaTokenizer from "llama-tokenizer-js"</script><script src="/static/js/cl100k_base.js" async></script><script src="/static/js/text_to_speech/index.js" async></script><!--<script src="/static/js/whisper-web/index.js" async></script>--><script>const user_image = '<img src="/static/img/user.png" alt="your avatar">';const gpt_image = '<img src="/static/img/gpt.png" alt="your avatar">';</script><script src="/static/js/highlight.min.js"></script><script>window.conversation_id = "{{chat_id}}"</script><title>g4f - gui</title>
</head>

重新执行g4f gui ,连接,果然可以连上了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/24104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MC服务器怎么搭建

MC服务器怎么搭建?随着《我的世界》&#xff08;Minecraft&#xff0c;简称MC&#xff09;的火爆&#xff0c;越来越多的玩家和社区开始搭建自己的MC服务器&#xff0c;与朋友共享创造的乐趣。但搭建一台稳定、高效的MC服务器并不是一件容易的事。今天&#xff0c;我们就来聊聊…

vb.net学习总结

基本语法 Read()函数可充当暂停进行使用 要转换成什么类型就在前面加上C类型&#xff08;&#xff09;即可 取模运算不是%而是Mod 不等于不是!而是<> 在Unicode编码中小写字母比大写字母靠后 Asc&#xff08;char ch&#xff09;取ASC码 使用Is/Like与其他的字符串拼…

【高考】互联网时代,问题何去何从?

随着互联网的普及、人工智能的应用&#xff0c;越来越多的问题能很快得到答案。那么&#xff0c;我们的问题是否会越来越少&#xff1f; 以上材料引发了你怎样的联想和思考&#xff1f;请写一篇文章。 要求&#xff1a;选准角度&#xff0c;确定立意&#xff0c;明确文体&#…

App UI 风格创新无限

App UI 风格创新无限

Java-exam

Java 一卷 T1 /* 编写一个Java程序&#xff0c;求1!2!…10!的值&#xff0c;程序文件命名为“FactoriesSum.java”。*/ package Test.A基础语法.T1;public class FactoriesSum {public static void main(String[] args) {int sum 0,num1;for (int i1;i<10;i){numnum*i;s…

快速制作技术插图,高效管理零部件手册

在当前的制造业和工程领域中&#xff0c;技术插图对于产品设计、制造、维修和市场营销等环节具有至关重要的作用。然而&#xff0c;传统的插图制作方式往往依赖于人工绘制或使用较为复杂的软件&#xff0c;效率低下&#xff0c;而且容易出错。 由于CAD技术的广泛应用&#xff…

备份树莓派系统的多种方法,构建镜像

在我们使用树莓派进行学习或者搭建实验环境时经常会把系统玩坏&#xff0c;辛苦配置的开发环境又得重新配置&#xff1b;或者更新某一软件后发现新版本和某些组件不兼容&#xff0c;又无法降级。这个时候我们会想将系统在稳定时进行备份&#xff0c;在系统出现问题后可以很方便…

网络编程——套接字缓存(buffer)满会丢失数据吗

套接字缓冲区已满并不意味着数据丢失&#xff0c;但它可能会导致发送和接收数据的操作阻塞或失败&#xff0c;从而间接导致数据丢失或延迟。 解释 发送端缓冲区已满&#xff1a; 当发送端的套接字缓冲区已满时&#xff0c;send 或 write 操作会阻塞&#xff0c;直到有足够的空…

爬虫工具yt-dlp

yt-dlp是youtube-dlp的一个fork&#xff0c;youtube-dlp曾经也较为活跃&#xff0c;但后来被众多网站屏蔽&#xff0c;于是大家转而在其基础上开发yt-dlp。yt-dlp的github项目地址为&#xff1a;GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloaderA …

新手必看!场外期权交易的六大注意事项

场外期权交易的六大注意事项 对于初涉金融市场的投资者来说&#xff0c;场外期权交易无疑是一个既具吸引力又充满挑战的领域。为确保您在交易中能够稳健获利&#xff0c;以下六大注意事项值得每位新手仔细研读。 文章来源/&#xff1a;财智财经 一、深入理解期权基本概念 场…

《动态网站建设》

动态网站建设 试题类型 试题数量 总分 论述题 1 10.00分 名词解释 2 20.00分 简答题 3 30.00分 论述题 ASP.NET有什么优点?性能强大:ASP.NET允许早期绑定、实时编译、本机优化和盒外缓存服务,这意味着在编写代码行之前便显著提高了性能。 安全性高:ASP.NET为Web应用程序提供…

书客护眼大路灯Sun再次引领先锋,守护青少年视力健康!

在这个信息化高速发展的时代&#xff0c;我们的眼睛承受着前所未有的压力。每年的护眼日&#xff0c;不仅是提醒我们关注眼睛健康的时刻&#xff0c;更是全社会共同努力&#xff0c;为青少年营造健康用眼环境的契机。 “守护明亮视界&#xff0c;预防近视从我做起”。随着国内青…

养老服务的现代化探索与挑战

在当前全球人口老龄化日益严重的大背景下&#xff0c;养老服务已成为社会关注的焦点。随着科技的发展和经济的增长&#xff0c;人们对养老服务的需求和期望也在不断提高。养老服务不仅仅是解决老年人基本生活的问题&#xff0c;更是关乎老年人生活质量和幸福感的重要方面。因此…

toB市场 | 我们喜欢赞助这样的展会活动

过去的六一儿童节&#xff0c;刚去成都参加了个行业内的展会。受护网行动、儿童节等等的影响&#xff0c;这次去成都的客户并不算太多&#xff0c;但会议延续了一贯的高品质&#xff0c;让我们收货满满。 选择目标受众来得多的展会 不同厂商会视自己的产品和模式、目标客户来…

Dijkstra算法(迪杰斯特拉算法)

迪杰斯特拉算法通常用在图的最短路径问题上 而迷宫的最短路径可以用BFS来做&#xff0c;虽然BFS不能用于带权值的迷宫&#xff0c;但是可以对BFS稍微改进&#xff0c;只需要把判断是否走过的数组改为最短路径的数组&#xff0c;在判断是否可走时判断是否比最短的小即可 Dijks…

重塑状态管理的艺术:Vue3中Pinia的魔法之旅内包含简易购物车案例

前言 在Vue.js的世界里&#xff0c;每一次更新都是一次进化&#xff0c;Vue3携带着更强大的性能与灵活性翩然而至。而在这场技术盛宴中&#xff0c;Pinia以一种优雅而革命性的方式&#xff0c;重新定义了状态管理的体验。如果说Vuex是Vue2时代的王者&#xff0c;那么Pinia无疑…

【NLP】2、大语言模型综述

一、背景和发展历程 大语言模型四个训练阶段&#xff1a; 预训练&#xff1a; 利用海量的训练数据&#xff0c;包括互联网网页、维基百科、书籍、GitHub、 论文、问答网站等&#xff0c;构建包含数千亿甚至数万亿单词的具有多样性的内容。利用由数千块高性能 GPU 和高速网络组成…

使用2个手机文件恢复工具,轻松找回文件

在这个智能手机横行的时代&#xff0c;手机已经成为我们生活中不可或缺的一部分。然而&#xff0c;就像生活中的一切事物一样&#xff0c;手机也有可能出现意外&#xff0c;比如文件丢失。这就像是你在超市购物&#xff0c;结果发现钱包不见了&#xff0c;那种感觉真是让人抓狂…

STM32项目分享:智能家居语音系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB打板焊接图: 五、程序设计 六、实验效果 七、包含内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.com…

Android 安全开发之 exported 组件安全

Android系统中的组件是应用的基本构建块&#xff0c;用于实现应用的功能和展现界面。组件可以被其他应用调用或访问&#xff0c;这可以通过设置组件的android:exported属性来控制。然而&#xff0c;如果exported属性设置不当&#xff0c;可能会导致严重的安全漏洞&#xff0c;例…