一个用原生JavaScript和编写的ChatGPT聊天界面,基于openai的GPT-3 API接口实现,
并增加记忆对话上下文的功能,使AI对话更加自然,通过特殊手段防止其“接话”,可实现与官网ChatGPT类似的持续性对话效果。
静态网页:http://sdsds222.gitee.io/chat-gpt.js/
软件架构说明 Javascript HTML CSS
- 将完整项目克隆到电脑
- 双击index.html文件
- 启动浏览器运行
- 要使用该页面需要提前自备openai的apikey,否则将无法正常使用所有功能。
- 基于原生Javascript,可直接部署到静态网页托管平台运行。
- 在输入框输入“/help”即可查看支持的指令,可通过这些指令来更改发送请求的参数以调整AI的行为: /help (用于查看帮助信息) /apikey (为每次发送的文本添加前置上下文) /prompt (为每次发送的文本添加前置上下文) /maxtoken (用于控制ChatGPT每次能生成的词数.) /tpr (可以用来控制chatbot生成的话的多样性) /top (可以用来控制chatbot生成的话的质量) /fp (可以用来控制chatbot生成的话的“新颖程度”) /pp (用于控制bot产生的句子的长度) /info (用于显示当前各项参数的值) /mode (用于设置是否启用持续对话模式)
输入/info后,将显示所有参数的值:
由于本项目能够持续对话的原理是将之前的历史对话内容作为上下文语境也一并发送给GPT-3的接口,这会导致账户额度的浪费,可以在控制台输入“/mode”并在输入框输入“false”来关闭持续对话模式。
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
合理利用prampt参数来设置每句话的前置上下文,可以使AI的语气和性格长期保持一致,也可以使关键信息不被AI忘记。
本项目中有一部分代码由ChatGPT生成。