Skip to content

sdcb/chats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文 docker pulls QQ

Sdcb Chats 是一个强大且灵活的大语言模型前端,支持多种功能和平台。无论您是希望管理多种模型接口,还是需要一个简单的部署流程,Sdcb Chats 都能满足您的需求。

image

功能特性

  • 多模型支持:动态管理多种大语言模型接口。
  • 视觉模型支持:集成视觉模型,增强用户交互体验。
  • 用户权限管理:提供精细的用户权限设置,确保安全性。
  • 账户余额管理:实时跟踪和管理用户账户余额。
  • 模型管理:轻松添加、删除和配置模型。
  • 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 部署

对于大多数用户而言,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

说明:

  • Latestr{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

版本和下载说明

  1. 指定版本下载地址

    • 若需下载特定版本的 Chats,将链接中的release/latest/download替换为releases/download/r-{version}。例如,版本 141 的 Linux ARM64 文件链接为:
      https://github.com/sdcb/chats/releases/download/r-141/chats-linux-arm64.zip
      
  2. 替代下载基础地址

    • 在访问不便时,可使用替代下载地址,将{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
      

执行文件目录结构和运行说明

解压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:可选 sqlitemssqlpgsql
    • 参数 --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)
  • ...