chatbot-ui:开源AI聊天应用,支持本地与云端部署,兼容多模型

AI chat for any model.

分支8Tags0
文件最后提交记录最后更新时间
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前

聊天机器人UI

面向所有人的开源AI聊天应用。

Chatbot UI 示例图

演示

最新演示可点击此处查看

更新动态

大家好!我已经听取了你们的反馈,并正在努力准备一次重大更新。

包括简化部署流程、提升后端兼容性以及优化移动设备布局等功能正在路上。

我很快会回来。

-- Mckay

官方托管版本

无需自建服务器,直接使用Chatbot UI!

官方托管版本的入口位于这里

赞助

如果您发现Chatbot UI有用,请考虑通过赞助来支持我的开源工作吧😊。

问题

我们将“问题”限制为与代码库实际相关的问题。

我们收到了大量超出范围的问题,如功能请求、云服务提供商问题等。

如果遇到安装等使用问题,请参考上方“讨论”选项卡中的“帮助”部分。

与代码库无关的问题可能会立即被关闭。

讨论

我们非常鼓励您参与上方的“讨论”!

这里是提问、分享想法和获取帮助的好地方。

很可能您的疑问也是他人的疑问。

经典版代码

Chatbot UI最近已升级至2.0版本。

1.0版本的代码可在legacy分支找到。

更新指南

在本地Chatbot UI仓库根目录的终端中运行以下命令:

npm run update

如果您运行的是托管实例,还需执行:

npm run db-push

以将最新的迁移应用到线上数据库。

本地快速启动

遵循以下步骤在本地运行自己的Chatbot UI实例。

完整的视频教程可以在此处观看

1. 克隆仓库

git clone https://github.com/mckaywrigley/chatbot-ui.git

2. 安装依赖

在本地Chatbot UI仓库的根目录打开终端并运行:

npm install

3. 安装Supabase并本地运行

为何选择Supabase?

之前我们使用本地浏览器存储数据,但这有几个不足之处:

  • 安全隐患
  • 存储空间有限
  • 不适用于多模式场景

转而使用Supabase是因为它易于使用、开源、基于PostgreSQL,并提供了免费层用于托管实例。

未来我们会支持更多服务提供商,为您提供更多选择。

1. 安装Docker

要本地运行Supabase,需要先安装Docker,可从这里免费下载。

2. 安装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. 启动Supabase

在本地Chatbot UI仓库根目录的终端中运行:

supabase start

4. 设置密钥

1. 环境变量

在本地Chatbot UI仓库根目录的终端中运行:

cp .env.local.example .env.local

通过运行获取必要值:

supabase status

注意:使用supabase status获得的API URL作为NEXT_PUBLIC_SUPABASE_URL

编辑.env.local文件并填入这些值。 如果环境变量设置,将在用户设置中禁用输入。

2. SQL设置

在第一个迁移文件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. 安装Ollama(本地模型可选)

遵循此处的说明操作。

6. 本地运行应用程序

在本地Chatbot UI仓库根目录的终端中运行:

npm run chat

现在,您的本地Chatbot UI实例应该在http://localhost:3000运行。请确保使用兼容的Node.js版本(例如v18)。 您可以访问http://localhost:54323/project/default/editor查看后台GUI。

托管快速启动

遵循以下步骤在云端部署您的Chatbot UI实例。 视频教程即将推出。

1. 按照本地快速启动操作

重复以上“本地快速启动”中的步骤1-4。 建议为本地和托管实例创建单独的仓库。为您的托管实例在GitHub上创建一个新的仓库并将代码推送到该仓库中。

2. 使用Supabase配置后端

1. 创建新项目

访问Supabase并创建一个新项目。

2. 获取项目值

进入项目仪表板后,点击底部左侧的“项目设置”图标。

这里您将获得以下环境变量的值:

在“设置”中点击左侧的“API”文字标签。 获取以下环境变量的值:

  • 项目URL:在“API设置”中查找“项目URL”
  • 匿名密钥:在“项目API密钥”中查找“anon公共”
  • 服务角色密钥:在“项目API密钥”中查找“service_role”(提示:视其为密码处理!)

3. 配置身份验证

接下来,点击左侧最远的“认证”图标。 在文本标签中点击“提供者”,确保“电子邮件”已启用。 个人实例推荐关闭“确认电子邮件”。

4. 连接到托管数据库

打开您托管实例的Chatbot UI仓库。 在第一个迁移文件supabase/migrations/20240108234540_setup.sql中,替换2个值为您刚获得的值:

  • project_url(第53行):使用上面的“项目URL”值
  • service_role_key(第54行):使用上面的“服务角色密钥”值

接着,在本地Chatbot UI仓库根目录的终端中执行以下操作。 登录Supabase,运行:

supabase login

然后链接您的项目,使用上面获得的“项目ID”运行命令:

supabase link --project-ref <project-id>

项目应已链接。 最后,推送您的数据库到Supabase,运行:

supabase db push

现在,您的托管数据库应已设置完成!

3. 使用Vercel配置前端

前往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联系Mckay。

项目介绍

chatbot-ui - 一款开源的人工智能模型对话界面,能便捷地与OpenAI的API相结合,适用于打造聊天机器人。【此简介由AI生成】

定制我的领域
26833.34 K9.42 K访问 GitHub