CDQXIN / ChatGPT-Web

使用ChatGPT最新API创建的聊天页面,支持多用户使用,多对话管理,公式显示,流式动态显示,windows和linux均可极简部署,网页版 html python flask

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用ChatGPT最新API创建的聊天页面,模型回复效果与官网的ChatGPT一致,支持多用户使用,多对话管理,公式显示,流式逐字加载显示

注册openai后送5美元,3个月内使用,API调用,0.2美分1000 token

演示动图

动画3

重要更新

2023.3.19: 代码高亮显示
2023.3.17: 显示公式
2023.3.17: 类似于chatgpt官网,支持实时流获取,即逐字获取动态加载显示
2023.3.13: 类似于chatgpt官网,支持新建对话,单个用户可以管理多个对话
2323.3.6: 会话与用户id绑定并保存用户信息,同一浏览器下次登陆时自动进入绑定的id,其余设备输入用户id后依然可以重载聊天记录
2323.3.6: 支持保存历史聊天记录,当重新打开会话时自动恢复聊天记录,使用pickle持久化存储,程序重启时依然可加载各用户聊天记录
2023.3.5: 支持markdown内容显示

使用前提

  1. 因国内IP被封或OpenAI API被墙,因此自己需要有代理,稍后需要配置
  2. Python运行环境
  3. 有openai账号,注册事项可以参考此文章
  4. 创建好api_key, 进入OpenAI链接,右上角点击,进入页面设置
    image

使用方法

  1. 执行pip install openai pip install flask安装必要包,pyhon版本需大于等于3.7.1
  2. 打开flask_main.py文件
  3. os.environ['HTTP_PROXY']os.environ['HTTPS_PROXY']设置成你的代理,注意端口设置,例如clash默认为7890端口,另外如果clash不在本机需要设置代理软件允许局域网内访问
  4. API_KEY填写为自己的api key,即改为API_KEY = "sk-XXXX",其中sk-XXXX为你的apikey
  5. 执行python flask_main.py运行程序.若程序中未指定apikey也可以在终端执行时添加环境变量,如执行OPANAI_API_KEY=sk-XXXX python flask_main.py来运行,其中sk-XXXX为你的apikey
  6. 打开本地浏览器访问127.0.0.1:5000

介绍

  • 开启程序后进入如下页面
    image
  • 直接输入已有用户id,或者输入new:xxx创建新id,这个id用于绑定会话,下次不同浏览器打开都可以恢复用户的聊天记录,一个浏览器31天内一般不会要求再次输入用户id,如下为创建一个新id,名为zs,下图为发送完成后自动刷新的用户页面,左侧会有一个默认对话
    image
  • 代码中已经设置了apikey,但如果开放给别人用针对个别用户也可以按照说明设置用户专属apikey,这里就暂不设置专属的
  • 默认为普通对话模式,即每次发送都是仅对于该提问回答,可点击切换为连续对话模式,chatgpt将会联系上下文(之前的对话,程序中设置了最大5条记录)回复你,但意味着花费会更多money
  • 用python写一个冒泡算法试试看,回车发送,shift+回车换行,然后问用java呢?会联系上下文回答 image
  • 还可以按如下添加对话 image
  • 对话管理,当不使用该对话时,可以点击删除对话,若当前为默认对话,则只可删除聊天记录

TODO List

  • 界面优化
  • 优化代码显示
  • 代码高亮显示
  • 在连续对话模式下支持多人同时使用
  • 重载历史记录
  • 切换聊天模式和重置时提示
  • 支持多对话管理
  • 公式显示
  • 流式拉取,逐字词动态实时显示

About

使用ChatGPT最新API创建的聊天页面,支持多用户使用,多对话管理,公式显示,流式动态显示,windows和linux均可极简部署,网页版 html python flask


Languages

Language:Python 49.5%Language:HTML 48.3%Language:JavaScript 2.2%