Sdcb Chats:一個(gè)全新的開源大語言模型前端
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
在當(dāng)前大語言模型(LLM)蓬勃發(fā)展的時(shí)代,各類 LLM 前端層出不窮。那么,為什么我們還需要另一個(gè) LLM 前端呢? 最初的原因在于質(zhì)感的追求。市面上已有的開源或不開源的大語言模型前端在用戶體驗(yàn)上都缺少了一些類似 ChatGPT 那樣的質(zhì)感。因此,我們打造了 Sdcb Chats——一個(gè)基于 Apache 2.0 協(xié)議開源的項(xiàng)目,旨在為用戶提供更優(yōu)質(zhì)的交互體驗(yàn)。 另一個(gè)原因是市場上幾乎沒有基于 .NET 實(shí)現(xiàn)的 LLM 前端,這讓我個(gè)人感到非常遺憾和不滿。Sdcb Chats 旨在填補(bǔ)這個(gè)空白,不僅為 .NET 社區(qū)帶來一個(gè)功能強(qiáng)大的大語言模型前端,同時(shí)也展示 .NET 在現(xiàn)代 AI 應(yīng)用中的潛力和優(yōu)勢。 消息內(nèi)容即是一棵樹在與大語言模型交互時(shí),傳統(tǒng)的對話形式可能會(huì)導(dǎo)致用戶與模型“爭吵”。Sdcb Chats 引入了樹狀消息結(jié)構(gòu),即在同一位置,用戶消息可以有多個(gè)回復(fù),LLM 的響應(yīng)也可以有多個(gè)。 這種設(shè)計(jì)的優(yōu)勢在于:
(動(dòng)圖1:Sdcb Chats 的主界面展示) 如圖,與其在聊完之后再與LLM爭吵,不如修改Prompt。 遺憾的是,在我開發(fā)Chats之前,并沒有一個(gè)開源的LLM前端支持這個(gè)功能,這也是促成我要重新再做一個(gè)的根本原因。 大語言模型功能篇多語言支持(動(dòng)圖2:通過修改瀏覽器語言,Chats 支持多語言顯示) Sdcb Chats 支持多語言界面。您只需修改瀏覽器的語言設(shè)置,Chats 就會(huì)自動(dòng)適配您的語言偏好,為全球用戶提供便捷。 聊天性能統(tǒng)計(jì)(動(dòng)圖3:詳細(xì)的聊天性能統(tǒng)計(jì)) 每次與 LLM 的對話,Chats 都會(huì)進(jìn)行詳盡的統(tǒng)計(jì),包括:
這些數(shù)據(jù)有助于您日后進(jìn)行分析和優(yōu)化。 多種大語言模型支持(動(dòng)圖4:支持多種模型提供商,內(nèi)置超過 100 款模型) Sdcb Chats 內(nèi)置了對 9 種模型提供商的支持,包括 OpenAI 兼容協(xié)議在內(nèi)。此外,還預(yù)置了超過 100 款模型的信息,方便您快速使用。 支持配置新的大語言模型(動(dòng)圖5:演示如何新增 DeepSeek 和零一萬物模型) 如果預(yù)置的模型不能滿足您的需求,您可以自行添加新的模型配置。在上述動(dòng)圖中,我們演示了如何添加 DeepSeek 和零一萬物模型。 視覺模型支持(動(dòng)圖6:支持多模態(tài)視覺模型與圖床功能) 為了增強(qiáng)用戶體驗(yàn),Chats 支持視覺模型。我們?yōu)?Chats 添加了一層圖床,方便上傳和管理圖片。支持的圖床形式包括:
API 網(wǎng)關(guān)功能(動(dòng)圖7:強(qiáng)大的 API 網(wǎng)關(guān)功能) 很多開源項(xiàng)目聲稱兼容 OpenAI API 協(xié)議的 API 網(wǎng)關(guān)功能,但可能僅僅是 HTTP 協(xié)議的轉(zhuǎn)發(fā)。Chats 的 API 網(wǎng)關(guān)不僅支持按用戶權(quán)限配置模型、限制模型量,還支持目的地為非 OpenAI 協(xié)議的模型提供商,進(jìn)行透明代理。 API 網(wǎng)關(guān)支持參數(shù)(動(dòng)圖8:全面支持 OpenAI API 的參數(shù)和功能) Chats 的 API 網(wǎng)關(guān)全面支持 OpenAI API 的所有參數(shù),包括最新的 部署與兼容性簡單部署:Docker 支持(圖片9:復(fù)雜的 GitHub Actions CICD 流程) Sdcb Chats 提供了便捷的 Docker 部署方式。我們在 GitHub Actions 中編寫了復(fù)雜的 CICD 流程,會(huì)自動(dòng)編譯包括 Windows、Linux 等 4 種不同操作系統(tǒng)的原生支持 Docker 鏡像。 動(dòng)態(tài)選擇合適的 Docker 鏡像(圖片10:通過 manifest 部署的 Docker 標(biāo)簽) 通過使用
說明:
因此,用戶在使用 請注意, 簡單部署——Linux 容器演示(動(dòng)圖11:在 Linux 上部署 Chats,雖然圖片是在Windows pwsh中演示,但我Docker Desktop啟用的是Linux容器) 在 Linux 上,您可以按照以下步驟輕松部署 Chats:
創(chuàng)建之后,默認(rèn)的用戶名為 簡單部署——Windows 容器演示(動(dòng)圖12:在 Windows 上部署 Chats) 許多朋友可能不知道,Windows 也有原生的 Docker。Chats 支持在 Windows 上以進(jìn)程隔離的方式部署 Docker,這與 Linux 的部署方式類似,但映射的目錄變?yōu)榱?nbsp; 簡單部署——可運(yùn)行文件安裝(圖片13:GitHub Actions 的 Summary 頁面) 對于不方便使用 Docker 的用戶,Sdcb Chats 提供了可直接運(yùn)行的二進(jìn)制文件。我們通過 GitHub Actions 的 Matrix strategy,自動(dòng)編譯了 8 種不同操作系統(tǒng)或平臺(tái)的 Native AOT 編譯版本。對于不便使用 Docker 部署的環(huán)境,Chats 提供了 8 種操作系統(tǒng)或架構(gòu)的直接部署選項(xiàng),您可以從以下鏈接獲取相應(yīng)的編譯包:
(圖片14:上傳到 GitHub Release 和個(gè)人 Minio 服務(wù)器的編譯文件) 考慮到國內(nèi)用戶訪問 GitHub 速度較慢,我們將編譯文件同時(shí)上傳到了個(gè)人的 Minio 服務(wù)器,方便快速下載。 (動(dòng)圖15:演示如何下載和部署 Windows 版 Chats) 直接下載適合您操作系統(tǒng)的壓縮包,解壓后雙擊 版本和下載說明
執(zhí)行文件目錄結(jié)構(gòu)和運(yùn)行說明解壓AOT可執(zhí)行文件后的目錄結(jié)構(gòu)如下:
特殊說明
多數(shù)據(jù)庫支持(感謝 EF Core)(圖片16:支持多種數(shù)據(jù)庫類型) Chats 的后端使用 Entity Framework Core 訪問數(shù)據(jù)庫,支持:
在程序首次運(yùn)行且數(shù)據(jù)庫不存在時(shí),Chats 會(huì)嘗試自動(dòng)創(chuàng)建數(shù)據(jù)庫、相關(guān)表并插入基礎(chǔ)數(shù)據(jù)。 多文件服務(wù)支持(圖片17:支持多種圖床形式) Chats 支持本地文件、Minio/AWS S3、阿里云 OSS 和 Azure Blob Storage 五種圖床形式,您可以根據(jù)需要進(jìn)行配置。 我們創(chuàng)新性地使用了云服務(wù)廠商提供的 Presigned URL 或 SAS URL,這樣可以節(jié)省 Chats 服務(wù)器的帶寬,并提高圖片的訪問速度,增強(qiáng)用戶體驗(yàn),比如:
此外,我們引入了 用戶管理與安全完善的用戶管理功能(圖片19:管理員的用戶管理界面) 作為一款面向企業(yè)應(yīng)用的軟件,Sdcb Chats 提供了強(qiáng)大的用戶管理功能。管理員可以:
用戶有余額概念,模型的價(jià)格可配置。余額通過記賬表實(shí)現(xiàn),每一筆開銷或收入都會(huì)記錄,賬戶余額通過記賬表統(tǒng)計(jì),確保并發(fā)請求下余額計(jì)算的準(zhǔn)確性。 支持 Keycloak SSO 登錄(動(dòng)圖20:使用 Keycloak SSO 登錄) 企業(yè)通常有自己的身份認(rèn)證系統(tǒng),如 Keycloak SSO。Chats 支持集成這些系統(tǒng),登錄時(shí)如果用戶不存在,會(huì)自動(dòng)創(chuàng)建。只需配置相應(yīng)的 手機(jī)號碼驗(yàn)證碼登錄(圖片21:手機(jī)驗(yàn)證碼登錄界面) 為方便國內(nèi)用戶,Chats 支持手機(jī)號碼驗(yàn)證碼登錄,提升用戶體驗(yàn)和安全性。 邀請碼與注冊(圖片22:邀請碼配置界面) 如果您不想開放注冊,可以使用邀請碼機(jī)制。邀請碼可以限制邀請次數(shù),初始贈(zèng)送金額,以及模型、token 數(shù)、使用次數(shù)和過期時(shí)間等。 (圖片23:通過邀請碼注冊的新用戶初始權(quán)限設(shè)置) 當(dāng) token 數(shù)和聊天次數(shù)都為 0 時(shí),將使用余額,按照模型配置的價(jià)格扣費(fèi)。 Sdcb Chats 現(xiàn)已開源!項(xiàng)目地址:https://github.com/sdcb/chats
Sdcb 的含義Sdcb:Serving dotNet, Constructing Brilliance(服務(wù) .NET,構(gòu)建卓越) 我們致力于為 .NET 社區(qū)和廣大開發(fā)者提供高質(zhì)量的開源項(xiàng)目。 開源協(xié)議Apache 2.0 開源協(xié)議(可免費(fèi)商用) 您可以自由地使用、修改和分發(fā) Sdcb Chats,無需商用授權(quán)。 歡迎 Star ?如果您覺得這個(gè)項(xiàng)目對您有幫助,請?jiān)?GitHub 上給我們一個(gè) Star!您的支持是我們前進(jìn)的最大動(dòng)力。 感謝您的閱讀和支持!讓我們一起用 Sdcb Chats 探索大語言模型的無限可能! 轉(zhuǎn)自https://www.cnblogs.com/sdcb/p/18597030/sdcb-chats-intro 該文章在 2024/12/16 9:58:07 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |