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 ,连接,果然可以连上了。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值