English | 简体中文
Sdcb Chats 是一个强大且灵活的大语言模型前端,支持多种功能和平台。无论您是希望管理多种模型接口,还是需要一个简单的部署流程,Sdcb Chats 都能满足您的需求。
- 多模型支持:动态管理多种大语言模型接口。
- 视觉模型支持:集成视觉模型,增强用户交互体验。
- 用户权限管理:提供精细的用户权限设置,确保安全性。
- 账户余额管理:实时跟踪和管理用户账户余额。
- 模型管理:轻松添加、删除和配置模型。
- API 网关功能:基于 OpenAI 协议透明地转发用户的聊天请求。
- 简单部署:支持 4 种操作系统/平台架构的 Docker 镜像。此外,提供 8 种不同操作系统的可执行文件,方便不使用 Docker 的用户一键部署。
- 多数据库支持: 兼容 SQLite、SQL Server 和 PostgreSQL 数据库,除了数据库外,不依赖其他组件。
- 多文件服务支持: 兼容本地文件,AWS S3、Minio、Aliyun OSS、Azure Blob Storage等文件服务,可运行时配置修改。
- 多种登录方式支持: 支持Keycloak SSO,支持手机短信验证码登录。
Chats使用C#
/TypeScript
开发,有关如何编译Chats,请查看 开发文档链接
对于大多数用户而言,Docker 提供了最简单快速的部署方式。以下是一步到位的部署命令:
mkdir ./AppData && chmod 777 ./AppData && docker run --restart unless-stopped --name sdcb-chats -e DBType=sqlite -e ConnectionStrings__ChatsDB="Data Source=./AppData/chats.db" -v ./AppData:/app/AppData -p 8080:8080 sdcb/chats:latest
-
数据库存储位置:默认情况下,Chats 的 SQLite 数据库会在
./AppData
目录下创建。为了避免每次重新启动 Docker 容器时数据库被意外清空,我们首先创建一个AppData
文件夹并将其权限设置为可写(chmod 777
)。 -
端口映射:该命令将容器的 8080 端口映射到主机的 8080 端口,使得您可以通过
http://localhost:8080
访问应用。 -
数据库类型配置:
DBType
环境变量指定数据库类型,默认值为sqlite
。除了 SQLite,该应用还支持使用mssql
(或sqlserver
)和postgresql
(或pgsql
)作为数据库选项。 -
连接字符串:
ConnectionStrings__ChatsDB
的默认值为Data Source=./AppData/chats.db
,它是连接数据库的 ADO.NET 连接字符串。 -
非首次运行:如果您的
AppData
目录已经创建并且 Docker 用户对其有写入权限,可以简化启动命令如下:docker run --restart unless-stopped --name sdcb-chats -v ./AppData:/app/AppData -p 8080:8080 sdcb/chats:latest
-
数据库初始化:容器启动后,如果数据库文件不存在,将自动创建并插入初始数据。初始管理员用户名为
chats
,默认密码为RESET!!!
。强烈建议您在首次登录后立即前往左下角的用户管理界面,设置一个新密码以确保安全。
通过以上步骤,您将能顺利使用 Docker 部署和运行应用。如果在部署过程中遇到任何问题,可以联系我们。
Chats提供了以下几个镜像:
描述 | Docker 镜像 |
---|---|
Latest | docker.io/sdcb/chats:latest |
r{version} | docker.io/sdcb/chats:r{version} |
Linux x64 | docker.io/sdcb/chats:r{version}-linux-x64 |
Linux ARM64 | docker.io/sdcb/chats:r{version}-linux-arm64 |
Windows Nano Server 1809 | docker.io/sdcb/chats:r{version}-nanoserver-1809 |
Windows Nano Server LTSC 2022 | docker.io/sdcb/chats:r{version}-nanoserver-ltsc2022 |
说明:
Latest
和r{version}
镜像中已经包含了以下四个操作系统版本的支持:- Linux x64
- Linux ARM64
- Windows Nano Server 1809(适用于 Windows Server 2019)
- Windows Nano Server LTSC 2022(适用于 Windows Server 2022)
因此,用户在使用 docker pull
时,无需指定具体的操作系统版本,Docker 会自动选择适合您系统的正确版本。这一功能是通过 Docker 的 manifest 创建实现的,确保了用户能够轻松获取与其环境兼容的镜像。
请注意,r{version}
中的 {version}
表示具体的版本号,例如 r141
(在编写文档时的最新版本号)。
对于不便使用 Docker 部署的环境,Chats 提供了 8 种操作系统或架构的直接部署选项。可从以下链接获取相应的编译包:
平台 | Github下载链接 | 替代下载链接 |
---|---|---|
Windows 64位 | chats-win-x64.zip | chats-win-x64.zip |
Linux 64位 | chats-linux-x64.zip | chats-linux-x64.zip |
Linux ARM64 | chats-linux-arm64.zip | chats-linux-arm64.zip |
Linux musl x64 | chats-linux-musl-x64.zip | chats-linux-musl-x64.zip |
Linux musl ARM64 | chats-linux-musl-arm64.zip | chats-linux-musl-arm64.zip |
macOS ARM64 | chats-osx-arm64.zip | chats-osx-arm64.zip |
macOS x64 | chats-osx-x64.zip | chats-osx-x64.zip |
依赖.NET的通用包 | chats.zip | chats.zip |
纯前端文件 | chats-fe.zip | chats-fe.zip |
-
指定版本下载地址:
- 若需下载特定版本的 Chats,将链接中的
release/latest/download
替换为releases/download/r-{version}
。例如,版本141
的 Linux ARM64 文件链接为:https://github.com/sdcb/chats/releases/download/r-141/chats-linux-arm64.zip
- 若需下载特定版本的 Chats,将链接中的
-
替代下载基础地址:
- 在访问不便时,可使用替代下载地址,将{version}调整为具体版本号或使用
latest
:https://io.starworks.cc:88/chats/r{version}/{artifact-id}.zip
- 例如,通过替代下载直接获取最新的 Windows 64-bit 版:
https://io.starworks.cc:88/chats/latest/chats-win-x64.zip
- 在访问不便时,可使用替代下载地址,将{version}调整为具体版本号或使用
解压AOT可执行文件后的目录结构如下:
C:\Users\ZhouJie\Downloads\chats-win-x64>dir
2024/12/06 16:35 <DIR> .
2024/12/06 16:35 <DIR> ..
2024/12/06 16:35 119 appsettings.Development.json
2024/12/06 16:35 417 appsettings.json
2024/12/06 16:35 367,144 aspnetcorev2_inprocess.dll
2024/12/06 16:35 84,012,075 Chats.BE.exe
2024/12/06 16:35 200,296 Chats.BE.pdb
2024/12/06 16:35 1,759,232 e_sqlite3.dll
2024/12/06 16:35 504,872 Microsoft.Data.SqlClient.SNI.dll
2024/12/06 16:35 465 web.config
2024/12/06 16:35 <DIR> wwwroot
- 启动应用:运行
Chats.BE.exe
即可启动 Chats 应用,该文件名虽指“后端”,但实际同时包含前端和后端组件。 - 数据库配置:默认情况下,应用将在当前目录创建名为
AppData
的目录,并以 SQLite 作为数据库。命令行参数可用于指定不同的数据库类型:.\Chats.BE.exe --DBType=mssql --ConnectionStrings:ChatsDB="Data Source=(localdb)\mssqllocaldb; Initial Catalog=ChatsDB; Integrated Security=True"
- 参数
DBType
:可选sqlite
、mssql
或pgsql
。 - 参数
--ConnectionStrings:ChatsDB
:用于指定数据库的ADO.NET连接字符串。
- 参数
- 对于下载的
chats.zip
,将需要.NET SDK支持。安装.NET运行时后,使用dotnet Chats.BE.dll
启动程序。
- OpenAI OpenAI
- Azure(或兼容OpenAI协议的API,如ollama)
- 通义千问(Dashscope)
- 月之暗面(Moonshot)
- 文心一言(Wenxin Qianfan)
- 智谱清言(Zhipu AI)
- ...