8.2 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
Chatbot UI
面向所有人的开源 AI 聊天应用。
Demo
在此查看最新演示 here.
Updates
大家好!我已收到大家的反馈,正在努力推进一次重大更新。
更简单的部署方式、更好的后端兼容性,以及改进的移动端布局等功能即将推出。
很快回来。
-- Mckay
Official Hosted Version
无需自行托管即可使用 Chatbot UI!
在此查找 Chatbot UI 的官方托管版本 here.
Sponsor
如果你觉得 Chatbot UI 有用,请考虑 sponsoring 我以支持我的开源工作 :)
Issues
我们将 "Issues" 限制为与代码库相关的实际问题。
我们收到了过多与功能请求、云服务商问题等类似的问题。
如果你在设置等方面遇到问题,请参阅上方 "Discussions" 标签页中的 "Help" 部分。
与代码库无关的 Issue 可能会被立即关闭。
Discussions
我们强烈鼓励你参与上方的 "Discussions" 标签页!
Discussions 是提问、分享想法和获取帮助的好地方。
很可能如果你有某个问题,其他人也有同样的问题。
Legacy Code
Chatbot UI 最近已更新至 2.0 版本。
1.0 版本的代码可在 legacy 分支上找到。
Updating
在你本地 Chatbot UI 仓库根目录的终端中,运行:
npm run update
如果你运行的是托管实例,还需要运行:
npm run db-push
以将最新迁移应用到你的线上数据库。
Local Quickstart
按照以下步骤在本地运行你自己的 Chatbot UI 实例。
你可以在此观看完整视频教程 here.
1. Clone the Repo
git clone https://github.com/mckaywrigley/chatbot-ui.git
2. Install Dependencies
在你本地 Chatbot UI 仓库根目录打开终端并运行:
npm install
3. Install Supabase & Run Locally
Why Supabase?
此前,我们使用本地浏览器存储来保存数据。然而,出于以下几个原因,这并不是一个好的解决方案:
- 安全问题
- 存储空间有限
- 限制多模态(multi-modal)使用场景
我们现在使用 Supabase,因为它易于使用、开源、基于 Postgres,并且为托管实例提供免费套餐。
未来我们将支持其他服务商,为你提供更多选择。
1. Install Docker
你需要安装 Docker 才能在本地运行 Supabase。你可以在此 here 免费下载。
2. Install Supabase CLI
MacOS/Linux
brew install supabase/tap/supabase
Windows
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
3. Start Supabase
在你本地 Chatbot UI 仓库根目录的终端中,运行:
supabase start
4. Fill in Secrets
1. Environment Variables
在你本地 Chatbot UI 仓库根目录的终端中,运行:
cp .env.local.example .env.local
通过运行以下命令获取所需值:
supabase status
Note: 对 NEXT_PUBLIC_SUPABASE_URL 使用来自 supabase status 的 API URL
现在前往你的 .env.local 文件并填写这些值。
如果设置了该环境变量,用户设置中的对应输入框将被禁用。
2. SQL Setup
在第 1 个迁移文件 supabase/migrations/20240108234540_setup.sql 中,你需要将 2 个值替换为上面获取的值:
project_url(第 53 行):如果你不更改config.toml文件中的project_id,则http://supabase_kong_chatbotui:8000(默认值)可以保持不变service_role_key(第 54 行):该值来自运行supabase status
这可以防止存储文件无法被正确删除的问题。
5. Install Ollama (optional for local models)
按照此处的说明操作 here.
6. Run app locally
在你本地 Chatbot UI 仓库根目录的终端中,运行:
npm run chat
你的本地 Chatbot UI 实例现在应已在 http://localhost:3000. 运行。请务必使用兼容的 Node 版本(即 v18)。
你可以在 http://localhost:54323/project/default/editor. 查看后端 GUI。
Hosted Quickstart
按照以下步骤在云端运行你自己的 Chatbot UI 实例。
视频教程即将推出。
1. Follow Local Quickstart
重复上文 "Local Quickstart" 中的步骤 1-4。
你的本地实例和托管实例应使用不同的仓库。
在 GitHub 上为你的 Chatbot UI 托管实例创建一个新仓库,并将代码推送到该仓库。
2. Setup Backend with Supabase
1. Create a new project
前往 Supabase 并创建一个新项目。
2. Get Project Values
进入项目仪表板后,点击左下角最下方的 "Project Settings" 图标标签页。
在此你可以获取以下环境变量的值:
-
Project Ref:在 "General settings" 中以 "Reference ID" 显示 -
Project ID:在你的项目仪表板 URL 中(例如:https://supabase.com/dashboard/project/<YOUR_PROJECT_ID>/settings/general)
仍在 "Settings" 中时,点击左侧的 "API" 文本标签页。
在此你可以获取以下环境变量的值:
-
Project URL:在 "API Settings" 中以 "Project URL" 显示 -
Anon key:在 "Project API keys" 中以 "anon public" 显示 -
Service role key:在 "Project API keys" 中以 "service_role" 显示(提醒:请像对待密码一样保管!)
3. Configure Auth
接下来,点击最左侧的 "Authentication" 图标标签页。
在文本标签页中,点击 "Providers",并确保 "Email" 已启用。
我们建议为你自己的个人实例关闭 "Confirm email"。
4. Connect to Hosted DB
打开你的 Chatbot UI 托管实例仓库。
在第 1 个迁移文件 supabase/migrations/20240108234540_setup.sql 中,你需要将 2 个值替换为上面获取的值:
project_url(第 53 行):使用上面的Project URL值service_role_key(第 54 行):使用上面的Service role key值
现在,在你本地 Chatbot UI 仓库根目录打开终端。我们将在此执行几条命令。
通过运行以下命令登录 Supabase:
supabase login
接下来,使用上面获取的 "Project ID" 运行以下命令以关联你的项目:
supabase link --project-ref <project-id>
你的项目现在应已关联。
最后,通过运行以下命令将数据库推送到 Supabase:
supabase db push
你的托管数据库现在应已设置完成!
3. Setup Frontend with Vercel
前往 Vercel 并创建一个新项目。
在设置页面中,导入你 Chatbot UI 托管实例的 GitHub 仓库。在项目 Settings 的 "Build & Development Settings" 部分,将 Framework Preset 切换为 "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 密钥设置了环境变量,用户设置中的对应输入框将被禁用。
点击 "Deploy" 并等待前端部署完成。
部署完成后,你应该可以通过 Vercel 提供的 URL 使用你的 Chatbot UI 托管实例。
贡献
我们正在编写贡献指南。
联系方式
请在 Twitter/X 联系 Mckay