Sdcb Chats:一个全新的开源大语言模型前端
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
在当前大语言模型(LLM)蓬勃发展的时代,各类 LLM 前端层出不穷。那么,为什么我们还需要另一个 LLM 前端呢? 最初的原因在于质感的追求。市面上已有的开源或不开源的大语言模型前端在用户体验上都缺少了一些类似 ChatGPT 那样的质感。因此,我们打造了 Sdcb Chats——一个基于 Apache 2.0 协议开源的项目,旨在为用户提供更优质的交互体验。 另一个原因是市场上几乎没有基于 .NET 实现的 LLM 前端,这让我个人感到非常遗憾和不满。Sdcb Chats 旨在填补这个空白,不仅为 .NET 社区带来一个功能强大的大语言模型前端,同时也展示 .NET 在现代 AI 应用中的潜力和优势。 消息内容即是一棵树在与大语言模型交互时,传统的对话形式可能会导致用户与模型“争吵”。Sdcb Chats 引入了树状消息结构,即在同一位置,用户消息可以有多个回复,LLM 的响应也可以有多个。 这种设计的优势在于:
(动图1:Sdcb Chats 的主界面展示) 如图,与其在聊完之后再与LLM争吵,不如修改Prompt。 遗憾的是,在我开发Chats之前,并没有一个开源的LLM前端支持这个功能,这也是促成我要重新再做一个的根本原因。 大语言模型功能篇多语言支持(动图2:通过修改浏览器语言,Chats 支持多语言显示) Sdcb Chats 支持多语言界面。您只需修改浏览器的语言设置,Chats 就会自动适配您的语言偏好,为全球用户提供便捷。 聊天性能统计(动图3:详细的聊天性能统计) 每次与 LLM 的对话,Chats 都会进行详尽的统计,包括:
这些数据有助于您日后进行分析和优化。 多种大语言模型支持(动图4:支持多种模型提供商,内置超过 100 款模型) Sdcb Chats 内置了对 9 种模型提供商的支持,包括 OpenAI 兼容协议在内。此外,还预置了超过 100 款模型的信息,方便您快速使用。 支持配置新的大语言模型(动图5:演示如何新增 DeepSeek 和零一万物模型) 如果预置的模型不能满足您的需求,您可以自行添加新的模型配置。在上述动图中,我们演示了如何添加 DeepSeek 和零一万物模型。 视觉模型支持(动图6:支持多模态视觉模型与图床功能) 为了增强用户体验,Chats 支持视觉模型。我们为 Chats 添加了一层图床,方便上传和管理图片。支持的图床形式包括:
API 网关功能(动图7:强大的 API 网关功能) 很多开源项目声称兼容 OpenAI API 协议的 API 网关功能,但可能仅仅是 HTTP 协议的转发。Chats 的 API 网关不仅支持按用户权限配置模型、限制模型量,还支持目的地为非 OpenAI 协议的模型提供商,进行透明代理。 API 网关支持参数(动图8:全面支持 OpenAI API 的参数和功能) Chats 的 API 网关全面支持 OpenAI API 的所有参数,包括最新的 部署与兼容性简单部署:Docker 支持(图片9:复杂的 GitHub Actions CICD 流程) Sdcb Chats 提供了便捷的 Docker 部署方式。我们在 GitHub Actions 中编写了复杂的 CICD 流程,会自动编译包括 Windows、Linux 等 4 种不同操作系统的原生支持 Docker 镜像。 动态选择合适的 Docker 镜像(图片10:通过 manifest 部署的 Docker 标签) 通过使用
说明:
因此,用户在使用 请注意, 简单部署——Linux 容器演示(动图11:在 Linux 上部署 Chats,虽然图片是在Windows pwsh中演示,但我Docker Desktop启用的是Linux容器) 在 Linux 上,您可以按照以下步骤轻松部署 Chats:
创建之后,默认的用户名为 简单部署——Windows 容器演示(动图12:在 Windows 上部署 Chats) 许多朋友可能不知道,Windows 也有原生的 Docker。Chats 支持在 Windows 上以进程隔离的方式部署 Docker,这与 Linux 的部署方式类似,但映射的目录变为了 简单部署——可运行文件安装(图片13:GitHub Actions 的 Summary 页面) 对于不方便使用 Docker 的用户,Sdcb Chats 提供了可直接运行的二进制文件。我们通过 GitHub Actions 的 Matrix strategy,自动编译了 8 种不同操作系统或平台的 Native AOT 编译版本。对于不便使用 Docker 部署的环境,Chats 提供了 8 种操作系统或架构的直接部署选项,您可以从以下链接获取相应的编译包:
(图片14:上传到 GitHub Release 和个人 Minio 服务器的编译文件) 考虑到国内用户访问 GitHub 速度较慢,我们将编译文件同时上传到了个人的 Minio 服务器,方便快速下载。 (动图15:演示如何下载和部署 Windows 版 Chats) 直接下载适合您操作系统的压缩包,解压后双击 版本和下载说明
执行文件目录结构和运行说明解压AOT可执行文件后的目录结构如下:
特殊说明
多数据库支持(感谢 EF Core)(图片16:支持多种数据库类型) Chats 的后端使用 Entity Framework Core 访问数据库,支持:
在程序首次运行且数据库不存在时,Chats 会尝试自动创建数据库、相关表并插入基础数据。 多文件服务支持(图片17:支持多种图床形式) Chats 支持本地文件、Minio/AWS S3、阿里云 OSS 和 Azure Blob Storage 五种图床形式,您可以根据需要进行配置。 我们创新性地使用了云服务厂商提供的 Presigned URL 或 SAS URL,这样可以节省 Chats 服务器的带宽,并提高图片的访问速度,增强用户体验,比如:
此外,我们引入了 用户管理与安全完善的用户管理功能(图片19:管理员的用户管理界面) 作为一款面向企业应用的软件,Sdcb Chats 提供了强大的用户管理功能。管理员可以:
用户有余额概念,模型的价格可配置。余额通过记账表实现,每一笔开销或收入都会记录,账户余额通过记账表统计,确保并发请求下余额计算的准确性。 支持 Keycloak SSO 登录(动图20:使用 Keycloak SSO 登录) 企业通常有自己的身份认证系统,如 Keycloak SSO。Chats 支持集成这些系统,登录时如果用户不存在,会自动创建。只需配置相应的 手机号码验证码登录(图片21:手机验证码登录界面) 为方便国内用户,Chats 支持手机号码验证码登录,提升用户体验和安全性。 邀请码与注册(图片22:邀请码配置界面) 如果您不想开放注册,可以使用邀请码机制。邀请码可以限制邀请次数,初始赠送金额,以及模型、token 数、使用次数和过期时间等。 (图片23:通过邀请码注册的新用户初始权限设置) 当 token 数和聊天次数都为 0 时,将使用余额,按照模型配置的价格扣费。 Sdcb Chats 现已开源!项目地址:https://github.com/sdcb/chats
Sdcb 的含义Sdcb:Serving dotNet, Constructing Brilliance(服务 .NET,构建卓越) 我们致力于为 .NET 社区和广大开发者提供高质量的开源项目。 开源协议Apache 2.0 开源协议(可免费商用) 您可以自由地使用、修改和分发 Sdcb Chats,无需商用授权。 欢迎 Star ⭐如果您觉得这个项目对您有帮助,请在 GitHub 上给我们一个 Star!您的支持是我们前进的最大动力。 感谢您的阅读和支持!让我们一起用 Sdcb Chats 探索大语言模型的无限可能! 转自https://www.cnblogs.com/sdcb/p/18597030/sdcb-chats-intro 该文章在 2024/12/16 9:58:07 编辑过 |
关键字查询
相关文章
正在查询... |