基于Streamlit搭建的ChatGPT对话助手,简单易用,不易断连,支持以下功能:
- 多聊天窗口
- 历史对话留存
- 预设聊天上下文
- 模型参数调节
- 对话导出为Markdown文件
- ChatGPT语音交流(推荐电脑端Edge浏览器)
🤩 已部署项目
- 直接使用已部署项目,可在网页的设置选项中配置Openai Key,此时不会留存历史对话,仅在用户当前会话有效,他人不会共享。
- 自行部署项目,在Secrets中配置Openai Key后,将留存历史对话记录,此时需设置为私人应用,打造为个人GPT助理。
- 双击页面或按下/键可直接定位输入栏
- Ctrl + Enter 可快捷提交问题
- 请勿使用streamlit==1.28.0版本,存在无限rerun的bug
轻松免费部署,且无须科学上网即可使用,注意设置为私人应用。
可参考由@Hannah11111提供的详细步骤。
Fork
本项目到个人Github仓库。- 注册Streamlit Cloud账号,并连接到Github。
- 开始部署应用,具体可参考官方教程。
- 在应用的Secrets中配置Openai Key,具体格式参考下图:
-
建立虚拟环境(建议)
-
克隆项目(也可以手动下载到本地)
git clone https://github.com/PierXuY/ChatGPT-Assistant.git
- 安装依赖
pip install -r requirements.txt
- 设置API Key;设置API Base(可选)
- 在
.streamlit/secrets.toml
文件中写入apikey = "Openai Key"
- 在
.streamlit/secrets.toml
文件中写入代理接口即可实现免科学使用,格式为apibase = "代理接口地址"
,说明如下:- 可以直接使用项目openai-forward已搭建的代理接口,即
apibase = "https://api.openai-forward.com/v1"
。 - 可参考openai-forward项目自行搭建代理接口并进行设置。
- 可以直接使用项目openai-forward已搭建的代理接口,即
- 启动应用
streamlit run app.py
基于项目package-url打包
- 下载Releases中的程序并安装
- 安装完成后打开即可使用,默认指向的是已部署示例项目
- 打开config文件夹中的conf.json文件,修改url即可指向个人的已部署项目,首次打开需要进行登录,速度较慢
- 在custom.py文件中可自定义用户名和SVG格式头像(来源)。
- 在部署的项目源码中编辑set_context.py,即可增加预设定的上下文选项,会自动同步到应用中。
- 有条件的可以考虑把helper.py中的文件读写逻辑改为云数据库操作,防止历史记录丢失。
- 最早是基于shan-mx/ChatGPT_Streamlit项目进行的改造,感谢。
- 预设的提示语参考自binary-husky/chatgpt_academic项目和f/awesome-chatgpt-prompts项目,感谢。
- 语音交互功能参考了项目talk-to-chatgpt和Voice Control for ChatGPT的实现,感谢。
- 本地免科学上网功能可以借助项目openai-forward,感谢。