适合所有人的开源人工智能聊天应用程序。
在这里查看最新的演示。
大家好!我已听到您的反馈,并正在努力进行重大更新。
诸如更简单的部署、更好的后端兼容性和改进的移动布局之类的事情正在酝酿之中。
快回来吧。
——麦凯
使用聊天机器人 UI,无需自行托管!
在此处查找 Chatbot UI 的官方托管版本。
如果您发现 Chatbot UI 有用,请考虑赞助我以支持我的开源工作:)
我们将“问题”限制为与代码库相关的实际问题。
我们遇到了大量的问题,例如功能请求、云提供商问题等。
如果您遇到设置等问题,请参阅上面“讨论”选项卡中的“帮助”部分。
与代码库无关的问题可能会立即关闭。
我们强烈鼓励您参与上面的“讨论”选项卡!
讨论是提出问题、分享想法和获取帮助的好地方。
如果您有问题,其他人很可能也会有同样的问题。
Chatbot UI 最近更新至 2.0 版本。
1.0 的代码可以在legacy
分支上找到。
在本地 Chatbot UI 存储库根目录的终端中,运行:
npm run update
如果您运行托管实例,您还需要运行:
npm run db-push
将最新的迁移应用到您的实时数据库。
请按照以下步骤操作,让您自己的 Chatbot UI 实例在本地运行。
您可以在此处观看完整的视频教程。
git clone https://github.com/mckaywrigley/chatbot-ui.git
在本地 Chatbot UI 存储库的根目录中打开终端并运行:
npm install
以前,我们使用本地浏览器存储来存储数据。然而,由于以下几个原因,这不是一个好的解决方案:
我们现在使用 Supabase,因为它易于使用,它是开源的,它是 Postgres,并且它有一个用于托管实例的免费层。
未来我们将支持其他提供商,为您提供更多选择。
您需要安装 Docker 才能在本地运行 Supabase。您可以在这里免费下载。
MacOS/Linux
brew install supabase/tap/supabase
视窗
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
在本地 Chatbot UI 存储库根目录的终端中,运行:
supabase start
在本地 Chatbot UI 存储库根目录的终端中,运行:
cp .env.local.example .env.local
通过运行获取所需的值:
supabase status
注意:使用来自supabase status
的API URL
作为NEXT_PUBLIC_SUPABASE_URL
现在转到.env.local
文件并填写值。
如果设置了环境变量,它将禁用用户设置中的输入。
在第一个迁移文件supabase/migrations/20240108234540_setup.sql
中,您需要将 2 个值替换为上面获得的值:
project_url
(第53行): http://supabase_kong_chatbotui:8000
(默认)如果您不更改config.toml
文件中的project_id
,则可以保持不变service_role_key
(第54行):您通过运行supabase status
获得此值这可以防止存储文件未被正确删除的问题。
请按照此处的说明进行操作。
在本地 Chatbot UI 存储库根目录的终端中,运行:
npm run chat
您的 Chatbot UI 本地实例现在应该在 http://localhost:3000 上运行。请务必使用兼容的节点版本(即 v18)。
您可以在 http://localhost:54323/project/default/editor 查看后端 GUI。
请按照以下步骤操作,让您自己的 Chatbot UI 实例在云中运行。
视频教程即将推出。
重复上面“本地快速入门”中的步骤 1-4。
您需要为本地实例和托管实例提供单独的存储库。
在 GitHub 上为您托管的 Chatbot UI 实例创建一个新存储库,并将代码推送到其中。
转到 Supabase 并创建一个新项目。
进入项目仪表板后,单击最左下角的“项目设置”图标选项卡。
在这里您将获得以下环境变量的值:
Project Ref
:在“常规设置”中作为“参考 ID”找到
Project ID
:可在项目仪表板的 URL 中找到(例如:https://supabase.com/dashboard/project/<YOUR_PROJECT_ID>/settings/general)
仍在“设置”中,单击左侧的“API”文本选项卡。
在这里您将获得以下环境变量的值:
Project URL
:在“API 设置”中找到“项目 URL”
Anon key
:在“项目 API 密钥”中作为“匿名公共”找到
Service role key
:在“项目 API 密钥”中找到“service_role”(提醒:将其视为密码!)
接下来,单击最左侧的“身份验证”图标选项卡。
在文本选项卡中,单击“提供商”并确保启用“电子邮件”。
我们建议为您自己的个人实例关闭“确认电子邮件”。
打开托管的 Chatbot UI 实例的存储库。
在第一个迁移文件supabase/migrations/20240108234540_setup.sql
中,您需要将 2 个值替换为上面获得的值:
project_url
(第 53 行):使用上面的Project URL
值service_role_key
(第 54 行):使用上面的Service role key
现在,在本地 Chatbot UI 存储库的根目录中打开一个终端。我们将在这里执行一些命令。
通过运行以下命令登录 Supabase:
supabase login
接下来,通过使用上面获得的“项目 ID”运行以下命令来链接您的项目:
supabase link --project-ref < project-id >
您的项目现在应该已链接。
最后,通过运行以下命令将数据库推送到 Supabase:
supabase db push
您的托管数据库现在应该已设置完毕!
转到 Vercel 并创建一个新项目。
在设置页面中,导入 Chatbot UI 托管实例的 GitHub 存储库。在项目设置的“构建和开发设置”部分中,将框架预设切换为“Next.js”。
在环境变量中,从上面获得的值中添加以下内容:
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
NEXT_PUBLIC_OLLAMA_URL
(仅在使用本地 Ollama 模型时需要;默认值: http://localhost:11434
)您还可以添加 API 密钥作为环境变量。
OPENAI_API_KEY
AZURE_OPENAI_API_KEY
AZURE_OPENAI_ENDPOINT
AZURE_GPT_45_VISION_NAME
有关环境变量的完整列表,请参阅“.env.local.example”文件。如果为 API 密钥设置了环境变量,则会禁用用户设置中的输入。
单击“部署”并等待前端部署。
部署后,您应该能够通过 Vercel 提供的 URL 使用托管的 Chatbot UI 实例。
我们正在制定贡献指南。
在 Twitter/X 上给 Mcka 留言