前言
本教程参考官方文档编写,加以一些补充说明。
本文系统为Ubuntu 22,实际操作时请以你的系统为准
在Ubuntu系统中,以root用户登陆时输入所有命令均无需sudo
为了适合一般情况,本文在所有命令前添加了sudo
安装过程
一、网络环境
安装clash
由于OpenAI的API对中国大陆是封锁的,因此我们需要一些操作来连上API
首先安装clash,从GitHub下载压缩包,并根据你的系统选择合适的版本进行下载,本教程选择此版本:
接下来将下载好的压缩包上传到服务端,并进行解压:
1 2 3 4 5 6
| sudo apt -y install gzip gzip -d clash-linux-amd64-v1.14.0.gz mkdir clash mv clash-linux-amd64-v1.14.0 clash/clash-linux-amd64-v1.14.0 cd clash sudo chmod 777 clash-linux-amd64-v1.14.0
|
这里压缩文件的具体名称依据你自己实际下载的版本进行调整
下载配置文件:
1 2 3 4
| mkdir config cd config wget -O config.yaml [订阅链接] wget -O Country.mmdb https://www.sub-speeder.com/client-download/Country.mmdb
|
将上述指令中的订阅链接换成你自己的
如果在下载Country.mmdb时无法下载,可以从GitHub手动下载,再上传到服务器
现在,你的目录中应该有如下文件:
你可以尝试运行
1
| ./clash-linux-amd64-v1.14.0 -d config/
|
如果成功出现类似以下日志,说明运行成功:
安装clash dashboard
这是一个可视化WEB界面,可以进行一些节点切换等操作
首先下载:
1 2 3
| git clone https://github.com/Dreamacro/clash-dashboard.git cd clash-dashboard git checkout -b gh-pages origin/gh-pages
|
接下来进行配置:
1 2
| cd ../config/ nano config.yaml
|
默认情况下,你的配置文件应该类似于这样:
与UI相关的有三处需要修改,内容如下:
1 2 3 4 5 6 7 8 9
| port: 7890 socks-port: 7891 redir-port: 7892 allow-lan: false mode: rule log-level: info external-controller: 0.0.0.0:9090 external-ui: ../clash-dashboard secret: '114514'
|
保存之后即可再次启动clash
1
| ./clash-linux-amd64-v1.14.0 -d config/
|
此时访问服务器IP:9090/ui,即可看到如下界面:
将host改为你现在所访问的来源IP,密钥填入刚刚配置信息内你设定的密钥,点击添加-确定,即可
例如,你的公网IP是180.101.50.242(这个实际上是百度),那么你就在Host里面填上180.101.50.242
而假设你是通过局域网IP 192.168.2.4访问的,那么就在Host里面填上192.168.2.4
不同的IP访问,每次都要重新填一遍
理论上,你就可以看到类似如下的界面你可以进行测速以及节点选择等等:
由于OpenAI会对一些来源的IP进行封号,这里建议不要选择香港的IP,美国日本的都行
设置开机启动
新建配置文件:
1
| sudo nano /etc/systemd/system/clash.service
|
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12
| [Unit] Description=Clash daemon, A rule-based proxy in Go. After=network.target
[Service] Type=simple User=root ExecStart=/root/clash/clash-linux-amd64-v1.14.0 -d /root/clash/config Restart=on-failure
[Install] WantedBy=multi-user.target
|
其中ExecStart这一行,将两个路径换成你的,必须要是绝对路径
接下来启动并设置为开机运行:
1 2
| sudo systemctl start clash.service sudo systemctl enable clash.service
|
二、安装chatgpt_academic
下载和配置
首先退回到根目录(或者你喜欢的什么目录),下载:
1 2
| git clone https://github.com/binary-husky/chatgpt_academic.git cd chatgpt_academic
|
编辑config_private.py:
1 2
| cp config.py config_private.py nano config.py
|
文件里面注释很详细,你只需要修改API_KEY和proxies等几处信息即可,改完长这样:
图中红框内是改动的部分
- API_KEY:你所申请的密钥,注意保密
- USE_PROXY:改成True
- proxies:改成使用http协议,端口号为clash的http代理端口
- WEB_PORT:访问网页端的端口号,改个你自己喜欢的
clash的代理端口可以从配置文件或WEB UI查看和修改:
安装依赖
如果你的服务器上没有,首先安装python3:
1
| sudo apt install python3-dev
|
接下来安装依赖:
1
| python3 -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
|
安装完毕之后,尝试运行:
访问即可看到界面
设置登陆密码
如果是部署在公网,建议加上这一步,本地服务器则没必要
首先还是编辑chatgpt_academic/config.py
,修改最后一行,添加用户名和密码:
同时,修改chatgpt_academic/main.py
,将最后一句话修改为:
1
| demo.queue(concurrency_count=CONCURRENT_COUNT).launch(server_name="0.0.0.0", share=False, server_port=PORT, auth=AUTHENTICATION)
|
此时再次运行并访问,即可看到登陆界面:
三、配置nginx反向代理
首先安装nginx:
之后编辑nginx配置文件,位于/etc/nginx/sites-enabled/
下,建议以你的域名为文件名,例如chat.domain.com,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| upstream my_chataca { ip_hash; server 127.0.0.1:1919 max_fails=3 fail_timeout=10; }
server { listen 80; server_name chat.domain.com; access_log off; error_log off; location / { proxy_pass http://127.0.0.1:1919; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_max_temp_file_size 0; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
|
同时,编辑/etc/nginx/sites-enabled/nginx.config
,在http块中添加以下内容:
1 2 3 4 5 6
| http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } }
|
以上是不使用SSL的方案,使用SSL同理。
之后重载nginx,即可通过域名访问界面了
四、配置latex环境
由于部分高级函数需要latex支持,因此若想使用这部分功能,需要额外进行latex环境的配置。
安装Texlive
首先回到根目录,并下载安装脚本并解压:
1 2 3
| cd wget https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz tar -xzf install-tl-unx.tar.gz
|
解压后的文件夹名为install-tl-
加上一串日期,进入此文件夹:
接下来开始安装:
1
| sudo ./install-tl -repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/
|
此时会弹出菜单界面:
我们输入C并回车,取消掉一些不需要的语言,节省安装空间:
输入对应的字母即可选择/取消选中对应的项,之后输入R回到主菜单
然后输入I开始安装:
设置环境变量
可以看到上面的日志中要求我们添加环境变量:
Add /usr/local/texlive/2023/texmf-dist/doc/man to MANPATH. Add /usr/local/texlive/2023/texmf-dist/doc/info to INFOPATH.
Most importantly, add /usr/local/texlive/2023/bin/x86_64-linux to your PATH for current and future sessions.
因此我们进行编辑:
在文本末尾添加以下三行:
1 2 3
| export PATH=/usr/local/texlive/2023/bin/x86_64-linux:$PATH export MANPATH=/usr/local/texlive/2023/texmf-dist/doc/man:$MANPATH export INFOPATH=/usr/local/texlive/2023/texmf-dist/doc/info:$INFOPATH
|
不过此时,使用sudo权限时并不能调用相关指令,因此还需要额外设置:
将路径加入到图中的位置即可,并用冒号与原来的内容分开:
保存退出之后即可。
添加字体
文档中要求将以下字体添加到Latex的字体目录/usr/local/texlive/2023/texmf-dist/fonts/truetype
中:
- MSYHBD.TTC
- SIMLI.TTF
- msyh.ttc
- simfang.ttf
- simkai.ttf
- SIMYOU.TTF
- simhei.ttf
- simsun.ttc
我这里整理了一份字体文件在GitHub上,可以下载使用:https://github.com/Aye10032/MyFonts.git
上传到相应目录之后,使用以下指令刷新使字体生效:
参考文档