Tuchuanhuhuhu commited on
Commit
9bc06d3
1 Parent(s): 066a302

将Readme中的大部分内容挪到Wiki里

Browse files
Files changed (1) hide show
  1. README.md +4 -259
README.md CHANGED
@@ -36,7 +36,7 @@
36
  </div>
37
 
38
  ## 目录
39
- |[使用技巧](#使用技巧)|[安装方式](#安装方式)|[疑难杂症解决](#疑难杂症解决)| [给作者买可乐🥤](#捐款) |
40
  | ---- | ---- | ---- | --- |
41
 
42
  ## 使用技巧
@@ -46,270 +46,15 @@
46
  - 如果回答不满意,可以使用`重新生成`按钮再试一次
47
  - 对于长对话,可以使用`优化Tokens`按钮减少Tokens占用。
48
  - 输入框支持换行,按`shift enter`即可。
 
49
  - 部署到服务器:将程序最后一句改成`demo.launch(server_name="0.0.0.0", server_port=<你的端口号>)`。
50
  - 获取公共链接:将程序最后一句改成`demo.launch(share=True)`。注意程序必须在运行,才能通过公共链接访问。
51
  - 在Hugging Face上使用:建议在右上角 **复制Space** 再使用,这样App反应可能会快一点。
52
 
53
 
54
- ## 安装方式
55
 
56
- ### 直接在Hugging Face上部署
57
-
58
- 访问[本项目的Hugging Face页面](https://huggingface.co/spaces/JohnSmith9982/ChuanhuChatGPT),点击右上角的 **Duplicate Space** (复制空间),新建一个私人空间。然后就直接可以开始使用啦!放心,这是免费的。
59
-
60
- 您可以直接使用我的空间,这样能实时享受到最新功能。您也可以将项目复制为私人空间里使用,这样App反应可能会快一点。
61
-
62
- <img width="300" alt="image" src="https://user-images.githubusercontent.com/51039745/223447310-e098a1f2-0dcf-48d6-bcc5-49472dd7ca0d.png">
63
-
64
- Hugging Face的优点:免费,无需配置代理,部署容易(甚至不需要电脑)。
65
-
66
- Hugging Face的缺点:不支持某些界面样式。
67
-
68
- ### 手动本地部署
69
-
70
- 1. **下载本项目**
71
-
72
- ```shell
73
- git clone https://github.com/GaiZhenbiao/ChuanhuChatGPT.git
74
- cd ChuanhuChatGPT
75
- ```
76
- 或者,点击网页右上角的 `Download ZIP`,下载并解压完成后进入文件夹,进入`终端`或`命令提示符`。
77
-
78
- 如果你使用Windows,应该在文件夹里按住`shift`右键,选择“在终端中打开”。如果没有这个选项,选择“在此处打开Powershell窗口”。如果你使用macOS,可以在Finder底部的路径栏中右键当前文件夹,选择`服务-新建位于文件夹位置的终端标签页`。
79
-
80
- <img width="200" alt="downloadZIP" src="https://user-images.githubusercontent.com/23137268/223696317-b89d2c71-c74d-4c6d-8060-a21406cfb8c8.png">
81
-
82
- 2. **填写API密钥**
83
-
84
- 以下2种方法任选其一:
85
-
86
- <details><summary>1. 在图形界面中填写你的API密钥</summary>
87
-
88
- 这样设置的密钥会在页面刷新后被清除。
89
-
90
- <img width="760" alt="image" src="https://user-images.githubusercontent.com/51039745/222873756-3858bb82-30b9-49bc-9019-36e378ee624d.png"></details>
91
-
92
- <details><summary>2. 在文件中设定默认密钥、用户名密码以及更多设置(推荐)</summary>
93
-
94
- 这样设置的密钥以及其他设置项可以在拉取项目更新之后保留。
95
-
96
- 在项目文件夹中复制一份 `config_example.json`,并将其重命名为 `config.json`,在其中填入 API-Key、用户名密码(可选)、API host(可选)、代理地址(可选)等设置。用户名密码支持多用户。示例:
97
-
98
- ```
99
- {
100
- "openai_api_key": "sk-xxxxxxxxxxxxxxxxxxxxxxxxx",
101
- "users": [
102
- ["用户1的用户名", "用户1的密码"],
103
- ["用户2的用户名", "用户2的密码"]
104
- ],
105
- }
106
- ```
107
- * 如果不设置用户名与密码,可以直接将“users”字段整段删去,或留空为 `"users": [], `
108
- * *原本在 `api_key.txt` 和 `auth.json` 中填写相关设置的方法仍然可用,但不再推荐。*
109
-
110
- </details>
111
-
112
- 3. **安装依赖**
113
-
114
- 在终端中输入下面的命令,然后回车即可。如果命令报错,请试试`pip3`。请确保您已经[安装Python](https://www.runoob.com/python/python-install.html)了,并且已经[将pip加入环境变量](https://blog.csdn.net/AlbenXie/article/details/79054409)。
115
-
116
- ```shell
117
- pip install -r requirements.txt
118
- ```
119
-
120
- 如果你还想使用本地运行大模型的功能,请再执行下面的命令:
121
-
122
- ```shell
123
- pip install -r requirements_advanced.txt
124
- ```
125
-
126
- 如果您在使用Windows,建议通过[WSL](https://learn.microsoft.com/zh-cn/windows/wsl/install),在Linux上安装川虎Chat。如果您没有安装CUDA,并且不想只用CPU跑大模型,请先[安装CUDA](https://developer.nvidia.com/cuda-downloads)。
127
-
128
- 如果下载慢,建议[配置豆瓣源](https://www.cnblogs.com/zhangruoxu/p/6370107.html),或者科学上网。
129
-
130
- 4. **启动**
131
-
132
- 请使用下面的命令。
133
-
134
- ```shell
135
- python ChuanhuChatbot.py
136
- ```
137
-
138
- 如果报错,试试
139
-
140
- ```shell
141
- python3 ChuanhuChatbot.py
142
- ```
143
-
144
- 如果还是不行,请先[安装Python](https://www.runoob.com/python/python-install.html)。
145
-
146
- <br />
147
-
148
- 如果一切顺利,现在,你应该已经可以在浏览器地址栏中输入 [`http://localhost:7860`](http://localhost:7860) 查看并使用 ChuanhuChatGPT 了。如果您已经有下载好的本地模型了,请将它们放在`models`文件夹下面(文件名中需要包含`llama`/`alpaca`/`chatglm`),将`LoRA`模型们放在`lora`文件夹下面。
149
-
150
- **如果你在安装过程中碰到了问题,请先查看[疑难杂症解决](#疑难杂症解决)部分。**
151
-
152
- ### 自动更新
153
-
154
- 你可以通过本项目提供的脚本检测仓库是否有更新,如果有,则拉取最新脚本、安装依赖、重启服务器。此功能支持`Linux`和`macOS`系统。
155
-
156
- 如果你想运行,只需要运行`run_Linux.sh`或者`run_macOS.command`。如果你还想保持最新版本,只需要定时运行脚本。例如,在crontab中加入下面的内容:
157
-
158
- ```
159
- */20 * * * * /path/to/ChuanhuChatGPT/run_Linux.sh
160
- ```
161
- 就可以每20分钟检查一次脚本更新,如果有更新,则自动拉取并重启服务器。
162
-
163
- ### 使用Docker运行
164
-
165
- <details><summary>如果觉得以上方法比较麻烦,我们提供了Docker镜像</summary>
166
-
167
- #### 拉取镜像
168
-
169
- ```shell
170
- docker pull tuchuanhuhuhu/chuanhuchatgpt:latest
171
- ```
172
-
173
- #### 运行
174
-
175
- ```shell
176
- docker run -d --name chatgpt \
177
- -e my_api_key="替换成API" \
178
- -e api_host="替换成自定义的api请求地址" \
179
- -e USERNAME="替换成用户名" \
180
- -e PASSWORD="替换成密码" \
181
- -v ~/chatGPThistory:/app/history \
182
- -p 7860:7860 \
183
- tuchuanhuhuhu/chuanhuchatgpt:latest
184
- ```
185
-
186
- 注:`USERNAME` 和 `PASSWORD` 两行可省略。若省略则不会启用认证。
187
-
188
- #### 查看运行状态
189
- ```shell
190
- docker logs chatgpt
191
- ```
192
-
193
- #### 也可修改脚本后手动构建镜像
194
-
195
- ```shell
196
- docker build -t chuanhuchatgpt:latest .
197
- ```
198
- </details>
199
-
200
-
201
- ### 远程部署
202
-
203
- <details><summary>如果需要在公网服务器部署本项目,请阅读该部分</summary>
204
-
205
- #### 部署到公网服务器
206
-
207
- 将最后一句修改为
208
-
209
- ```
210
- demo.queue().launch(server_name="0.0.0.0", server_port=7860, share=False) # 可自定义端口
211
- ```
212
- #### 用账号密码保护页面
213
-
214
- 将最后一句修改为
215
-
216
- ```
217
- demo.queue().launch(server_name="0.0.0.0", server_port=7860,auth=("在这里填写用户名", "在这里填写密码")) # 可设置用户名与密码
218
- ```
219
-
220
- #### 配置 Nginx 反向代理
221
-
222
- 注意:配置反向代理不是必须的。如果需要使用域名,则需要配置 Nginx 反向代理。
223
-
224
- 又及:目前配置认证后,Nginx 必须配置 SSL,否则会出现 [Cookie 不匹配问题](https://github.com/GaiZhenbiao/ChuanhuChatGPT/issues/89)。
225
-
226
- 添加独立配置文件:
227
- ```nginx
228
- server {
229
- listen 80;
230
- server_name /域名/; # 请填入你设定的域名
231
- access_log off;
232
- error_log off;
233
- location / {
234
- proxy_pass http://127.0.0.1:7860; # 注意端口号
235
- proxy_redirect off;
236
- proxy_set_header Host $host;
237
- proxy_set_header X-Real-IP $remote_addr;
238
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
239
- proxy_set_header Upgrade $http_upgrade; # Websocket配置
240
- proxy_set_header Connection $connection_upgrade; #Websocket配置
241
- proxy_max_temp_file_size 0;
242
- client_max_body_size 10m;
243
- client_body_buffer_size 128k;
244
- proxy_connect_timeout 90;
245
- proxy_send_timeout 90;
246
- proxy_read_timeout 90;
247
- proxy_buffer_size 4k;
248
- proxy_buffers 4 32k;
249
- proxy_busy_buffers_size 64k;
250
- proxy_temp_file_write_size 64k;
251
- }
252
- }
253
- ```
254
-
255
- 修改`nginx.conf`配置文件(通常在`/etc/nginx/nginx.conf`),向http部分添加如下配置:
256
- (这一步是为了配置websocket连接,如之前配置过可忽略)
257
- ```nginx
258
- map $http_upgrade $connection_upgrade {
259
- default upgrade;
260
- '' close;
261
- }
262
- ```
263
-
264
- 为了同时配置域名访问和身份认证,需要配置SSL的证书,可以参考[这篇博客](https://www.gzblog.tech/2020/12/25/how-to-config-hexo/#%E9%85%8D%E7%BD%AEHTTPS)一键配置
265
-
266
-
267
- #### 全程使用Docker 为ChuanhuChatGPT 开启HTTPS
268
-
269
- 如果你的VPS 80端口与443端口没有被占用,则可以考虑如下的方法,只需要将你的域名提前绑定到你的VPS 的IP即可。此方法由[@iskoldt-X](https://github.com/iskoldt-X) 提供。
270
-
271
- 首先,运行[nginx-proxy](https://github.com/nginx-proxy/nginx-proxy)
272
-
273
- ```
274
- docker run --detach \
275
- --name nginx-proxy \
276
- --publish 80:80 \
277
- --publish 443:443 \
278
- --volume certs:/etc/nginx/certs \
279
- --volume vhost:/etc/nginx/vhost.d \
280
- --volume html:/usr/share/nginx/html \
281
- --volume /var/run/docker.sock:/tmp/docker.sock:ro \
282
- nginxproxy/nginx-proxy
283
- ```
284
- 接着,运行[acme-companion](https://github.com/nginx-proxy/acme-companion),这是用来自动申请TLS 证书的容器
285
-
286
- ```
287
- docker run --detach \
288
- --name nginx-proxy-acme \
289
- --volumes-from nginx-proxy \
290
- --volume /var/run/docker.sock:/var/run/docker.sock:ro \
291
- --volume acme:/etc/acme.sh \
292
- --env "DEFAULT_EMAIL=你的邮箱(用于申请TLS 证书)" \
293
- nginxproxy/acme-companion
294
- ```
295
-
296
- 最后,可以运行ChuanhuChatGPT
297
- ```
298
- docker run -d --name chatgpt \
299
- -e my_api_key="你的API" \
300
- -e api_host="替换成自定义的api请求地址" \
301
- -e USERNAME="替换成用户名" \
302
- -e PASSWORD="替换成密码" \
303
- -v ~/chatGPThistory:/app/history \
304
- -e VIRTUAL_HOST=你的域名 \
305
- -e VIRTUAL_PORT=7860 \
306
- -e LETSENCRYPT_HOST=你的域名 \
307
- tuchuanhuhuhu/chuanhuchatgpt:latest
308
- ```
309
- 如此即可为ChuanhuChatGPT实现自动申请TLS证书并且开启HTTPS
310
- </details>
311
-
312
- ---
313
 
314
  ## 疑难杂症解决
315
 
 
36
  </div>
37
 
38
  ## 目录
39
+ |[使用技巧](#使用技巧)|[安装方式](https://github.com/GaiZhenbiao/ChuanhuChatGPT/wiki/使用教程)|[常见问题](https://github.com/GaiZhenbiao/ChuanhuChatGPT/wiki/常见问题)| [给作者买可乐🥤](#捐款) |
40
  | ---- | ---- | ---- | --- |
41
 
42
  ## 使用技巧
 
46
  - 如果回答不满意,可以使用`重新生成`按钮再试一次
47
  - 对于长对话,可以使用`优化Tokens`按钮减少Tokens占用。
48
  - 输入框支持换行,按`shift enter`即可。
49
+ - 可以在输入框按上下箭头在输入历史之间切换
50
  - 部署到服务器:将程序最后一句改成`demo.launch(server_name="0.0.0.0", server_port=<你的端口号>)`。
51
  - 获取公共链接:将程序最后一句改成`demo.launch(share=True)`。注意程序必须在运行,才能通过公共链接访问。
52
  - 在Hugging Face上使用:建议在右上角 **复制Space** 再使用,这样App反应可能会快一点。
53
 
54
 
55
+ ## 安装方式、使用方式
56
 
57
+ 请查看[本项目的wiki页面](https://github.com/GaiZhenbiao/ChuanhuChatGPT/wiki/使用教程)。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
  ## 疑难杂症解决
60