开源AI多人聊天室(AI Chatroom)
项目地址:https://github.com/chatgptuk/AI-Chatroom
演示:https://room.chatgpt.org.uk/
项目介绍:
这个项目是一个基于Flask和Socket.IO的实时AI聊天室应用,旨在为用户提供一个可交互的在线聊天环境,结合了OpenAI的GPT模型和DALL-E模型,以实现文本对话生成和图像生成等功能。项目使用了多种前端技术如Bootstrap、Markdown-It、Highlight.js和KaTeX来提升用户体验和界面美观度。
项目主要功能:
实时聊天:用户可以通过Web界面实时发送和接收消息。消息通过Socket.IO与服务器进行双向通信,确保即时传递。
AI对话生成:
- 集成了OpenAI的GPT模型,用户可以通过在消息中@ChatGPT来触发AI生成对话。支持不同的模型选择,如
gpt-3.5-turbo
等,满足不同的对话需求。 - 用户可以选择不同的AI模型,包括DALL-E模型,用于生成基于文本描述的图像。
- 集成了OpenAI的GPT模型,用户可以通过在消息中@ChatGPT来触发AI生成对话。支持不同的模型选择,如
图像生成:用户可以选择使用DALL-E模型,通过输入描述生成对应的图像,并在聊天窗口中实时显示生成的图像。
用户管理:
- 用户名生成和管理:系统为每个用户生成唯一的用户名,用户可以通过点击用户名旁边的编辑图标更改用户名,并将新用户名保存在
localStorage
中。 - 在线用户列表:通过侧边栏展示当前在线的用户列表,用户可以看到当前与自己一起在线的其他用户。
- 用户名生成和管理:系统为每个用户生成唯一的用户名,用户可以通过点击用户名旁边的编辑图标更改用户名,并将新用户名保存在
消息处理和存储:
- 消息历史:聊天历史保存在浏览器的
localStorage
中,用户可以在页面刷新后继续查看之前的聊天记录。 - 禁用词过滤:系统会自动过滤包含禁用词汇的消息,确保聊天内容的安全性和健康性。
- 消息频率限制:防止用户在短时间内发送过多消息,以维持聊天环境的有序性。
- 消息历史:聊天历史保存在浏览器的
命令支持和快捷输入:
- 用户在输入框中键入“/”时,系统会提供相关的命令建议,用户可以点击建议快速输入命令。
- 支持特定命令,如清空聊天历史、广播消息给所有用户等。
响应式设计:
- 该应用针对不同屏幕大小进行了优化,小屏设备上通过汉堡菜单按钮控制侧边栏的显示与隐藏,确保用户在移动设备上的良好使用体验。
前端优化:
- 使用Bootstrap提供的响应式布局,使得应用在各类设备上都能良好显示。
- 集成了Markdown-It和Highlight.js,支持消息中的Markdown语法和代码高亮显示,提供丰富的文本展示效果。
- 集成了KaTeX,使得用户可以在聊天中展示数学公式,增强学术讨论的场景应用。
项目适用场景:
该项目适用于希望快速搭建AI驱动的聊天应用的开发者、对话机器人开发学习者、以及需要实时互动功能的在线社区。用户可以通过该项目体验和扩展AI在实时聊天中的应用场景,同时也可以进一步开发定制化功能。