适合所有人的开源AI聊天应用。
演示
点击这里查看最新演示。
更新
大家好!我听到了你的反馈,正在努力做一个重大更新。
诸如更简单的部署、更好的后端兼容性以及改进的移动端布局等功能正在逐步推出。
很快回来。
–麦凯
官方托管版本
使用聊天机器人界面,无需自己托管!
点击这里找到官方托管的聊天机器人UI版本。
发起人
如果你觉得聊天机器人界面有用,请考虑赞助我支持我的开源工作:)
问题
我们将“问题”限制在与代码库相关的实际问题。
我们遇到了大量问题,比如功能请求、云服务商问题等。
如果你在设置方面遇到问题,请参考上方“讨论”标签中的“帮助”部分。
与代码库无关的问题很可能会立即关闭。
讨论
我们强烈鼓励你参与上方的“讨论”标签!
讨论区是提问、分享想法和寻求帮助的好地方。
如果你有问题,很可能别人也会有同样的问题。
遗产代码
聊天机器人界面最近更新到了2.0版本。
1.0的代码可以在该分支中找到。legacy
更新
在你本地聊天机器人UI仓库根端的终端里,运行:
npm run update
如果你运行托管实例,还需要运行:
npm run db-push
将最新的迁移应用到您的实时数据库。
本地快速启动
请按照以下步骤,让你自己的聊天机器人UI实例在本地运行。
你可以在这里观看完整的视频教程。
1. 克隆回收
git clone https://github.com/mckaywrigley/chatbot-ui.git
2. 安装依赖
在本地聊天机器人UI仓库的根目录中打开终端并运行:
npm install
3. 安装 Supabase 并本地运行
为什么选择Supabase?
之前,我们使用本地浏览器存储来存储数据。然而,这并不是一个好的解决方案,原因有几个:
- 安全问题
- 存储空间有限
- 限制多模态应用场景
我们现在用Supabase,因为它易用,开源,是Postgres,而且有免费的托管实例套餐。
我们未来会支持其他服务提供者,为您提供更多选择。
1. 安装Docker
你需要安装 Docker 才能本地运行 Supabase。你可以在这里免费下载。
2. 安装 Supabase CLI
MacOS/Linux
brew install supabase/tap/supabase
窗户
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
3. 启动Supabase
在你本地聊天机器人UI仓库根端的终端里,运行:
supabase start
4. 填充秘密
1. 环境变量
在你本地聊天机器人UI仓库根端的终端里,运行:
cp .env.local.example .env.local
通过运行以下方式获得所需数值:
supabase status
注:使用自API URLsupabase statusNEXT_PUBLIC_SUPABASE_URL
现在去你的文件,填写这些数值。.env.local
如果设置了环境变量,它会在用户设置中禁用输入。
2. SQL 设定
在第一个迁移文件中,你需要用上面得到的两个值替换:supabase/migrations/20240108234540_setup.sql
project_url(第53行):(默认)如果你不更改文件中的“你的”,可以保持不变http://supabase_kong_chatbotui:8000project_idconfig.tomlservice_role_key(第54行):你是通过跑步得到这个数值的supabase status
这样可以防止存储文件被正确删除的问题。
5. 安装 Ollama(本地车型可选)
请按照这里的说明作。
6. 本地运行应用
在你本地聊天机器人UI仓库根端的终端里,运行:
npm run chat
你的本地聊天机器人界面实例现在应该运行在 http://localhost:3000。一定要用兼容的节点版本(比如v18)。
你可以在 http://localhost:54323/project/default/editor 查看你的后端图形界面。
托管快速启动
按照这些步骤,让你自己的聊天机器人UI实例在云端运行。
视频教程即将推出。
1. 关注本地快速启动
重复上面“本地快速启动”中的第1-4步。
你需要为本地和托管实例分别设立独立仓库。
在GitHub上为你的聊天机器人UI实例创建一个新仓库,然后把你的代码推送到那里。
2. 用Supabase搭建后端
1. 创建一个新项目
去Supabase创建一个新项目。
2. 获取项目价值
进入项目仪表盘后,点击左下角的“项目设置”图标标签。
这里你将获得以下环境变量的数值:
-
Project Ref:在“通用设置”中作为“参考ID”找到 -
Project ID: 可在你项目仪表盘的网址中找到(例如:https://supabase.com/dashboard/project/<YOUR_PROJECT_ID>/settings/general)
在“设置”中,点击左侧的“API”文本标签。
这里你将获得以下环境变量的数值:
-
Project URL: 可在“API 设置”中找到,地址为“项目URL” -
Anon key: 在“Project API keys”中以“匿名公开”身份发现 -
Service role key: 在“Project API keys”中被发现为“service_role”(提醒:请把这当作密码!)
3. 配置认证
接下来,点击最左侧的“认证”图标标签。
在文本标签页中,点击“提供者”,确保“邮件”已启用。
我们建议关闭你个人实例中的“确认邮件”。
4. 连接到托管数据库
打开你的托管聊天机器人界面仓库。
在第一个迁移文件中,你需要用上面得到的两个值替换:supabase/migrations/20240108234540_setup.sql
project_url(第53行):请用上面的数值Project URLservice_role_key(第54行):请使用上方的数值Service role key
现在,在你本地聊天机器人UI仓库的根目录中打开一个终端。我们会执行几个指令。
通过运行登录Supabase:
supabase login
接下来,通过运行你上面获得的“Project ID”命令,链接你的项目:
supabase link --project-ref <project-id>
你的项目现在应该已经被链接了。
最后,通过运行以下程序将数据库推送到Supabase:
supabase db push
您的托管数据库现在应该已经搭建完成!
3. 用Vercel搭建前端
去Vercel创建一个新项目。
在设置页面,导入你托管的Chatbot UI实例的GitHub仓库。在项目设置中,“构建与开发设置”部分,将框架预设切换为“Next.js”。
在环境变量中,根据你上面得到的值添加以下内容:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYNEXT_PUBLIC_OLLAMA_URL(仅在使用本地 Ollama 模型时需要;默认情况下:http://localhost:11434)
你也可以把API密钥作为环境变量添加。
OPENAI_API_KEYAZURE_OPENAI_API_KEYAZURE_OPENAI_ENDPOINTAZURE_GPT_45_VISION_NAME
完整的环境变量列表请参考“.env.local.example”文件。如果环境变量设置为 API 密钥,它会在用户设置中禁用输入。
点击“部署”,等待前端部署。
部署完成后,你应该可以通过Vercel提供的URL使用你托管的聊天机器人UI实例。


没有回复内容