面向所有人的开源AI聊天应用
查看最新演示请访问此处
各位好!我已收到大家的反馈,正在全力开发重大更新。
简化部署流程、增强后端兼容性、优化移动端布局等功能即将推出。
敬请期待。
-- Mckay
无需自行部署即可使用Chatbot UI!
官方托管版本请访问chatbotui.com
如果您觉得Chatbot UI有用,请考虑赞助支持我的开源工作 :)
我们仅限处理与代码库相关的实质性问题。
当前收到过多非代码问题(如功能请求、云服务商问题等)。
若遇到安装配置等问题,请前往上方"Discussions"标签页的"Help"版块寻求帮助。
与代码无关的issue将可能被直接关闭。
强烈建议您参与上方"Discussions"标签页的讨论!
这里是提问交流、分享创意和获取帮助的理想场所。
您的问题很可能也是其他人的疑问。
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
在仓库根目录执行:
npm install
此前我们使用浏览器本地存储数据,但存在以下问题:
现采用Supabase因其易用、开源、基于Postgres且提供免费托管方案。
未来将支持更多服务商以提供选择。
需先安装Docker,下载地址此处
MacOS/Linux
brew install supabase/tap/supabase
Windows
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
在仓库根目录执行:
supabase start
在仓库根目录执行:
cp .env.local.example .env.local
通过以下命令获取所需值:
supabase status
注:NEXT_PUBLIC_SUPABASE_URL
使用supabase status
输出的API URL
在.env.local
文件中填写对应值。
若设置环境变量,将禁用用户设置中的对应输入项。
在首份迁移文件supabase/migrations/20240108234540_setup.sql
中需替换两个值:
project_url
(第53行):若未修改config.toml
中的project_id
,可保留默认值http://supabase_kong_chatbotui:8000
service_role_key
(第54行):使用supabase status
获取的值此操作可避免存储文件删除异常问题。
安装指南见此处
在仓库根目录执行:
npm run chat
应用将在http://localhost:3000运行(需使用兼容的node版本如v18)。
后端管理界面见http://localhost:54323/project/default/editor
按照以下步骤在云端运行Chatbot UI实例。
视频教程即将推出。
重复"本地快速入门"中的步骤1-4。
建议为云端实例创建独立代码库。
在GitHub新建仓库并推送代码。
访问Supabase创建项目。
进入项目仪表盘后,点击左下角"Project Settings"图标标签页。
在此获取以下环境变量值:
Project Ref
:"General settings"中的"Reference ID"Project ID
:仪表盘URL中的项目ID(如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"(需保密!)点击左侧"Authentication"图标,在"Providers"中确保启用"Email"。
个人实例建议关闭"Confirm email"。
在云端实例代码库中,修改首份迁移文件supabase/migrations/20240108234540_setup.sql
:
project_url
(第53行):使用上述Project URL
service_role_key
(第54行):使用上述Service role key
在仓库根目录依次执行:
登录Supabase:
supabase login
关联项目(使用上述Project ID):
supabase link --project-ref <project-id>
推送数据库:
supabase db push
至此托管数据库配置完成。
访问Vercel创建新项目。
在设置页面导入GitHub仓库,于"Build & Development Settings"中将框架预设改为"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'文件。设置后将禁用用户设置中的对应输入项。
点击"Deploy"等待部署完成,即可通过Vercel提供的URL访问托管实例。
我们正在编写贡献指南。
通过Twitter/X联系Mckay