项目介绍:ChatGPT-Web
ChatGPT-Web 是一个基于 OpenAI 技术构建的对话和图片生成应用。用户可以在不同的架构分支上进行部署和使用,包括 Next 和 Astro 框架。这个项目支持多种功能,使用户可以高效地与系统进行交互,并为开发者提供了灵活的配置选项。
功能概述
基础功能
- 对话功能:使用 OpenAI 的 API
/v1/chat/completions
实现对话功能。 - 图片生成:通过 OpenAI API
/v1/images/generations
生成图片。 - Prompt 设置:支持自定义 prompt,并提供多个模版供选择。
- 移动端对话:页面样式移动端优先,使得用户在各类设备上均能获得良好的体验。
- 访问控制:可设置访问密码,保障对话安全。
扩展功能
- 收藏与导出:允许用户收藏、导入、导出 prompt,并使用浏览器本地缓存进行存储。
- 多会话支持:支持多个同时会话,并能够进行连续对话。
- 消息管理:显示令牌使用量,支持消息和代码的复制。
- 搜索与模式:通过输入
/
搜索 prompt,支持国际化及夜间模式。
高级功能
- 语音交互:支持语音识别(ASR)和语音合成(TTS),利用浏览器 API 增强用户体验。
使用说明
- 密钥管理:保存的 OpenAI 密钥明文存储在本地存储中,API 关键字以明文传输。
- 消息管理:消息列表以 JSON 格式存储在本地。
- 输入功能:当输入框为空时,可以通过按上箭头填充上一条消息。
连续对话
- 识别标识:每个连续对话都会有一个唯一的 conversionId 用于识别。
- 交互管理:发送和回复的内容用图标区分是否参与在连续对话中。
- 历史记录:根据 conversionId 会话从历史消息中寻找相关信息。
- 令牌限制:设有 token 限制,以确保至少保留 1000 个 token 用于回复。
环境变量
为保证项目运行,需设置以下环境变量:
OPENAI_API_KEY
OPENAI_API_HOST
OPENAI_API_MODEL
ACCESS_CODE
(用于设置访问密码)
鸣谢
特别感谢以下开源项目对 ChatGPT-Web 项目的支持:
chatgpt-demo
、ChatGPT-Shortcut
、awesome-chatgpt-prompts
等众多优秀的开源项目和开发者。
项目使用了一些依赖库来实现其功能,包括 nextjs、react、chakra-ui 及其他多种库,这些工具共同构建了一个强大而灵活的平台。
简而言之,ChatGPT-Web 是集成了多种强大功能的开源项目,注重用户体验和开发者的灵活性,适合不同需求的用户进行部署和使用。