ChatGPT-Web

ChatGPT-Web

基于GPT-3.5 API的开源聊天机器人 支持多种部署方式

ChatGPT-Web是一个基于GPT-3.5 API的开源聊天机器人项目,提供与官方ChatGPT相似的对话体验。支持Zeabur云部署、本地部署和Railway部署等多种方式。具备多用户管理、多对话管理、公式显示、流式加载和代码高亮等功能。项目部署简便,可快速搭建个人AI对话服务。

ChatGPTAPI部署聊天界面多用户Github开源项目

使用GPT-3.5 API创建的ChatGPT聊天页面,模型回复效果与官网的ChatGPT一致

Star the Repository

<details> <summary>TODO List</summary>
  • 界面优化
  • 代码规范化,请求返回值规范、代码文件划分
  • 实现聊天记录文件下载,以及上传合并
  • 界面适应手机
  • 处理聊天记录更多由本地完成,即js完成聊天记录的请求
  • 添加token设置栏,按钮中设置
  • 在连续对话模式下支持多人同时使用
  • 重载历史记录
  • 切换聊天模式和重置时提示
  • 支持多对话管理
  • 公式显示
  • 流式拉取,逐字词动态实时显示
  • 代码高亮显示
  • 查余额
</details>

特性

极简配置
支持Zeabur云部署(推荐,两分钟部署完成)
支持railway云部署
支持多用户使用
多对话管理
公式显示
流式逐字加载显示
代码高亮
查余额
可设置访问密码

演示动图

演示

使用前提

  1. 因国内IP被封或OpenAI API被墙,因此自己需要有代理,稍后需要配置,(若使用railway部署时不需要有代理)
  2. 有openai账号,注册事项可以参考此文章
  3. 创建好api_key, 进入OpenAI链接,右上角点击,进入页面设置
    image

部署方法

分别介绍下面几种部署方法,选择一种即可,部署完成后直接跳转至后面的使用介绍继续即可

<details> <summary>1. Zeabur云部署(最为推荐,无需代理,云部署,通过url随时随地访问,聊天记录云同步)</summary>
  • 关于Zeabur:Zeabur是云容器提供商,你能够使用它部署你的应用,并使用url链接随时随地访问你的应用,类似于Railway,但无时间限制
  1. 首先将代码fork到你的github中
  2. 点击网址注册账号,Zeabur ,绑定GitHub账号
  3. 进入项目创建链接,点击Create Project,输入名称 ChatGPT-Web创建项目
  4. 创建完成后,点击如图,添加服务 image
  5. 弹出的界面中,点击如下 image
  6. 弹出界面中,左侧选择你的GitHub,如果未绑定,请授权Zeabur访问你GitHub的所有项目,搜索ChatGPT-Web,即你clone的仓库,点击Import image
  7. 选择分支为main,点击部署 image
  8. 等待片刻后,将显示运行中,即部署完成,但此时还需要设置一些环境变量 image 分别设置DEPLOY_ON_ZEABURtrue,PORT5000,以及OPENAI_API_KEY设置为你的apikey即可,如为保证安全性,防止他人使用还可设置PASSWORD以及ADMIN_PASSWORD环境变量(可暂不设置,有需要再设),这两个环境变量分别代表普通访问密码,以及管理员密码,设置后用户访问网页时需要使用访问密码认证,而管理员密码用于下载以及合并所有用户的聊天记录时使用
  9. 设置访问域名,url,点击如下,再填入可用主机名保存url即可,如自己有域名,也可绑定自己的域名 image image
  10. 点击redeploy重新部署,等待片刻后部署完成,一般一分钟以内部署完成,若未刷新可手动刷新网页查看,使用生成的url访问即可使用 image
  11. 使用new:xxx创建用户即可使用,或者上传已有聊天记录,相关使用方式见使用介绍
  12. 请注意,当设置密码或其它环境变量时请在设置后重新部署,每次部署后都会清除聊天记录,可先下载好已有用户记录再重新部署
</details> <details> <summary>2. 本地源代码部署(推荐,方便更新,需要有代理)</summary>

