基于ChatGPT API的Python终端调用服务
- 将仓库克隆到本地,在项目文件夹中执行
pip install -r requirements.txt
- 在项目目录下创建一个文件
xxx.key(xxx可填任意名称),写入可用的API KEY - 打开网络代理(翻墙,科学上网)
- 运行脚本即可(建议使用终端运行)
python pychat.py
运行脚本后,稍候片刻,等待加载完成。
当出现[time] @client >字样后,便可输入您的问题,脚本会自动调用API生成回复。
脚本会将以纯文本格式所有问答记录到对应的log文件中,建议使用markdown阅读器打开。
脚本默认使用\作为命令转义符。
脚本目前支持如下命令:
\exit- 退出脚本
\mode- 展示脚本的各项设置
\role [role desc]- 设定发给GPT的高优先级提示,一般用于指定GPT所扮演的角色,例如:
\role 你是一个拥有十年工作经验的资深架构师
\temp [temperature]- 设置GPT回复的
temperature值,该值取值范围[0, 1] - 该数值越大,则回复的创造性(随机性)越强,反之则确定性越强
- 设置GPT回复的
\with [index] [question]- 发送一个问题,同时附加
index指定的单条问答作为上下文 index应为一个正整型数字,当该值为-1或为last时,脚本会自动选取上一条问答作为附加上下文- 通过这个指令,可以使GPT根据之前的某个问答作为背景为你生成答复,例如
- 发送一个问题,同时附加
\with -1 详细解释一下你上面给出的第3点
-
\max [max_tokens]- 设置GPT一次回复的最大token数,超过该限制的回复会被自动截断
- 省钱用的
-
\ctx [on/off/new]- 上下文模式,打开后,脚本会记录所有问答作为上下文,并在每次提问时将这些记录全部发送给GPT
- 可以让GPT获得最完整的上下文信息,但同时会使用非常多的tokens(烧钱)
- 执行
\ctx new命令会打开上下文模式,并清空已经存储的上下文记录