前提:python3.7及以上运行环境

  1. 执行 pip install -r requirements.txt安装必要包
  2. 打开config.yaml文件,配置HTTPS_PROXY和OPENAI_API_KEY,相关细节已在配置文件中描述,如果在境外部署无需代理,将HTTPS_PROXY行删除即可
  3. 执行python main.py运行程序.若程序中未指定apikey也可以在终端执行时添加环境变量,如执行OPANAI_API_KEY=sk-XXXX python main.py来运行,其中sk-XXXX为你的apikey
  4. 打开本地浏览器访问127.0.0.1:5000,部署完成
  5. 关于更新,当代码更新时,使用git pull更新重新部署即可
  6. 使用linux开机自启动部署 执行vim /etc/systemd/system/chatGpt.service,编辑内容如下
[Unit] Description=my chat-gpt web After=syslog.target network.target Wants=network.target [Service] Environment="ADMIN_PASSWORD=123456" Environment="OPENAI_API_KEY=sk-***" Environment="PASSWORD=123456" Type=simple User=nano WorkingDirectory=/home/nano/Project/ChatGPT-Web ExecStart=/usr/bin/python3 main.py Restart= always RestartSec=1min [Install] WantedBy=multi-user.target

最后启动

#启动 systemctl daemon-reload systemctl start chatGpt.service #设置为开机启动 systemctl enable chatGpt.service
</details> <details> <summary>3. Railway部署(无需代理,云部署,通过url随时随地访问)</summary>
  • 关于Railway:Railway是云容器提供商,你能够使用它部署你的应用,并使用url链接随时随地访问你的应用,Railway使用前提是你的GitHub账号满180天,绑定并验证后每月送5美元和500小时的使用时长,大概21天,因此如果使用这种方式需要在某些不使用的时段停止你的容器
  1. 首先将代码fork到你的github中
  2. 点击右侧Deploy on Railway,然后选择Deploy from GitHub repo,再选择Configure GitHub App,将会弹出新的窗口,在该窗口中选择Only select repositories,然后到下拉列表中选择刚才fork到你账号的仓库 image
  3. 授权完成后,Configure GitHub App下将会出现授权的项目
    image
  4. 不要点击立即部署,点击添加变量 image
  5. 将会跳转至新页面,依次添加PORT,DEPLOY_ON_RAILWAY以及OPENAI_API_KEY三个环境变量,相应值如下PORT为5000,DEPLOY_ON_RAILWAY为true image
  6. 修改变量后会自动部署,可点击Deployments查看,还可以点击查看日志
    image
  7. 点击查看日志,成功的一般显示如下
    image
  8. 查看访问url,未生成可点击Generate Domain生成即可,当然如果你自己有域名,还可以添加你自己的自定义域名
    image
  9. 进入后如图,任何网络环境下只要输入url即可访问 image
  10. 关于更新,当源仓库更新时,只需要将fork下来的仓库同步更新,railway将会自动部署更新的代码
</details> <details> <summary>4. Railway template部署(不推荐,代码迟滞高)</summary>
  1. 点击右侧按钮进行部署Deploy on Railway 首次使用railway的用户需要先绑定github账号并登陆,并进行验证,验证后可获得5美元、500小时每月的免费额度,绑定完成后重新点击上方图标,进行部署,如图进入后填写相关信息和api key
    image
  2. 点击部署后,会自动跳转,等待部署完成即可,如图为部署完成
    image
  3. 点击查看日志,成功的一般显示如下
    image
  4. 查看访问url,使用该url即可访问
    image
  5. 关于更新,点击如下进行更新即可,由Dashboard进入选择如下,但该种方式检查更新的迟滞似乎太高
    image
</details> <details> <summary>5. 可执行文件部署(推荐无python运行环境使用,需要自己有代理)</summary>

待补充

</details> <details> <summary>6. Docker部署(需要自己有代理)</summary>

待补充

</details>

使用介绍

  • 开启程序后进入如下页面
    image
  • 直接输入已有用户id,或者输入new:xxx创建新id,这个id用于绑定会话,下次不同浏览器打开都可以恢复用户的聊天记录,一个浏览器31天内一般不会要求再次输入用户id,如下为创建一个新id,名为zs,下图为发送完成后自动刷新的用户页面,左侧会有一个默认对话
    image
  • 代码中已经设置了apikey,但如果开放给别人用针对个别用户也可以按照说明设置用户专属apikey,这里就暂不设置专属的

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多